Function at 0x407430
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.00408cf0
add esp, 0xc
mov ecx, esi
mov edx, 1
push 0
push 0xf
push 0x20
call fcn.00408cf0
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 0x4074d0
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 0x407550
cmp eax, 0xce90fd7c
jg 0x407620
cmp eax, 0xa9ffe0ed
jg 0x407696
cmp eax, 0x8a58a0c6
jle 0x40793b
cmp eax, 0xa46f8f35
jg 0x407b20
cmp eax, 0x9d242b69
jg 0x40823b
cmp eax, 0x8a58a0c7
je 0x4087ec
cmp eax, 0x933141ef
jne 0x4074d0
mov eax, dword [esp + 0x3c]
movzx eax, byte [eax + 0x442dea]
cmp byte [esi + eax + 0x9152], 0
mov eax, 0x293bef85
je 0x4074d0
mov eax, 0xf52eab4
jmp 0x4074d0
cmp eax, 0x4cc21d1a
jg 0x4075b0
cmp eax, 0x1d34e84c
jle 0x4076eb
cmp eax, 0x304ce16e
jle 0x4078a4
cmp eax, 0x3902156e
jg 0x407a95
cmp eax, 0x36881518
jg 0x40814b
cmp eax, 0x304ce16f
je 0x4086ba
cmp eax, 0x334d5ef1
jne 0x4074d0
mov eax, 0xcee82e82
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x28], ecx
jmp 0x4074d0
cmp eax, 0x6e5594a6
jle 0x40773f
cmp eax, 0x76a841d7
jle 0x4078ed
cmp eax, 0x7c4e280d
jg 0x407ae0
cmp eax, 0x7990d947
jg 0x40817a
cmp eax, 0x76a841d8
je 0x4086dd
cmp eax, 0x7985de72
jne 0x4074d0
mov dword [esp + 0xc0], 0
mov eax, 0x57e5a164
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0x98], ecx
jmp 0x4074d0
cmp eax, 0xe16846ca
jle 0x4077b7
cmp eax, 0xee544c02
jle 0x407a39
cmp eax, 0xfaae786b
jg 0x407b73
cmp eax, 0xf3cc033f
jg 0x40829d
cmp eax, 0xee544c03
je 0x408880
cmp eax, 0xf330367a
jne 0x4074d0
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 0x4074d0
cmp eax, 0xc43732b6
jle 0x4079d6
cmp eax, 0xc7c4d268
jle 0x407bb6
cmp eax, 0xcb0f783c
jg 0x40810d
cmp eax, 0xc7c4d269
je 0x408676
cmp eax, 0xc8afa863
jne 0x4074d0
inc word [esi + 0x8636]
mov edx, dword [esp + 0xc]
mov byte [esp + edx + 0x16c], 0x12
mov eax, dword [esp + 8]
add al, 0xf5
jmp 0x4079be
cmp eax, 0x101ed7dd
jg 0x407803
cmp eax, 0x5c4d528
jle 0x407bec
cmp eax, 0xea6fe58
jg 0x407ec0
cmp eax, 0x5c4d529
je 0x408364
cmp eax, 0x6c4605d
jne 0x4074d0
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 0x4074d0
cmp eax, 0x62b3a5d1
jg 0x407841
cmp eax, 0x57e5a163
jle 0x407c3f
cmp eax, 0x5b1c1731
jg 0x407f0b
cmp eax, 0x57e5a164
je 0x40837d
cmp eax, 0x5a948812
jne 0x4074d0
mov eax, 0xfea801ce
mov ecx, dword [esp + 0x48]
cmp ecx, dword [esp + 0x160]
jb 0x40778d
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 0x4074d0
cmp eax, 0xd54ce32a
jg 0x407979
cmp eax, 0xd01ea970
jle 0x407d97
cmp eax, 0xd2b1f4c7
jg 0x408056
cmp eax, 0xd01ea971
je 0x408559
cmp eax, 0xd0827c73
jne 0x4074d0
mov eax, 0x101ed7de
mov ecx, dword [esp + 0xe4]
mov dword [esp + 0x5c], ecx
jmp 0x4074d0
cmp eax, 0x13952302
jle 0x407c82
cmp eax, 0x166a76fa
jg 0x407f41
cmp eax, 0x13952303
je 0x4083c3
cmp eax, 0x13a12bd8
jne 0x4074d0
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0x1d34e84d
jmp 0x4074d0
cmp eax, 0x679c4774
jle 0x407cb5
cmp eax, 0x6aebd82d
jg 0x407f71
cmp eax, 0x679c4775
je 0x4083f3
cmp eax, 0x6a169a5a
jne 0x4074d0
mov ecx, dword [esp + 0xa0]
mov eax, 0xe584003c
sub ecx, 1
mov dword [esp + 0x14c], ecx
jb 0x40788a
mov eax, 0x2ce818a9
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0x108], ecx
jmp 0x4074d0
cmp eax, 0x293bef84
jle 0x407cee
cmp eax, 0x2bd32b7f
jg 0x407f99
cmp eax, 0x293bef85
je 0x40848e
cmp eax, 0x2ab564b9
jne 0x4074d0
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 0x4074d0
cmp eax, 0x706a18d7
jle 0x407d29
cmp eax, 0x7476e9b2
jg 0x407fdf
cmp eax, 0x706a18d8
je 0x4084a1
cmp eax, 0x73c064b2
jne 0x4074d0
mov ecx, dword [esi + 0x30]
mov eax, 0xce90fd7d
mov dword [esp + 0x128], ecx
cmp ecx, dword [esi + 0x34]
jb 0x4074d0
mov eax, 0x129e1043
jmp 0x4074d0
cmp eax, 0x81935b6a
jle 0x407d5c
cmp eax, 0x86993c8a
jg 0x408017
cmp eax, 0x81935b6b
je 0x408508
cmp eax, 0x81961794
jne 0x4074d0
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0x4e112e9c
jmp 0x4074d0
cmp eax, 0xdaa6b4c4
jle 0x407dd2
cmp eax, 0xdd42136d
jg 0x40807e
cmp eax, 0xdaa6b4c5
je 0x40856b
cmp eax, 0xdd350a77
jne 0x4074d0
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 0x4074d0
cmp eax, 0xb2615e11
jle 0x407e15
cmp eax, 0xbcb24de4
jg 0x4080bb
cmp eax, 0xb2615e12
je 0x4085b8
cmp eax, 0xb6697a41
jne 0x4074d0
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 0x4074d0
cmp eax, 0xe584003b
jle 0x407e81
cmp eax, 0xea6e8c92
jg 0x4080e4
cmp eax, 0xe584003c
je 0x40862f
cmp eax, 0xe675efe4
jne 0x4074d0
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 0x4074d0
cmp eax, 0x3b41c197
jg 0x4081bf
cmp eax, 0x3902156f
je 0x4086fa
cmp eax, 0x3ae0e949
jne 0x4074d0
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 0x4074d0
cmp eax, 0x7e5d7d68
jg 0x4081fa
cmp eax, 0x7c4e280e
je 0x408721
cmp eax, 0x7d0b8c9a
jne 0x4074d0
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 0x4074d0
cmp eax, 0xa7e6819f
jg 0x40827d
cmp eax, 0xa46f8f36
je 0x408806
cmp eax, 0xa754b6b0
jne 0x4074d0
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 0x4074d0
cmp eax, 0xfd5b7ceb
jg 0x4082e7
cmp eax, 0xfaae786c
je 0x40889a
cmp eax, 0xfb7b04f4
jne 0x4074d0
mov ecx, dword [esi + 0x30]
mov eax, 0x76a841d8
mov dword [esp + 0x11c], ecx
cmp ecx, dword [esi + 0x34]
jb 0x4074d0
mov eax, 0x13a12bd8
jmp 0x4074d0
cmp eax, 0xc7a4a228
jg 0x408327
cmp eax, 0xc43732b7
je 0x40834b
cmp eax, 0xc786aa48
jne 0x4074d0
mov eax, 0xcee82e82
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0x28], ecx
jmp 0x4074d0
cmp eax, 0xffec68ad
je 0x4088f7
cmp eax, 0x263d7db
je 0x408a27
cmp eax, 0x588de24
jne 0x4074d0
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 0x4074d0
cmp eax, 0x4cc21d1b
je 0x4089b2
cmp eax, 0x4e112e9c
je 0x408a41
cmp eax, 0x56bd6457
jne 0x4074d0
mov ecx, dword [esi + 0x30]
mov eax, 0x2ab564b9
mov dword [esp + 0x124], ecx
cmp ecx, dword [esi + 0x34]
jb 0x4074d0
mov eax, 0x705a5ee7
jmp 0x4074d0
cmp eax, 0x101ed7de
je 0x4089e3
cmp eax, 0x10dca84e
je 0x408a63
cmp eax, 0x129e1043
jne 0x4074d0
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0xd2b1f4c8
jmp 0x4074d0
cmp eax, 0x62b3a5d2
je 0x408a0a
cmp eax, 0x62db2ca7
je 0x408a75
cmp eax, 0x664e650a
jne 0x4074d0
mov eax, 0xd0827c73
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0xe4], ecx
jmp 0x4074d0
cmp eax, 0x1d34e84d
je 0x408a87
cmp eax, 0x1e3707df
je 0x408add
cmp eax, 0x25bb672a
jne 0x4074d0
mov eax, 0xc7c4d269
cmp dword [esp + 8], 3
jb 0x4074d0
mov eax, 0xea6fe59
jmp 0x4074d0
cmp eax, 0x6e5594a7
je 0x408aa9
cmp eax, 0x7011356f
je 0x408af0
cmp eax, 0x705a5ee7
jne 0x4074d0
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0x5c4d529
jmp 0x4074d0
cmp eax, 0x80038806
je 0x408b14
cmp eax, 0x80832398
je 0x408b45
cmp eax, 0x80b4b25b
jne 0x4074d0
mov eax, 0xcee82e82
cmp dword [esp + 8], 0
je 0x408071
mov eax, 0xaa49db00
jmp 0x408071
cmp eax, 0xce90fd7d
je 0x408b57
cmp eax, 0xcee82e82
je 0x408b96
cmp eax, 0xcf65576b
jne 0x4074d0
mov eax, 0xdd350a77
cmp dword [esp + 8], 0xb
jb 0x4074d0
mov eax, 0xc8afa863
jmp 0x4074d0
cmp eax, 0xd54ce32b
je 0x408b74
cmp eax, 0xd6f632a8
je 0x408bd3
cmp eax, 0xd85c7176
jne 0x4074d0
mov ecx, dword [esi + 0x30]
mov eax, 0xcb0f783d
mov dword [esp + 0x134], ecx
cmp ecx, dword [esi + 0x34]
jb 0x4074d0
mov eax, 0x6c58b3b0
jmp 0x4074d0
cmp eax, 0xa9ffe0ee
je 0x408c0a
cmp eax, 0xaa49db00
je 0x408c75
cmp eax, 0xb077d354
jne 0x4074d0
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 0x4074d0
cmp eax, 0xe16846cb
je 0x408c44
cmp eax, 0xe5363147
je 0x408c8f
cmp eax, 0xe54b0830
jne 0x4074d0
inc word [esi + 0x8634]
mov ecx, dword [esp + 0x54]
mov byte [esp + ecx + 0x16c], 0x11
mov eax, dword [esp + 0x18]
add al, 0xfd
jmp 0x408c5d
cmp eax, 0xea6fe59
je 0x408411
cmp eax, 0xf52eab4
jne 0x4074d0
mov ecx, dword [esp + 0x3c]
mov eax, ecx
cmp ecx, 4
jge 0x407ee6
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 0x4074d0
cmp eax, 0x5b1c1732
je 0x40842b
cmp eax, 0x5c08a819
jne 0x4074d0
mov dword [esp + 0x94], 0
mov eax, 0xbcb24de5
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x78], ecx
jmp 0x4074d0
cmp eax, 0x166a76fb
je 0x408449
cmp eax, 0x18f44d18
jne 0x4074d0
mov eax, 0xe54b0830
cmp dword [esp + 0x18], 0xb
jb 0x4074d0
mov eax, 0xe16846cb
jmp 0x4074d0
cmp eax, 0x6aebd82e
je 0x408463
cmp eax, 0x6c58b3b0
jne 0x4074d0
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0xd54ce32b
jmp 0x4074d0
cmp eax, 0x2bd32b80
je 0x4084c2
cmp eax, 0x2ce818a9
jne 0x4074d0
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 0x4074d0
cmp eax, 0x7476e9b3
je 0x4084d4
cmp eax, 0x74a8506d
jne 0x4074d0
mov ecx, dword [esi + 0x30]
mov eax, 0xfd5b7cec
mov dword [esp + 0x138], ecx
cmp ecx, dword [esi + 0x34]
jb 0x4074d0
mov eax, 0x81961794
jmp 0x4074d0
cmp eax, 0x86993c8b
je 0x408528
cmp eax, 0x88404111
jne 0x4074d0
mov eax, 0xbcb24de5
cmp dword [esp + 4], 0
je 0x40803e
mov eax, 0x263d7db
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 4]
mov dword [esp + 0x94], ecx
jmp 0x4074d0
cmp eax, 0xd2b1f4c8
je 0x40858d
cmp eax, 0xd36d07f2
jne 0x4074d0
mov eax, 0xee544c03
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x28], ecx
jmp 0x4074d0
cmp eax, 0xdd42136e
je 0x4085a6
cmp eax, 0xdd777dee
jne 0x4074d0
mov eax, 0xe5363147
cmp dword [esp + 0xbc], 0x10
jae 0x4080a8
mov eax, 0xd0827c73
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0xe4], ecx
jmp 0x4074d0
cmp eax, 0xbcb24de5
je 0x4085e7
cmp eax, 0xbfc4697a
jne 0x4074d0
mov eax, dword [esp + 0x2c]
dec eax
mov dword [esp + 0x50], eax
mov eax, 0x679c4775
jmp 0x4074d0
cmp eax, 0xea6e8c93
je 0x408654
cmp eax, 0xebf4b19a
jne 0x4074d0
mov eax, dword [esp + 0x7c]
inc eax
mov dword [esp + 0x38], eax
mov eax, 0x7011356f
jmp 0x4074d0
cmp eax, 0xcb0f783d
je 0x40869d
cmp eax, 0xcdd46493
jne 0x4074d0
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 0x4074d0
cmp eax, 0x36881519
je 0x408755
cmp eax, 0x38f32cb0
jne 0x4074d0
cmp dword [esi + 0x44], 8
mov eax, 0xdaa6b4c5
jae 0x4074d0
mov eax, 0x2bd32b80
jmp 0x4074d0
cmp eax, 0x7990d948
je 0x408789
cmp eax, 0x7ad44816
jne 0x4074d0
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 0x4074d0
cmp eax, 0x3b41c198
je 0x4087c0
cmp eax, 0x422b1c78
jne 0x4074d0
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 0x4074d0
cmp eax, 0x7e5d7d69
je 0x4087ca
cmp eax, 0x7e98cb0a
jne 0x4074d0
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 0x4074d0
cmp eax, 0x9d242b6a
je 0x408833
cmp eax, 0xa25c33ab
jne 0x4074d0
mov eax, 0xc43732b7
cmp dword [esp + 8], 0
je 0x408262
mov eax, 0x25bb672a
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 8]
mov dword [esp + 0xac], ecx
jmp 0x4074d0
cmp eax, 0xa7e681a0
je 0x40885f
cmp eax, 0xa84beb1e
jne 0x4074d0
mov eax, 0x18f44d18
jmp 0x4074d0
cmp eax, 0xf3cc0340
je 0x4088bc
cmp eax, 0xf97d374d
jne 0x4074d0
mov ecx, dword [esp + 0x80]
mov eax, 0x81935b6b
sub ecx, 1
mov dword [esp + 0x15c], ecx
jb 0x4082d0
mov eax, 0x86993c8b
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x12c], ecx
mov dword [esp + 0x44], ecx
jmp 0x4074d0
cmp eax, 0xfd5b7cec
je 0x4088da
cmp eax, 0xfea801ce
jne 0x4074d0
mov eax, dword [esp + 0xd8]
movzx ecx, byte [esp + eax + 0x2ac]
mov eax, 0x88404111
mov byte [esp + 3], cl
test cl, cl
je 0x4074d0
mov eax, 0xa25c33ab
jmp 0x4074d0
cmp eax, 0xc7a4a229
jne 0x408ccf
cmp dword [esi + 0x44], 8
mov eax, 0xea6e8c93
jae 0x4074d0
mov eax, 0x664e650a
jmp 0x4074d0
mov eax, 0xa9ffe0ee
cmp byte [esp + 3], bl
je 0x4074a4
mov eax, 0x9d242b6a
jmp 0x4074a4
cmp dword [esi + 0x44], 8
mov eax, 0x56bd6457
jae 0x4074d0
mov eax, 0xebf4b19a
jmp 0x4074d0
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 0x4074d0
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 0x4074d0
mov eax, 0x706a18d8
cmp dword [esp + 0x50], 2
jge 0x408404
mov eax, 0xffec68ad
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x2c], ecx
jmp 0x4074d0
mov eax, 0x4cc21d1b
cmp dword [esp + 8], 0xb
jb 0x4074d0
mov eax, 0xf3cc0340
jmp 0x4074d0
mov eax, 0x933141ef
cmp dword [esp + 0x60], 0
jns 0x40843c
mov eax, 0xf52eab4
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x3c], ecx
jmp 0x4074d0
mov eax, 0x80b4b25b
cmp dword [esp + 4], 0
je 0x4074d0
mov eax, 0xd36d07f2
jmp 0x4074d0
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 0x4074d0
mov eax, dword [esp + 0x3c]
dec eax
mov dword [esp + 0x60], eax
mov eax, 0x5b1c1732
jmp 0x4074d0
mov eax, dword [esp + 0x2c]
cmp byte [eax + esi + 0x9031], 0
mov eax, 0xbfc4697a
je 0x4074d0
mov eax, 0xffec68ad
jmp 0x4074d0
mov dword [esp + 0x60], 0x12
mov eax, 0x5b1c1732
jmp 0x4074d0
mov ecx, dword [esp + 0xe0]
mov eax, 0x334d5ef1
sub ecx, 1
mov dword [esp + 0x13c], ecx
jb 0x4084f1
mov eax, 0x80038806
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x100], ecx
jmp 0x4074d0
mov dword [esp + 0xac], 0
mov eax, 0xc43732b7
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x84], ecx
jmp 0x4074d0
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 0x4074d0
mov dword [esp + 0x5c], 0
mov eax, 0x101ed7de
jmp 0x4074d0
mov ecx, dword [esi + 0x30]
mov eax, 0x6c4605d
mov dword [esp + 0x130], ecx
cmp ecx, dword [esi + 0x34]
jb 0x4074d0
mov eax, 0x80832398
jmp 0x4074d0
cmp dword [esi + 0x44], 8
mov eax, 0x73c064b2
jae 0x4074d0
mov eax, 0x10dca84e
jmp 0x4074d0
mov dword [esp + 0x50], 0x1e
mov eax, 0x679c4775
jmp 0x4074d0
mov ecx, ebp
mov eax, 0x422b1c78
sub ecx, 1
mov dword [esp + 0x164], ecx
jb 0x4085d0
mov eax, 0x3ae0e949
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x140], ecx
mov dword [esp + 0x40], ecx
jmp 0x4074d0
mov eax, dword [esp + 8]
lea ecx, [eax + 1]
mov eax, 0xa84beb1e
mov dword [esp + 0x18], ecx
cmp ecx, 0x8a
je 0x408604
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 0x4074d0
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 0x4074d0
mov ecx, dword [esi + 0x30]
mov eax, 0x62b3a5d2
mov dword [esp + 0x118], ecx
cmp ecx, dword [esi + 0x34]
jb 0x4074d0
mov eax, 0x62db2ca7
jmp 0x4074d0
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 0x4074d0
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 0x4074d0
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 0x4074d0
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 0x4074d0
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 0x4074d0
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 0x4074d0
mov ecx, dword [esp + 0x74]
mov eax, 0x5c08a819
sub ecx, 1
mov dword [esp + 0x168], ecx
jb 0x40876f
mov eax, 0xa46f8f36
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x154], ecx
mov dword [esp + 0x8c], ecx
jmp 0x4074d0
mov ecx, dword [esp + 0x88]
mov eax, 0x7985de72
sub ecx, 1
mov dword [esp + 0x158], ecx
jb 0x4087a6
mov eax, 0xe675efe4
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0xb8], ecx
mov dword [esp + 0x10c], ecx
jmp 0x4074d0
mov eax, 0xb6697a41
jmp 0x4074d0
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x30]
cmp byte [ecx + eax - 1], 0
mov eax, 0x1e3707df
je 0x4074d0
mov eax, 0xdd42136e
jmp 0x4074d0
mov eax, 0x7ad44816
cmp dword [esp + 4], 3
jb 0x4074d0
mov eax, 0x7c4e280e
jmp 0x4074d0
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 0x4074d0
mov eax, 0x57e5a164
cmp dword [esp + 4], 0
je 0x408844
mov eax, 0x8a58a0c7
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 4]
mov dword [esp + 0xc0], ecx
jmp 0x4074d0
mov eax, 0x7e5d7d69
cmp dword [esp + 0x34], 0x102
jge 0x408873
mov eax, 0xdd42136e
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x30], ecx
jmp 0x4074d0
mov eax, 0x7e98cb0a
cmp dword [esp + 4], 3
jb 0x4074d0
mov eax, 0xf330367a
jmp 0x4074d0
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 0x4074d0
inc word [esi + 0x8636]
mov edx, dword [esp + 0xc]
mov byte [esp + edx + 0x16c], 0x12
mov eax, dword [esp + 8]
add al, 0xf5
jmp 0x4089cb
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 0x4074d0
mov edi, dword [esp + 0x30]
push edi
push dword [esp + 0x68]
lea eax, [esp + 0x2b4]
push eax
call fcn.004097e0
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.004097e0
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 0x4074d0
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 0x4074d0
mov eax, 0xb077d354
mov ecx, dword [esp + 0xf4]
cmp dword [esp + 0x5c], ecx
jb 0x4089fa
mov eax, 0xc7a7efcb
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0xf0], ecx
jmp 0x4074d0
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 0x4074d0
mov eax, 0xcdd46493
cmp dword [esp + 4], 3
jb 0x4074d0
mov eax, 0x6e5594a7
jmp 0x4074d0
mov ecx, dword [esi + 0x44]
mov eax, 0x74a8506d
mov dword [esp + 0x114], ecx
cmp ecx, 8
jae 0x4074d0
mov eax, 0x304ce16f
jmp 0x4074d0
mov dword [esp + 0x38], 0
mov eax, 0x7011356f
jmp 0x4074d0
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0xc7a4a229
jmp 0x4074d0
mov ecx, dword [esi + 0x44]
mov eax, 0xfb7b04f4
mov dword [esp + 0xfc], ecx
cmp ecx, 8
jae 0x4074d0
mov eax, 0xdd777dee
jmp 0x4074d0
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 0x4074d0
mov eax, dword [esp + 0x30]
dec eax
mov dword [esp + 0x34], eax
mov eax, 0xa7e681a0
jmp 0x4074d0
mov eax, 0x6aebd82e
mov ecx, dword [esp + 0x120]
cmp dword [esp + 0x38], ecx
jl 0x408b07
mov eax, 0xd01ea971
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x7c], ecx
jmp 0x4074d0
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 0x4074d0
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0x38f32cb0
jmp 0x4074d0
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 0x4074d0
mov ecx, dword [esi + 0x44]
mov eax, 0xd85c7176
mov dword [esp + 0x110], ecx
cmp ecx, 8
jae 0x4074d0
mov eax, 0x7d0b8c9a
jmp 0x4074d0
mov ecx, esi
mov edx, 2
push 0
push 7
push 0x13
call fcn.00408cf0
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 0x4074d0
mov ecx, dword [esp + 0xc8]
mov eax, 0xc786aa48
sub ecx, 1
mov dword [esp + 0x144], ecx
jb 0x408bf0
mov eax, 0x13952303
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0xdc], ecx
mov dword [esp + 0x104], ecx
jmp 0x4074d0
mov eax, dword [esp + 4]
lea ecx, [eax + 1]
mov eax, 0x3b41c198
mov dword [esp + 0x10], ecx
cmp ecx, 6
je 0x408c24
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 0x4074d0
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 0x4074d0
mov eax, 0x3902156f
cmp dword [esp + 8], 3
jb 0x4074d0
mov eax, 0xcf65576b
jmp 0x4074d0
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 0x4074d0
cmp eax, 0xc7a7efcb
jne 0x4074d0
add esp, 0x3ec
pop esi
pop edi
pop ebx
pop ebp
ret