Function at 0x408050
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x3ec
mov esi, dword [esp + 0x400]
mov word [esi + 0x8392], 1
mov ecx, esi
xor edx, edx
push 0
push 0xf
push 0x120
call fcn.004098f0
add esp, 0xc
mov ecx, esi
mov edx, 1
push 0
push 0xf
push 0x20
call fcn.004098f0
add esp, 0xc
lea eax, [esi + 0x8f12]
mov dword [esp + 0x64], eax
lea eax, [esi + 0x9032]
mov dword [esp + 0xec], eax
lea eax, [esi + 0x8612]
mov dword [esp + 0x24], eax
mov dword [esp + 0x34], 0x11e
mov eax, 0xa7e681a0
jmp 0x4080d0
movzx ecx, byte [esp + 3]
mov dword [esp + 0x150], ecx
movzx ecx, bl
mov dword [esp + 0xd0], ecx
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x14], ecx
cmp eax, 0xffec68ac
jg 0x408150
cmp eax, 0xce90fd7c
jg 0x408220
cmp eax, 0xa9ffe0ed
jg 0x408296
cmp eax, 0x8a58a0c6
jle 0x40853b
cmp eax, 0xa46f8f35
jg 0x408720
cmp eax, 0x9d242b69
jg 0x408e3b
cmp eax, 0x8a58a0c7
je 0x4093ec
cmp eax, 0x933141ef
jne 0x4080d0
mov eax, dword [esp + 0x3c]
movzx eax, byte [eax + 0x442dea]
cmp byte [esi + eax + 0x9152], 0
mov eax, 0x293bef85
je 0x4080d0
mov eax, 0xf52eab4
jmp 0x4080d0
cmp eax, 0x4cc21d1a
jg 0x4081b0
cmp eax, 0x1d34e84c
jle 0x4082eb
cmp eax, 0x304ce16e
jle 0x4084a4
cmp eax, 0x3902156e
jg 0x408695
cmp eax, 0x36881518
jg 0x408d4b
cmp eax, 0x304ce16f
je 0x4092ba
cmp eax, 0x334d5ef1
jne 0x4080d0
mov eax, 0xcee82e82
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x28], ecx
jmp 0x4080d0
cmp eax, 0x6e5594a6
jle 0x40833f
cmp eax, 0x76a841d7
jle 0x4084ed
cmp eax, 0x7c4e280d
jg 0x4086e0
cmp eax, 0x7990d947
jg 0x408d7a
cmp eax, 0x76a841d8
je 0x4092dd
cmp eax, 0x7985de72
jne 0x4080d0
mov dword [esp + 0xc0], 0
mov eax, 0x57e5a164
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0x98], ecx
jmp 0x4080d0
cmp eax, 0xe16846ca
jle 0x4083b7
cmp eax, 0xee544c02
jle 0x408639
cmp eax, 0xfaae786b
jg 0x408773
cmp eax, 0xf3cc033f
jg 0x408e9d
cmp eax, 0xee544c03
je 0x409480
cmp eax, 0xf330367a
jne 0x4080d0
inc word [esi + 0x8632]
mov edx, dword [esp + 0xc]
mov byte [esp + edx + 0x16c], 0x10
mov eax, dword [esp + 4]
add al, 0xfd
lea ecx, [edx + 2]
mov dword [esp + 0xdc], ecx
mov byte [esp + edx + 0x16d], al
mov eax, 0xc786aa48
jmp 0x4080d0
cmp eax, 0xc43732b6
jle 0x4085d6
cmp eax, 0xc7c4d268
jle 0x4087b6
cmp eax, 0xcb0f783c
jg 0x408d0d
cmp eax, 0xc7c4d269
je 0x409276
cmp eax, 0xc8afa863
jne 0x4080d0
inc word [esi + 0x8636]
mov edx, dword [esp + 0xc]
mov byte [esp + edx + 0x16c], 0x12
mov eax, dword [esp + 8]
add al, 0xf5
jmp 0x4085be
cmp eax, 0x101ed7dd
jg 0x408403
cmp eax, 0x5c4d528
jle 0x4087ec
cmp eax, 0xea6fe58
jg 0x408ac0
cmp eax, 0x5c4d529
je 0x408f64
cmp eax, 0x6c4605d
jne 0x4080d0
movzx eax, byte [esi + 0x48]
mov edi, dword [esp + 0x130]
lea ecx, [edi + 1]
mov dword [esi + 0x30], ecx
mov byte [edi], al
mov eax, 0x80832398
jmp 0x4080d0
cmp eax, 0x62b3a5d1
jg 0x408441
cmp eax, 0x57e5a163
jle 0x40883f
cmp eax, 0x5b1c1731
jg 0x408b0b
cmp eax, 0x57e5a164
je 0x408f7d
cmp eax, 0x5a948812
jne 0x4080d0
mov eax, 0xfea801ce
mov ecx, dword [esp + 0x48]
cmp ecx, dword [esp + 0x160]
jb 0x40838d
mov eax, 0x166a76fb
mov bl, bh
mov ecx, dword [esp + 0x68]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0xd8], ecx
jmp 0x4080d0
cmp eax, 0xd54ce32a
jg 0x408579
cmp eax, 0xd01ea970
jle 0x408997
cmp eax, 0xd2b1f4c7
jg 0x408c56
cmp eax, 0xd01ea971
je 0x409159
cmp eax, 0xd0827c73
jne 0x4080d0
mov eax, 0x101ed7de
mov ecx, dword [esp + 0xe4]
mov dword [esp + 0x5c], ecx
jmp 0x4080d0
cmp eax, 0x13952302
jle 0x408882
cmp eax, 0x166a76fa
jg 0x408b41
cmp eax, 0x13952303
je 0x408fc3
cmp eax, 0x13a12bd8
jne 0x4080d0
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0x1d34e84d
jmp 0x4080d0
cmp eax, 0x679c4774
jle 0x4088b5
cmp eax, 0x6aebd82d
jg 0x408b71
cmp eax, 0x679c4775
je 0x408ff3
cmp eax, 0x6a169a5a
jne 0x4080d0
mov ecx, dword [esp + 0xa0]
mov eax, 0xe584003c
sub ecx, 1
mov dword [esp + 0x14c], ecx
jb 0x40848a
mov eax, 0x2ce818a9
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0x108], ecx
jmp 0x4080d0
cmp eax, 0x293bef84
jle 0x4088ee
cmp eax, 0x2bd32b7f
jg 0x408b99
cmp eax, 0x293bef85
je 0x40908e
cmp eax, 0x2ab564b9
jne 0x4080d0
movzx eax, byte [esi + 0x48]
mov edi, dword [esp + 0x124]
lea ecx, [edi + 1]
mov dword [esi + 0x30], ecx
mov byte [edi], al
mov eax, 0x705a5ee7
jmp 0x4080d0
cmp eax, 0x706a18d7
jle 0x408929
cmp eax, 0x7476e9b2
jg 0x408bdf
cmp eax, 0x706a18d8
je 0x4090a1
cmp eax, 0x73c064b2
jne 0x4080d0
mov ecx, dword [esi + 0x30]
mov eax, 0xce90fd7d
mov dword [esp + 0x128], ecx
cmp ecx, dword [esi + 0x34]
jb 0x4080d0
mov eax, 0x129e1043
jmp 0x4080d0
cmp eax, 0x81935b6a
jle 0x40895c
cmp eax, 0x86993c8a
jg 0x408c17
cmp eax, 0x81935b6b
je 0x409108
cmp eax, 0x81961794
jne 0x4080d0
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0x4e112e9c
jmp 0x4080d0
cmp eax, 0xdaa6b4c4
jle 0x4089d2
cmp eax, 0xdd42136d
jg 0x408c7e
cmp eax, 0xdaa6b4c5
je 0x40916b
cmp eax, 0xdd350a77
jne 0x4080d0
inc word [esi + 0x8634]
mov edx, dword [esp + 0xc]
mov byte [esp + edx + 0x16c], 0x11
mov eax, dword [esp + 8]
add al, 0xfd
lea ecx, [edx + 2]
mov dword [esp + 0x58], ecx
mov byte [esp + edx + 0x16d], al
mov eax, 0x334d5ef1
jmp 0x4080d0
cmp eax, 0xb2615e11
jle 0x408a15
cmp eax, 0xbcb24de4
jg 0x408cbb
cmp eax, 0xb2615e12
je 0x4091b8
cmp eax, 0xb6697a41
jne 0x4080d0
inc word [esi + 0x8632]
mov edx, dword [esp + 0x14]
mov byte [esp + edx + 0x16c], 0x10
mov eax, dword [esp + 0xa4]
add al, 0xfd
lea ecx, [edx + 2]
mov dword [esp + 0xc4], ecx
mov byte [esp + edx + 0x16d], al
mov eax, 0xe584003c
jmp 0x4080d0
cmp eax, 0xe584003b
jle 0x408a81
cmp eax, 0xea6e8c92
jg 0x408ce4
cmp eax, 0xe584003c
je 0x40922f
cmp eax, 0xe675efe4
jne 0x4080d0
mov ecx, dword [esp + 0x10c]
lea eax, [ecx + 1]
mov dword [esp + 0xb4], eax
mov byte [esp + ecx + 0x16c], bl
mov eax, 0x7990d948
mov ecx, dword [esp + 0x158]
mov dword [esp + 0x88], ecx
jmp 0x4080d0
cmp eax, 0x3b41c197
jg 0x408dbf
cmp eax, 0x3902156f
je 0x4092fa
cmp eax, 0x3ae0e949
jne 0x4080d0
mov eax, dword [esp + 0x140]
lea ecx, [eax + 1]
mov dword [esp + 0x9c], ecx
mov byte [esp + eax + 0x16c], 0
mov eax, 0xb2615e12
mov ebp, dword [esp + 0x164]
jmp 0x4080d0
cmp eax, 0x7e5d7d68
jg 0x408dfa
cmp eax, 0x7c4e280e
je 0x409321
cmp eax, 0x7d0b8c9a
jne 0x4080d0
mov eax, dword [esp + 0x2c]
dec eax
mov ecx, dword [esp + 0x110]
shl eax, cl
or dword [esi + 0x48], eax
add dword [esi + 0x44], 5
mov eax, 0x38f32cb0
jmp 0x4080d0
cmp eax, 0xa7e6819f
jg 0x408e7d
cmp eax, 0xa46f8f36
je 0x409406
cmp eax, 0xa754b6b0
jne 0x4080d0
mov eax, dword [esp + 0xd0]
mov edx, dword [esp + 0xa4]
add word [esi + eax*2 + 0x8612], dx
mov eax, 0x6a169a5a
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xa0], edx
jmp 0x4080d0
cmp eax, 0xfd5b7ceb
jg 0x408ee7
cmp eax, 0xfaae786c
je 0x40949a
cmp eax, 0xfb7b04f4
jne 0x4080d0
mov ecx, dword [esi + 0x30]
mov eax, 0x76a841d8
mov dword [esp + 0x11c], ecx
cmp ecx, dword [esi + 0x34]
jb 0x4080d0
mov eax, 0x13a12bd8
jmp 0x4080d0
cmp eax, 0xc7a4a228
jg 0x408f27
cmp eax, 0xc43732b7
je 0x408f4b
cmp eax, 0xc786aa48
jne 0x4080d0
mov eax, 0xcee82e82
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0x28], ecx
jmp 0x4080d0
cmp eax, 0xffec68ad
je 0x4094f7
cmp eax, 0x263d7db
je 0x409627
cmp eax, 0x588de24
jne 0x4080d0
mov eax, dword [esp + 0xd8]
inc eax
mov dword [esp + 0x48], eax
mov eax, 0x5a948812
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x68], ecx
mov bh, byte [esp + 3]
jmp 0x4080d0
cmp eax, 0x4cc21d1b
je 0x4095b2
cmp eax, 0x4e112e9c
je 0x409641
cmp eax, 0x56bd6457
jne 0x4080d0
mov ecx, dword [esi + 0x30]
mov eax, 0x2ab564b9
mov dword [esp + 0x124], ecx
cmp ecx, dword [esi + 0x34]
jb 0x4080d0
mov eax, 0x705a5ee7
jmp 0x4080d0
cmp eax, 0x101ed7de
je 0x4095e3
cmp eax, 0x10dca84e
je 0x409663
cmp eax, 0x129e1043
jne 0x4080d0
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0xd2b1f4c8
jmp 0x4080d0
cmp eax, 0x62b3a5d2
je 0x40960a
cmp eax, 0x62db2ca7
je 0x409675
cmp eax, 0x664e650a
jne 0x4080d0
mov eax, 0xd0827c73
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0xe4], ecx
jmp 0x4080d0
cmp eax, 0x1d34e84d
je 0x409687
cmp eax, 0x1e3707df
je 0x4096dd
cmp eax, 0x25bb672a
jne 0x4080d0
mov eax, 0xc7c4d269
cmp dword [esp + 8], 3
jb 0x4080d0
mov eax, 0xea6fe59
jmp 0x4080d0
cmp eax, 0x6e5594a7
je 0x4096a9
cmp eax, 0x7011356f
je 0x4096f0
cmp eax, 0x705a5ee7
jne 0x4080d0
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0x5c4d529
jmp 0x4080d0
cmp eax, 0x80038806
je 0x409714
cmp eax, 0x80832398
je 0x409745
cmp eax, 0x80b4b25b
jne 0x4080d0
mov eax, 0xcee82e82
cmp dword [esp + 8], 0
je 0x408c71
mov eax, 0xaa49db00
jmp 0x408c71
cmp eax, 0xce90fd7d
je 0x409757
cmp eax, 0xcee82e82
je 0x409796
cmp eax, 0xcf65576b
jne 0x4080d0
mov eax, 0xdd350a77
cmp dword [esp + 8], 0xb
jb 0x4080d0
mov eax, 0xc8afa863
jmp 0x4080d0
cmp eax, 0xd54ce32b
je 0x409774
cmp eax, 0xd6f632a8
je 0x4097d3
cmp eax, 0xd85c7176
jne 0x4080d0
mov ecx, dword [esi + 0x30]
mov eax, 0xcb0f783d
mov dword [esp + 0x134], ecx
cmp ecx, dword [esi + 0x34]
jb 0x4080d0
mov eax, 0x6c58b3b0
jmp 0x4080d0
cmp eax, 0xa9ffe0ee
je 0x40980a
cmp eax, 0xaa49db00
je 0x409875
cmp eax, 0xb077d354
jne 0x4080d0
mov edi, ebp
mov ebp, dword [esp + 0xf0]
movzx edx, byte [esp + ebp + 0x16c]
movzx eax, word [esi + edx*2 + 0x8cd2]
mov ecx, dword [esi + 0x44]
shl eax, cl
mov dword [esp + 0xbc], edx
movzx edx, byte [esi + edx + 0x9152]
or dword [esi + 0x48], eax
add edx, ecx
lea eax, [ebp + 1]
mov ebp, edi
mov dword [esp + 0xb0], eax
mov dword [esi + 0x44], edx
mov eax, 0x1d34e84d
jmp 0x4080d0
cmp eax, 0xe16846cb
je 0x409844
cmp eax, 0xe5363147
je 0x40988f
cmp eax, 0xe54b0830
jne 0x4080d0
inc word [esi + 0x8634]
mov ecx, dword [esp + 0x54]
mov byte [esp + ecx + 0x16c], 0x11
mov eax, dword [esp + 0x18]
add al, 0xfd
jmp 0x40985d
cmp eax, 0xea6fe59
je 0x409011
cmp eax, 0xf52eab4
jne 0x4080d0
mov ecx, dword [esp + 0x3c]
mov eax, ecx
cmp ecx, 4
jge 0x408ae6
mov eax, 3
lea ecx, [eax + 1]
mov dword [esp + 0x120], ecx
add eax, 0xfffffffd
mov ecx, dword [esi + 0x44]
shl eax, cl
or dword [esi + 0x48], eax
add ecx, 4
mov dword [esi + 0x44], ecx
mov eax, 0xd2b1f4c8
jmp 0x4080d0
cmp eax, 0x5b1c1732
je 0x40902b
cmp eax, 0x5c08a819
jne 0x4080d0
mov dword [esp + 0x94], 0
mov eax, 0xbcb24de5
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x78], ecx
jmp 0x4080d0
cmp eax, 0x166a76fb
je 0x409049
cmp eax, 0x18f44d18
jne 0x4080d0
mov eax, 0xe54b0830
cmp dword [esp + 0x18], 0xb
jb 0x4080d0
mov eax, 0xe16846cb
jmp 0x4080d0
cmp eax, 0x6aebd82e
je 0x409063
cmp eax, 0x6c58b3b0
jne 0x4080d0
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0xd54ce32b
jmp 0x4080d0
cmp eax, 0x2bd32b80
je 0x4090c2
cmp eax, 0x2ce818a9
jne 0x4080d0
mov ecx, dword [esp + 0x108]
lea eax, [ecx + 1]
mov dword [esp + 0xcc], eax
mov byte [esp + ecx + 0x16c], bl
mov eax, 0x6a169a5a
mov ecx, dword [esp + 0x14c]
mov dword [esp + 0xa0], ecx
jmp 0x4080d0
cmp eax, 0x7476e9b3
je 0x4090d4
cmp eax, 0x74a8506d
jne 0x4080d0
mov ecx, dword [esi + 0x30]
mov eax, 0xfd5b7cec
mov dword [esp + 0x138], ecx
cmp ecx, dword [esi + 0x34]
jb 0x4080d0
mov eax, 0x81961794
jmp 0x4080d0
cmp eax, 0x86993c8b
je 0x409128
cmp eax, 0x88404111
jne 0x4080d0
mov eax, 0xbcb24de5
cmp dword [esp + 4], 0
je 0x408c3e
mov eax, 0x263d7db
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 4]
mov dword [esp + 0x94], ecx
jmp 0x4080d0
cmp eax, 0xd2b1f4c8
je 0x40918d
cmp eax, 0xd36d07f2
jne 0x4080d0
mov eax, 0xee544c03
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x28], ecx
jmp 0x4080d0
cmp eax, 0xdd42136e
je 0x4091a6
cmp eax, 0xdd777dee
jne 0x4080d0
mov eax, 0xe5363147
cmp dword [esp + 0xbc], 0x10
jae 0x408ca8
mov eax, 0xd0827c73
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0xe4], ecx
jmp 0x4080d0
cmp eax, 0xbcb24de5
je 0x4091e7
cmp eax, 0xbfc4697a
jne 0x4080d0
mov eax, dword [esp + 0x2c]
dec eax
mov dword [esp + 0x50], eax
mov eax, 0x679c4775
jmp 0x4080d0
cmp eax, 0xea6e8c93
je 0x409254
cmp eax, 0xebf4b19a
jne 0x4080d0
mov eax, dword [esp + 0x7c]
inc eax
mov dword [esp + 0x38], eax
mov eax, 0x7011356f
jmp 0x4080d0
cmp eax, 0xcb0f783d
je 0x40929d
cmp eax, 0xcdd46493
jne 0x4080d0
movzx eax, bl
mov ecx, dword [esp + 4]
add word [esi + eax*2 + 0x8612], cx
mov eax, 0x36881519
mov edx, dword [esp + 0xc]
mov dword [esp + 0x90], edx
mov dword [esp + 0x74], ecx
jmp 0x4080d0
cmp eax, 0x36881519
je 0x409355
cmp eax, 0x38f32cb0
jne 0x4080d0
cmp dword [esi + 0x44], 8
mov eax, 0xdaa6b4c5
jae 0x4080d0
mov eax, 0x2bd32b80
jmp 0x4080d0
cmp eax, 0x7990d948
je 0x409389
cmp eax, 0x7ad44816
jne 0x4080d0
mov ecx, dword [esp + 4]
mov eax, dword [esp + 0xd0]
add word [esi + eax*2 + 0x8612], cx
mov eax, 0x7990d948
mov edx, dword [esp + 0x14]
mov dword [esp + 0xb4], edx
mov dword [esp + 0x88], ecx
jmp 0x4080d0
cmp eax, 0x3b41c198
je 0x4093c0
cmp eax, 0x422b1c78
jne 0x4080d0
mov dword [esp + 0x1c], 0
mov eax, 0x588de24
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x148]
mov dword [esp + 0x10], ecx
jmp 0x4080d0
cmp eax, 0x7e5d7d69
je 0x4093ca
cmp eax, 0x7e98cb0a
jne 0x4080d0
movzx eax, bl
mov ecx, dword [esp + 4]
add word [esi + eax*2 + 0x8612], cx
mov eax, 0xd6f632a8
mov edx, dword [esp + 0xc]
mov dword [esp + 0xd4], edx
mov dword [esp + 0xc8], ecx
jmp 0x4080d0
cmp eax, 0x9d242b6a
je 0x409433
cmp eax, 0xa25c33ab
jne 0x4080d0
mov eax, 0xc43732b7
cmp dword [esp + 8], 0
je 0x408e62
mov eax, 0x25bb672a
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 8]
mov dword [esp + 0xac], ecx
jmp 0x4080d0
cmp eax, 0xa7e681a0
je 0x40945f
cmp eax, 0xa84beb1e
jne 0x4080d0
mov eax, 0x18f44d18
jmp 0x4080d0
cmp eax, 0xf3cc0340
je 0x4094bc
cmp eax, 0xf97d374d
jne 0x4080d0
mov ecx, dword [esp + 0x80]
mov eax, 0x81935b6b
sub ecx, 1
mov dword [esp + 0x15c], ecx
jb 0x408ed0
mov eax, 0x86993c8b
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x12c], ecx
mov dword [esp + 0x44], ecx
jmp 0x4080d0
cmp eax, 0xfd5b7cec
je 0x4094da
cmp eax, 0xfea801ce
jne 0x4080d0
mov eax, dword [esp + 0xd8]
movzx ecx, byte [esp + eax + 0x2ac]
mov eax, 0x88404111
mov byte [esp + 3], cl
test cl, cl
je 0x4080d0
mov eax, 0xa25c33ab
jmp 0x4080d0
cmp eax, 0xc7a4a229
jne 0x4098cf
cmp dword [esi + 0x44], 8
mov eax, 0xea6e8c93
jae 0x4080d0
mov eax, 0x664e650a
jmp 0x4080d0
mov eax, 0xa9ffe0ee
cmp byte [esp + 3], bl
je 0x4080a4
mov eax, 0x9d242b6a
jmp 0x4080a4
cmp dword [esi + 0x44], 8
mov eax, 0x56bd6457
jae 0x4080d0
mov eax, 0xebf4b19a
jmp 0x4080d0
mov eax, dword [esp + 0x150]
inc word [esi + eax*2 + 0x8612]
mov ecx, dword [esp + 0x98]
lea eax, [ecx + 1]
mov dword [esp + 0x20], eax
movzx eax, byte [esp + 3]
mov byte [esp + ecx + 0x16c], al
mov eax, 0x588de24
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0x10], ecx
jmp 0x4080d0
mov ecx, dword [esp + 0x104]
lea eax, [ecx + 1]
mov dword [esp + 0xd4], eax
mov byte [esp + ecx + 0x16c], bl
mov eax, 0xd6f632a8
mov ecx, dword [esp + 0x144]
mov dword [esp + 0xc8], ecx
jmp 0x4080d0
mov eax, 0x706a18d8
cmp dword [esp + 0x50], 2
jge 0x409004
mov eax, 0xffec68ad
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x2c], ecx
jmp 0x4080d0
mov eax, 0x4cc21d1b
cmp dword [esp + 8], 0xb
jb 0x4080d0
mov eax, 0xf3cc0340
jmp 0x4080d0
mov eax, 0x933141ef
cmp dword [esp + 0x60], 0
jns 0x40903c
mov eax, 0xf52eab4
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x3c], ecx
jmp 0x4080d0
mov eax, 0x80b4b25b
cmp dword [esp + 4], 0
je 0x4080d0
mov eax, 0xd36d07f2
jmp 0x4080d0
mov eax, dword [esp + 0x7c]
movzx eax, byte [eax + 0x442dea]
movzx eax, byte [esi + eax + 0x9152]
mov ecx, dword [esi + 0x44]
shl eax, cl
or dword [esi + 0x48], eax
add ecx, 3
mov dword [esi + 0x44], ecx
mov eax, 0x5c4d529
jmp 0x4080d0
mov eax, dword [esp + 0x3c]
dec eax
mov dword [esp + 0x60], eax
mov eax, 0x5b1c1732
jmp 0x4080d0
mov eax, dword [esp + 0x2c]
cmp byte [eax + esi + 0x9031], 0
mov eax, 0xbfc4697a
je 0x4080d0
mov eax, 0xffec68ad
jmp 0x4080d0
mov dword [esp + 0x60], 0x12
mov eax, 0x5b1c1732
jmp 0x4080d0
mov ecx, dword [esp + 0xe0]
mov eax, 0x334d5ef1
sub ecx, 1
mov dword [esp + 0x13c], ecx
jb 0x4090f1
mov eax, 0x80038806
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x100], ecx
jmp 0x4080d0
mov dword [esp + 0xac], 0
mov eax, 0xc43732b7
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x84], ecx
jmp 0x4080d0
mov eax, dword [esp + 0x12c]
lea ecx, [eax + 1]
mov dword [esp + 0xa8], ecx
mov byte [esp + eax + 0x16c], 0
mov eax, 0xf97d374d
mov ecx, dword [esp + 0x15c]
mov dword [esp + 0x80], ecx
jmp 0x4080d0
mov dword [esp + 0x5c], 0
mov eax, 0x101ed7de
jmp 0x4080d0
mov ecx, dword [esi + 0x30]
mov eax, 0x6c4605d
mov dword [esp + 0x130], ecx
cmp ecx, dword [esi + 0x34]
jb 0x4080d0
mov eax, 0x80832398
jmp 0x4080d0
cmp dword [esi + 0x44], 8
mov eax, 0x73c064b2
jae 0x4080d0
mov eax, 0x10dca84e
jmp 0x4080d0
mov dword [esp + 0x50], 0x1e
mov eax, 0x679c4775
jmp 0x4080d0
mov ecx, ebp
mov eax, 0x422b1c78
sub ecx, 1
mov dword [esp + 0x164], ecx
jb 0x4091d0
mov eax, 0x3ae0e949
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x140], ecx
mov dword [esp + 0x40], ecx
jmp 0x4080d0
mov eax, dword [esp + 8]
lea ecx, [eax + 1]
mov eax, 0xa84beb1e
mov dword [esp + 0x18], ecx
cmp ecx, 0x8a
je 0x409204
mov eax, 0x588de24
mov edx, dword [esp + 0x78]
mov dword [esp + 0x20], edx
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x148], ecx
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x10], ecx
jmp 0x4080d0
mov dword [esp + 0x10], 0
mov eax, 0x588de24
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x1c], ecx
jmp 0x4080d0
mov ecx, dword [esi + 0x30]
mov eax, 0x62b3a5d2
mov dword [esp + 0x118], ecx
cmp ecx, dword [esi + 0x34]
jb 0x4080d0
mov eax, 0x62db2ca7
jmp 0x4080d0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 8]
add word [eax], cx
mov eax, 0xf97d374d
mov edx, dword [esp + 0xc]
mov dword [esp + 0xa8], edx
mov dword [esp + 0x80], ecx
jmp 0x4080d0
movzx eax, byte [esi + 0x48]
mov edi, dword [esp + 0x134]
lea ecx, [edi + 1]
mov dword [esi + 0x30], ecx
mov byte [edi], al
mov eax, 0x6c58b3b0
jmp 0x4080d0
mov eax, dword [esp + 0x30]
add eax, 0xfffffeff
mov ecx, dword [esp + 0x114]
shl eax, cl
or dword [esi + 0x48], eax
add dword [esi + 0x44], 5
mov eax, 0xd54ce32b
jmp 0x4080d0
movzx eax, byte [esi + 0x48]
mov edx, dword [esp + 0x11c]
lea ecx, [edx + 1]
mov dword [esi + 0x30], ecx
mov byte [edx], al
mov eax, 0x13a12bd8
jmp 0x4080d0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 8]
add word [eax], cx
mov eax, 0x7476e9b3
mov edx, dword [esp + 0xc]
mov dword [esp + 0xe8], edx
mov dword [esp + 0xe0], ecx
jmp 0x4080d0
inc word [esi + 0x8632]
mov ecx, dword [esp + 0x14]
mov byte [esp + ecx + 0x16c], 0x10
mov eax, dword [esp + 4]
add al, 0xfd
lea edx, [ecx + 2]
mov dword [esp + 0xb8], edx
mov byte [esp + ecx + 0x16d], al
mov eax, 0x7985de72
jmp 0x4080d0
mov ecx, dword [esp + 0x74]
mov eax, 0x5c08a819
sub ecx, 1
mov dword [esp + 0x168], ecx
jb 0x40936f
mov eax, 0xa46f8f36
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x154], ecx
mov dword [esp + 0x8c], ecx
jmp 0x4080d0
mov ecx, dword [esp + 0x88]
mov eax, 0x7985de72
sub ecx, 1
mov dword [esp + 0x158], ecx
jb 0x4093a6
mov eax, 0xe675efe4
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0xb8], ecx
mov dword [esp + 0x10c], ecx
jmp 0x4080d0
mov eax, 0xb6697a41
jmp 0x4080d0
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x30]
cmp byte [ecx + eax - 1], 0
mov eax, 0x1e3707df
je 0x4080d0
mov eax, 0xdd42136e
jmp 0x4080d0
mov eax, 0x7ad44816
cmp dword [esp + 4], 3
jb 0x4080d0
mov eax, 0x7c4e280e
jmp 0x4080d0
mov eax, dword [esp + 0x154]
lea ecx, [eax + 1]
mov dword [esp + 0x90], ecx
mov byte [esp + eax + 0x16c], bl
mov eax, 0x36881519
mov ecx, dword [esp + 0x168]
mov dword [esp + 0x74], ecx
jmp 0x4080d0
mov eax, 0x57e5a164
cmp dword [esp + 4], 0
je 0x409444
mov eax, 0x8a58a0c7
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 4]
mov dword [esp + 0xc0], ecx
jmp 0x4080d0
mov eax, 0x7e5d7d69
cmp dword [esp + 0x34], 0x102
jge 0x409473
mov eax, 0xdd42136e
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x30], ecx
jmp 0x4080d0
mov eax, 0x7e98cb0a
cmp dword [esp + 4], 3
jb 0x4080d0
mov eax, 0xf330367a
jmp 0x4080d0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
add word [eax], cx
mov eax, 0xb2615e12
mov edx, dword [esp + 0x54]
mov dword [esp + 0x9c], edx
mov ebp, ecx
jmp 0x4080d0
inc word [esi + 0x8636]
mov edx, dword [esp + 0xc]
mov byte [esp + edx + 0x16c], 0x12
mov eax, dword [esp + 8]
add al, 0xf5
jmp 0x4095cb
movzx eax, byte [esi + 0x48]
mov edi, dword [esp + 0x138]
lea ecx, [edi + 1]
mov dword [esi + 0x30], ecx
mov byte [edi], al
mov eax, 0x81961794
jmp 0x4080d0
mov edi, dword [esp + 0x30]
push edi
push dword [esp + 0x68]
lea eax, [esp + 0x2b4]
push eax
call fcn.0040a3e0
add esp, 0xc
lea eax, [esp + edi]
add eax, 0x2ac
mov esi, dword [esp + 0x2c]
push esi
push dword [esp + 0xf0]
push eax
call fcn.0040a3e0
add esp, 0xc
lea eax, [esi + edi]
mov dword [esp + 0x160], eax
mov esi, dword [esp + 0x400]
mov eax, dword [esp + 0x24]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x20], 0
mov word [eax + 0x24], 0
mov bh, 0xff
mov dword [esp + 0x48], 0
mov eax, 0x5a948812
mov dword [esp + 0x70], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x68], 0
jmp 0x4080d0
inc word [esi + 0x8634]
mov edx, dword [esp + 0xc]
mov byte [esp + edx + 0x16c], 0x11
mov eax, dword [esp + 8]
add al, 0xfd
lea ecx, [edx + 2]
mov dword [esp + 0x44], ecx
mov byte [esp + edx + 0x16d], al
mov eax, 0x81935b6b
jmp 0x4080d0
mov eax, 0xb077d354
mov ecx, dword [esp + 0xf4]
cmp dword [esp + 0x5c], ecx
jb 0x4095fa
mov eax, 0xc7a7efcb
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0xf0], ecx
jmp 0x4080d0
movzx eax, byte [esi + 0x48]
mov edx, dword [esp + 0x118]
lea ecx, [edx + 1]
mov dword [esi + 0x30], ecx
mov byte [edx], al
mov eax, 0x62db2ca7
jmp 0x4080d0
mov eax, 0xcdd46493
cmp dword [esp + 4], 3
jb 0x4080d0
mov eax, 0x6e5594a7
jmp 0x4080d0
mov ecx, dword [esi + 0x44]
mov eax, 0x74a8506d
mov dword [esp + 0x114], ecx
cmp ecx, 8
jae 0x4080d0
mov eax, 0x304ce16f
jmp 0x4080d0
mov dword [esp + 0x38], 0
mov eax, 0x7011356f
jmp 0x4080d0
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0xc7a4a229
jmp 0x4080d0
mov ecx, dword [esi + 0x44]
mov eax, 0xfb7b04f4
mov dword [esp + 0xfc], ecx
cmp ecx, 8
jae 0x4080d0
mov eax, 0xdd777dee
jmp 0x4080d0
inc word [esi + 0x8632]
mov edx, dword [esp + 0xc]
mov byte [esp + edx + 0x16c], 0x10
mov eax, dword [esp + 4]
add al, 0xfd
lea ecx, [edx + 2]
mov dword [esp + 0x8c], ecx
mov byte [esp + edx + 0x16d], al
mov eax, 0x5c08a819
jmp 0x4080d0
mov eax, dword [esp + 0x30]
dec eax
mov dword [esp + 0x34], eax
mov eax, 0xa7e681a0
jmp 0x4080d0
mov eax, 0x6aebd82e
mov ecx, dword [esp + 0x120]
cmp dword [esp + 0x38], ecx
jl 0x409707
mov eax, 0xd01ea971
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x7c], ecx
jmp 0x4080d0
mov ecx, dword [esp + 0x100]
lea eax, [ecx + 1]
mov dword [esp + 0xe8], eax
mov byte [esp + ecx + 0x16c], 0
mov eax, 0x7476e9b3
mov ecx, dword [esp + 0x13c]
mov dword [esp + 0xe0], ecx
jmp 0x4080d0
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0x38f32cb0
jmp 0x4080d0
movzx eax, byte [esi + 0x48]
mov edi, dword [esp + 0x128]
lea ecx, [edi + 1]
mov dword [esi + 0x30], ecx
mov byte [edi], al
mov eax, 0x129e1043
jmp 0x4080d0
mov ecx, dword [esi + 0x44]
mov eax, 0xd85c7176
mov dword [esp + 0x110], ecx
cmp ecx, 8
jae 0x4080d0
mov eax, 0x7d0b8c9a
jmp 0x4080d0
mov ecx, esi
mov edx, 2
push 0
push 7
push 0x13
call fcn.004098f0
add esp, 0xc
mov ecx, dword [esi + 0x44]
mov eax, 2
shl eax, cl
or dword [esi + 0x48], eax
add ecx, 2
mov dword [esi + 0x44], ecx
mov eax, 0x4e112e9c
mov ecx, dword [esp + 0x28]
mov dword [esp + 0xf4], ecx
jmp 0x4080d0
mov ecx, dword [esp + 0xc8]
mov eax, 0xc786aa48
sub ecx, 1
mov dword [esp + 0x144], ecx
jb 0x4097f0
mov eax, 0x13952303
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0xdc], ecx
mov dword [esp + 0x104], ecx
jmp 0x4080d0
mov eax, dword [esp + 4]
lea ecx, [eax + 1]
mov eax, 0x3b41c198
mov dword [esp + 0x10], ecx
cmp ecx, 6
je 0x409824
mov eax, 0x588de24
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xa4], ecx
jmp 0x4080d0
inc word [esi + 0x8636]
mov ecx, dword [esp + 0x54]
mov byte [esp + ecx + 0x16c], 0x12
mov eax, dword [esp + 0x18]
add al, 0xf5
lea edx, [ecx + 2]
mov dword [esp + 0x40], edx
mov byte [esp + ecx + 0x16d], al
mov eax, 0x422b1c78
jmp 0x4080d0
mov eax, 0x3902156f
cmp dword [esp + 8], 3
jb 0x4080d0
mov eax, 0xcf65576b
jmp 0x4080d0
mov edi, dword [esp + 0xb0]
movzx eax, byte [esp + edi + 0x16c]
mov edx, dword [esp + 0xbc]
movsx edx, byte [edx + 0x443bc4]
mov ecx, dword [esp + 0xfc]
shl eax, cl
or dword [esi + 0x48], eax
lea eax, [edi + 1]
mov dword [esp + 0xf8], eax
add dword [esi + 0x44], edx
mov eax, 0xc7a4a229
jmp 0x4080d0
cmp eax, 0xc7a7efcb
jne 0x4080d0
add esp, 0x3ec
pop esi
pop edi
pop ebx
pop ebp
ret