Function at 0x407420
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.00408cd0
add esp, 0xc
mov ecx, esi
mov edx, 1
push 0
push 0xf
push 0x20
call fcn.00408cd0
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, 0xeec6602e
jmp 0x4074e0
mov eax, dword [esp + 0x150]
inc word [esi + eax*2 + 0x8612]
mov ecx, dword [esp + 0x9c]
lea eax, [ecx + 1]
mov dword [esp + 0x1c], eax
movzx eax, byte [esp + 3]
mov byte [esp + ecx + 0x16c], al
mov eax, 0xb99bde98
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x10], ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp eax, 0xefcf200d
jle 0x407550
cmp eax, 0x34710f23
jg 0x407640
cmp eax, 0xf531e1f
jle 0x40769f
cmp eax, 0x23c25f81
jle 0x407956
cmp eax, 0x2e61dfd3
jg 0x407ae5
cmp eax, 0x284d1258
jg 0x4082f2
cmp eax, 0x23c25f82
je 0x408897
cmp eax, 0x24f34a2b
jne 0x4074e0
mov eax, 0xefcf200e
cmp dword [esp + 0xc], 0xb
jb 0x4074e0
mov eax, 0x6be73590
jmp 0x4074e0
cmp eax, 0xc5125d8a
jg 0x4075d0
cmp eax, 0xa20ef7c4
jle 0x407705
cmp eax, 0xb46f81e8
jle 0x4078c1
cmp eax, 0xbe4c79e3
jg 0x407a58
cmp eax, 0xb9a673ef
jg 0x40822c
cmp eax, 0xb46f81e9
je 0x40878f
cmp eax, 0xb99bde98
jne 0x4074e0
mov eax, dword [esp + 0xd8]
inc eax
mov dword [esp + 0x44], eax
mov eax, 0xc5c0a62d
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x74], ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x6c], ecx
mov bh, byte [esp + 3]
jmp 0x4074e0
cmp eax, 0xddb294e3
jle 0x40776c
cmp eax, 0xe4d91a08
jle 0x407917
cmp eax, 0xe9156aad
jg 0x407a97
cmp eax, 0xe8359a5d
jg 0x408254
cmp eax, 0xe4d91a09
je 0x4087a7
cmp eax, 0xe72a3f72
jne 0x4074e0
mov eax, dword [esp + 0x80]
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, 0xc35ce650
jmp 0x4074e0
cmp eax, 0x66ea44d6
jle 0x4077d4
cmp eax, 0x70ef6b9d
jle 0x407a0f
cmp eax, 0x7a534332
jg 0x407b18
cmp eax, 0x74d7b037
jg 0x40837f
cmp eax, 0x70ef6b9e
je 0x40890f
cmp eax, 0x73bafbad
jne 0x4074e0
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, 0xe4d91a09
jmp 0x4074e0
cmp eax, 0xfecd005d
jle 0x4079d9
cmp eax, 0xa7d1839
jg 0x407b65
cmp eax, 0x6451b74
jg 0x4081ef
cmp eax, 0xfecd005e
je 0x408745
cmp eax, 0x2a92732
jne 0x4074e0
mov ecx, ebp
mov eax, 0x54e98cab
sub ecx, 1
mov dword [esp + 0x164], ecx
jb 0x4076ee
mov eax, 0x29a03056
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x140], ecx
mov dword [esp + 0x3c], ecx
jmp 0x4074e0
cmp eax, 0x90aa0eb1
jg 0x407820
cmp eax, 0x83552214
jle 0x407bad
cmp eax, 0x8483ad9b
jg 0x407f04
cmp eax, 0x83552215
je 0x408424
cmp eax, 0x845526f6
jne 0x4074e0
mov ecx, dword [esp + 0x104]
lea eax, [ecx + 1]
mov dword [esp + 0xcc], eax
mov byte [esp + ecx + 0x16c], bl
mov eax, 0xcec7115c
mov ecx, dword [esp + 0x14c]
mov dword [esp + 0xa4], ecx
jmp 0x4074e0
cmp eax, 0xcdab5d7e
jg 0x40785e
cmp eax, 0xc607e408
jle 0x407bfd
cmp eax, 0xcba0233d
jg 0x407f34
cmp eax, 0xc607e409
je 0x408444
cmp eax, 0xc98387bd
jne 0x4074e0
mov ecx, dword [esp + 0xfc]
lea eax, [ecx + 1]
mov dword [esp + 0xe8], eax
mov byte [esp + ecx + 0x16c], 0
mov eax, 0x47991ea9
mov ecx, dword [esp + 0x13c]
mov dword [esp + 0xe0], ecx
jmp 0x4074e0
cmp eax, 0x49de6571
jg 0x407994
cmp eax, 0x3e522ad6
jle 0x407db8
cmp eax, 0x4305b906
jg 0x408070
cmp eax, 0x3e522ad7
je 0x408660
cmp eax, 0x42da9de9
jne 0x4074e0
mov eax, 0x90aa0eb2
mov ecx, dword [esp + 0xe4]
mov dword [esp + 0x58], ecx
jmp 0x4074e0
cmp eax, 0x9b5323fc
jle 0x407c5f
cmp eax, 0xa17294f2
jg 0x407f76
cmp eax, 0x9b5323fd
je 0x408476
cmp eax, 0x9e36c3fa
jne 0x4074e0
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0x6829d87a
jmp 0x4074e0
cmp eax, 0xd5189ea3
jle 0x407c9d
cmp eax, 0xd7d4a9d3
jg 0x407fc0
cmp eax, 0xd5189ea4
je 0x40848f
cmp eax, 0xd688cdd7
jne 0x4074e0
mov ecx, dword [esp + 0x8c]
mov eax, 0x284d1259
sub ecx, 1
mov dword [esp + 0x158], ecx
jb 0x4078a7
mov eax, 0xfecd005e
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0x10c], ecx
jmp 0x4074e0
cmp eax, 0xa9bfd66c
jle 0x407ce5
cmp eax, 0xaf4dba19
jg 0x407ff5
cmp eax, 0xa9bfd66d
je 0x40859c
cmp eax, 0xaa419d54
jne 0x4074e0
mov eax, dword [esp + 0xd8]
movzx ecx, byte [esp + eax + 0x2ac]
mov eax, 0xde1cf0e6
mov byte [esp + 3], cl
test cl, cl
je 0x4074e0
mov eax, 0x7b3f4375
jmp 0x4074e0
cmp eax, 0xe1c0d908
jle 0x407d23
cmp eax, 0xe4801d44
jg 0x408015
cmp eax, 0xe1c0d909
je 0x4085be
cmp eax, 0xe1e3f16b
jne 0x4074e0
mov eax, dword [esp + 0x38]
dec eax
mov dword [esp + 0x60], eax
mov eax, 0xc00ec03d
jmp 0x4074e0
cmp eax, 0xfd9eb1b
jle 0x407d75
cmp eax, 0x1a03fbf8
jg 0x40803d
cmp eax, 0xfd9eb1c
je 0x408634
cmp eax, 0x18b0bd98
jne 0x4074e0
mov dword [esp + 0x60], 0x12
mov eax, 0xc00ec03d
jmp 0x4074e0
cmp eax, 0x54e98caa
jle 0x407e0d
cmp eax, 0x5cc9d1f7
jg 0x4080ba
cmp eax, 0x54e98cab
je 0x408672
cmp eax, 0x5883d423
jne 0x4074e0
cmp dword [esi + 0x44], 8
mov eax, 0xe8c51e8a
jae 0x4074e0
mov eax, 0x34710f24
jmp 0x4074e0
cmp eax, 0xf9d80528
jle 0x407e63
cmp eax, 0xfd76a6b5
jg 0x4080ee
cmp eax, 0xf9d80529
je 0x4086cc
cmp eax, 0xfcaeeb61
jne 0x4074e0
mov eax, 0x397ad613
jmp 0x4074e0
cmp eax, 0x6be7358f
jle 0x407ec1
cmp eax, 0x6ff9eae9
jg 0x4081bf
cmp eax, 0x6be73590
je 0x408714
cmp eax, 0x6e35f2e4
jne 0x4074e0
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, 0x3e522ad7
jmp 0x4074e0
cmp eax, 0xc24231c8
jg 0x40828c
cmp eax, 0xbe4c79e4
je 0x4087b9
cmp eax, 0xc00ec03d
jne 0x4074e0
mov eax, 0xb9a673f0
cmp dword [esp + 0x60], 0
jns 0x407a8a
mov eax, 0x4f43b1bc
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x38], ecx
jmp 0x4074e0
cmp eax, 0xecd22b8a
jg 0x4082bb
cmp eax, 0xe9156aae
je 0x4087d7
cmp eax, 0xec127d9c
jne 0x4074e0
mov eax, dword [esp + 0x154]
lea ecx, [eax + 1]
mov dword [esp + 0x94], ecx
mov byte [esp + eax + 0x16c], bl
mov eax, 0xa188fc99
mov ecx, dword [esp + 0x168]
mov dword [esp + 0x78], ecx
jmp 0x4074e0
cmp eax, 0x32ccbf71
jg 0x408332
cmp eax, 0x2e61dfd4
je 0x4088b5
cmp eax, 0x30ceea30
jne 0x4074e0
mov dword [esp + 0x4c], 0x1e
mov eax, 0x62586b33
jmp 0x4074e0
cmp eax, 0x7c2cfae3
jg 0x4083d6
cmp eax, 0x7a534333
je 0x408936
cmp eax, 0x7b3f4375
jne 0x4074e0
mov eax, 0x76256b02
cmp dword [esp + 0xc], 0
je 0x407b4a
mov eax, 0x74d7b038
mov ecx, dword [esp + 8]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xb0], ecx
jmp 0x4074e0
cmp eax, 0xe29534a
jle 0x408406
cmp eax, 0xe29534b
je 0x407494
cmp eax, 0xf208314
jne 0x4074e0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0xc]
add word [eax], cx
mov eax, 0x8483ad9c
mov edx, dword [esp + 8]
mov dword [esp + 0xac], edx
mov dword [esp + 0x84], ecx
jmp 0x4074e0
cmp eax, 0x801cf252
je 0x4089b2
cmp eax, 0x80c00e70
je 0x408a51
cmp eax, 0x824832b6
jne 0x4074e0
mov ecx, dword [esp + 4]
mov eax, dword [esp + 0xd0]
add word [esi + eax*2 + 0x8612], cx
mov eax, 0xd688cdd7
mov edx, dword [esp + 0x14]
mov dword [esp + 0xb8], edx
mov dword [esp + 0x8c], ecx
jmp 0x4074e0
cmp eax, 0xc5125d8b
je 0x4089d4
cmp eax, 0xc5576fb9
je 0x408a63
cmp eax, 0xc5c0a62d
jne 0x4074e0
mov eax, 0xaa419d54
mov ecx, dword [esp + 0x44]
cmp ecx, dword [esp + 0x160]
jb 0x407c35
mov eax, 0x32ccbf72
mov bl, bh
mov ecx, dword [esp + 0x6c]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0xd8], ecx
jmp 0x4074e0
cmp eax, 0x90aa0eb2
je 0x4089f6
cmp eax, 0x9401393d
je 0x408a94
cmp eax, 0x97522f7a
jne 0x4074e0
movzx eax, byte [esi + 0x48]
mov edx, dword [esp + 0xf4]
lea ecx, [edx + 1]
mov dword [esi + 0x30], ecx
mov byte [edx], al
mov eax, 0x9e36c3fa
jmp 0x4074e0
cmp eax, 0xcdab5d7f
je 0x408a1d
cmp eax, 0xcec7115c
je 0x408ab5
cmp eax, 0xd191acf0
jne 0x4074e0
mov eax, 0x7a534333
cmp dword [esp + 0xc0], 0x10
jae 0x407cd2
mov eax, 0x42da9de9
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0xe4], ecx
jmp 0x4074e0
cmp eax, 0xa20ef7c5
je 0x408ae9
cmp eax, 0xa47a2e88
je 0x408b2d
cmp eax, 0xa810dc48
jne 0x4074e0
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, 0x66ea44d7
jmp 0x4074e0
cmp eax, 0xddb294e4
je 0x408b0b
cmp eax, 0xde1cf0e6
je 0x408b4b
cmp eax, 0xde531b1b
jne 0x4074e0
mov eax, dword [esp + 0x12c]
lea ecx, [eax + 1]
mov dword [esp + 0xac], ecx
mov byte [esp + eax + 0x16c], 0
mov eax, 0x8483ad9c
mov ecx, dword [esp + 0x15c]
mov dword [esp + 0x84], ecx
jmp 0x4074e0
cmp eax, 0xf531e20
je 0x408b74
cmp eax, 0xf79091c
je 0x408b86
cmp eax, 0xfbd6650
jne 0x4074e0
mov ecx, dword [esi + 0x44]
mov eax, 0xe9156aae
mov dword [esp + 0x118], ecx
cmp ecx, 8
jae 0x4074e0
mov eax, 0xe8359a5e
jmp 0x4074e0
cmp eax, 0x34710f24
je 0x408bba
cmp eax, 0x36b78756
je 0x408be2
cmp eax, 0x397ad613
jne 0x4074e0
inc word [esi + 0x8632]
mov edx, dword [esp + 0x14]
mov byte [esp + edx + 0x16c], 0x10
mov eax, dword [esp + 0xa8]
add al, 0xfd
lea ecx, [edx + 2]
mov dword [esp + 0x68], ecx
mov byte [esp + edx + 0x16d], al
mov eax, 0xc5125d8b
jmp 0x4074e0
cmp eax, 0x49de6572
je 0x408bcc
cmp eax, 0x4a5d62df
je 0x408c0a
cmp eax, 0x4f43b1bc
jne 0x4074e0
mov ecx, dword [esp + 0x38]
mov eax, ecx
cmp ecx, 4
jge 0x407e3e
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, 0x5883d423
jmp 0x4074e0
cmp eax, 0xefcf200e
je 0x408c3a
cmp eax, 0xf2e1c797
je 0x408c7d
cmp eax, 0xf8a9fc61
jne 0x4074e0
mov ecx, esi
mov edx, 2
push 0
push 7
push 0x13
call fcn.00408cd0
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, 0xfbd6650
mov ecx, dword [esp + 0x28]
mov dword [esp + 0xf0], ecx
jmp 0x4074e0
cmp eax, 0x66ea44d7
je 0x408c6b
cmp eax, 0x6829d87a
je 0x408c97
cmp eax, 0x6ac6108c
jne 0x4074e0
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x30]
cmp byte [ecx + eax - 1], 0
mov eax, 0x6ff9eaea
je 0x4074e0
mov eax, 0x30ceea30
jmp 0x4074e0
cmp eax, 0x8483ad9c
je 0x4084a1
cmp eax, 0x8a921d85
jne 0x4074e0
mov eax, 0xfd76a6b6
cmp dword [esp + 4], 3
jb 0x4074e0
mov eax, 0xd7d4a9d4
jmp 0x4074e0
cmp eax, 0xcba0233e
je 0x4084d5
cmp eax, 0xcd68cdbe
jne 0x4074e0
mov eax, 0xe29534b
cmp dword [esp + 4], 0
je 0x407f5b
mov eax, 0x7e13dba0
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 4]
mov dword [esp + 0xc4], ecx
jmp 0x4074e0
cmp eax, 0xa17294f3
je 0x408520
cmp eax, 0xa188fc99
jne 0x4074e0
mov ecx, dword [esp + 0x78]
mov eax, 0x4305b907
sub ecx, 1
mov dword [esp + 0x168], ecx
jb 0x407fa6
mov eax, 0xec127d9c
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x154], ecx
mov dword [esp + 0x90], ecx
jmp 0x4074e0
cmp eax, 0xd7d4a9d4
je 0x408568
cmp eax, 0xdd1d820f
jne 0x4074e0
mov eax, dword [esp + 0x2c]
dec eax
mov ecx, dword [esp + 0x114]
shl eax, cl
or dword [esi + 0x48], eax
add dword [esi + 0x44], 5
mov eax, 0x9b5323fd
jmp 0x4074e0
cmp eax, 0xaf4dba1a
je 0x4085f8
cmp eax, 0xb43d6ed3
jne 0x4074e0
mov eax, 0x8a921d85
jmp 0x408b3e
cmp eax, 0xe4801d45
je 0x408612
cmp eax, 0xe493944c
jne 0x4074e0
mov eax, 0xf8a9fc61
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x28], ecx
jmp 0x4074e0
cmp eax, 0x1a03fbf9
je 0x408656
cmp eax, 0x1e51bc1a
jne 0x4074e0
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, 0x80c00e70
jmp 0x4074e0
cmp eax, 0x4305b907
je 0x408697
cmp eax, 0x47991ea9
jne 0x4074e0
mov ecx, dword [esp + 0xe0]
mov eax, 0xe493944c
sub ecx, 1
mov dword [esp + 0x13c], ecx
jb 0x4080a3
mov eax, 0xc98387bd
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0x54], ecx
mov dword [esp + 0xfc], ecx
jmp 0x4074e0
cmp eax, 0x5cc9d1f8
je 0x4086b7
cmp eax, 0x62586b33
jne 0x4074e0
mov eax, 0x9401393d
cmp dword [esp + 0x4c], 2
jge 0x4080e1
mov eax, 0xfe33ea17
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x2c], ecx
jmp 0x4074e0
cmp eax, 0xfd76a6b6
je 0x4086e9
cmp eax, 0xfe33ea17
jne 0x4074e0
mov edi, dword [esp + 0x30]
push edi
push dword [esp + 0x68]
lea eax, [esp + 0x2b4]
push eax
call fcn.00409890
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.00409890
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 + 0x44], 0
mov eax, 0xc5c0a62d
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x6c], 0
jmp 0x4074e0
cmp eax, 0x6ff9eaea
je 0x408732
cmp eax, 0x702a62a9
jne 0x4074e0
mov eax, 0x36b78756
cmp dword [esp + 4], 3
jb 0x4074e0
mov eax, 0xf79091c
jmp 0x4074e0
cmp eax, 0x6451b75
je 0x408775
cmp eax, 0xa2da0d9
jne 0x4074e0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0xc]
add word [eax], cx
mov eax, 0x47991ea9
mov edx, dword [esp + 8]
mov dword [esp + 0xe8], edx
mov dword [esp + 0xe0], ecx
jmp 0x4074e0
cmp eax, 0xb9a673f0
je 0x4087f9
cmp eax, 0xbd007bde
jne 0x4074e0
mov dword [esp + 0x58], 0
mov eax, 0x90aa0eb2
jmp 0x4074e0
cmp eax, 0xe8359a5e
je 0x408821
cmp eax, 0xe8c51e8a
jne 0x4074e0
mov ecx, dword [esi + 0x30]
mov eax, 0x1e51bc1a
mov dword [esp + 0x128], ecx
cmp ecx, dword [esi + 0x34]
jb 0x4074e0
mov eax, 0x80c00e70
jmp 0x4074e0
cmp eax, 0xc24231c9
je 0x408844
cmp eax, 0xc35ce650
jne 0x4074e0
cmp dword [esi + 0x44], 8
mov eax, 0xa9bfd66d
jae 0x4074e0
mov eax, 0x49de6572
jmp 0x4074e0
cmp eax, 0xecd22b8b
je 0x408866
cmp eax, 0xeec6602e
jne 0x4074e0
mov eax, 0x6ac6108c
cmp dword [esp + 0x34], 0x102
jge 0x4082e5
mov eax, 0x30ceea30
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x30], ecx
jmp 0x4074e0
cmp eax, 0x284d1259
je 0x4088d2
cmp eax, 0x29a03056
jne 0x4074e0
mov eax, dword [esp + 0x140]
lea ecx, [eax + 1]
mov dword [esp + 0xa0], ecx
mov byte [esp + eax + 0x16c], 0
mov eax, 0x2a92732
mov ebp, dword [esp + 0x164]
jmp 0x4074e0
cmp eax, 0x32ccbf72
je 0x4088f5
cmp eax, 0x33005090
jne 0x4074e0
mov ecx, dword [esp + 0xc8]
mov eax, 0x5cc9d1f8
sub ecx, 1
mov dword [esp + 0x144], ecx
jb 0x408365
mov eax, 0x4a5d62df
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0xdc], ecx
mov dword [esp + 0x100], ecx
jmp 0x4074e0
cmp eax, 0x74d7b038
je 0x408976
cmp eax, 0x76256b02
jne 0x4074e0
mov eax, 0xe1c0d909
cmp byte [esp + 3], bl
je 0x4083a5
mov eax, 0xcd68cdbe
movzx ecx, byte [esp + 3]
mov dword [esp + 0x150], ecx
movzx ecx, bl
mov dword [esp + 0xd0], ecx
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x14], ecx
jmp 0x4074e0
cmp eax, 0x7c2cfae4
je 0x408990
cmp eax, 0x7e13dba0
jne 0x4074e0
mov eax, 0x824832b6
cmp dword [esp + 4], 3
jb 0x4074e0
mov eax, 0xcdab5d7f
jmp 0x4074e0
cmp eax, 0xa7d183a
jne 0x408cb0
mov eax, dword [esp + 0x2c]
dec eax
mov dword [esp + 0x4c], eax
mov eax, 0x62586b33
jmp 0x4074e0
mov dword [esp + 0xb0], 0
mov eax, 0x76256b02
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x88], ecx
jmp 0x4074e0
mov eax, dword [esp + 0xd0]
mov edx, dword [esp + 0xa8]
add word [esi + eax*2 + 0x8612], dx
mov eax, 0xcec7115c
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xa4], edx
jmp 0x4074e0
cmp dword [esi + 0x44], 8
mov eax, 0xfd9eb1c
jae 0x4074e0
mov eax, 0x18b0bd98
jmp 0x4074e0
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0x801cf252
jmp 0x4074e0
mov ecx, dword [esp + 0x84]
mov eax, 0x83552215
sub ecx, 1
mov dword [esp + 0x15c], ecx
jb 0x4084be
mov eax, 0xde531b1b
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x12c], ecx
mov dword [esp + 0x40], ecx
jmp 0x4074e0
mov edi, ebp
mov ebp, dword [esp + 0xf8]
movzx edx, byte [esp + ebp + 0x16c]
movzx eax, word [esi + edx*2 + 0x8cd2]
mov ecx, dword [esi + 0x44]
shl eax, cl
mov dword [esp + 0xc0], 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 + 0xb4], eax
mov dword [esi + 0x44], edx
mov eax, 0xddb294e4
jmp 0x4074e0
mov eax, dword [esp + 0xc]
lea ecx, [eax + 1]
mov eax, 0x1a03fbf9
mov dword [esp + 0x20], ecx
cmp ecx, 0x8a
je 0x40853d
mov eax, 0xb99bde98
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x1c], edx
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x148], ecx
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], ecx
jmp 0x4074e0
inc word [esi + 0x8632]
mov edx, dword [esp + 8]
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, 0x5cc9d1f8
jmp 0x4074e0
mov ecx, dword [esi + 0x30]
mov eax, 0x2e61dfd4
mov dword [esp + 0x124], ecx
cmp ecx, dword [esi + 0x34]
jb 0x4074e0
mov eax, 0xf531e20
jmp 0x4074e0
mov eax, dword [esp + 4]
lea ecx, [eax + 1]
mov eax, 0xfcaeeb61
mov dword [esp + 0x10], ecx
cmp ecx, 6
je 0x4085d8
mov eax, 0xb99bde98
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xa8], ecx
jmp 0x4074e0
mov eax, 0xa2da0d9
cmp dword [esp + 0xc], 3
jb 0x4074e0
mov eax, 0x6451b75
jmp 0x4074e0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
add word [eax], cx
mov eax, 0x2a92732
mov edx, dword [esp + 0x50]
mov dword [esp + 0xa0], edx
mov ebp, ecx
jmp 0x4074e0
mov ecx, dword [esi + 0x30]
mov eax, 0x73bafbad
mov dword [esp + 0x130], ecx
cmp ecx, dword [esi + 0x34]
jb 0x4074e0
mov eax, 0xe4d91a09
jmp 0x4074e0
mov eax, 0xf2e1c797
jmp 0x4074e0
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0xddb294e4
jmp 0x4074e0
mov dword [esp + 0x18], 0
mov eax, 0xb99bde98
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x148]
mov dword [esp + 0x10], ecx
jmp 0x4074e0
mov dword [esp + 0x98], 0
mov eax, 0xa17294f3
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x7c], ecx
jmp 0x4074e0
mov eax, 0xf8a9fc61
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0x28], ecx
jmp 0x4074e0
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, 0xd5189ea4
jmp 0x4074e0
movzx eax, bl
mov ecx, dword [esp + 4]
add word [esi + eax*2 + 0x8612], cx
mov eax, 0x33005090
mov edx, dword [esp + 8]
mov dword [esp + 0xd4], edx
mov dword [esp + 0xc8], ecx
jmp 0x4074e0
inc word [esi + 0x8636]
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x16c], 0x12
mov eax, dword [esp + 0xc]
add al, 0xf5
jmp 0x408c53
mov eax, dword [esp + 0x30]
dec eax
mov dword [esp + 0x34], eax
mov eax, 0xeec6602e
jmp 0x4074e0
mov ecx, dword [esp + 0x10c]
lea eax, [ecx + 1]
mov dword [esp + 0xb8], eax
mov byte [esp + ecx + 0x16c], bl
mov eax, 0xd688cdd7
mov ecx, dword [esp + 0x158]
mov dword [esp + 0x8c], ecx
jmp 0x4074e0
mov eax, 0xecd22b8b
cmp dword [esp + 0xc], 0xb
jb 0x4074e0
mov eax, 0xbe4c79e4
jmp 0x4074e0
mov eax, 0x42da9de9
mov ecx, dword [esp + 0x108]
mov dword [esp + 0xe4], ecx
jmp 0x4074e0
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0x9b5323fd
jmp 0x4074e0
inc word [esi + 0x8636]
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x16c], 0x12
mov eax, dword [esp + 0xc]
add al, 0xf5
jmp 0x40887f
mov ecx, dword [esi + 0x30]
mov eax, 0xa810dc48
mov dword [esp + 0x138], ecx
cmp ecx, dword [esi + 0x34]
jb 0x4074e0
mov eax, 0x66ea44d7
jmp 0x4074e0
mov eax, dword [esp + 0x38]
movzx eax, byte [eax + 0x442dea]
cmp byte [esi + eax + 0x9152], 0
mov eax, 0xe1e3f16b
je 0x4074e0
mov eax, 0x4f43b1bc
jmp 0x4074e0
mov eax, dword [esp + 0x30]
add eax, 0xfffffeff
mov ecx, dword [esp + 0x118]
shl eax, cl
or dword [esi + 0x48], eax
add dword [esi + 0x44], 5
mov eax, 0x801cf252
jmp 0x4074e0
mov ecx, dword [esi + 0x30]
mov eax, 0x6e35f2e4
mov dword [esp + 0x11c], ecx
cmp ecx, dword [esi + 0x34]
jb 0x4074e0
mov eax, 0x3e522ad7
jmp 0x4074e0
inc word [esi + 0x8634]
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x16c], 0x11
mov eax, dword [esp + 0xc]
add al, 0xfd
lea ecx, [edx + 2]
mov dword [esp + 0x54], ecx
mov byte [esp + edx + 0x16d], al
mov eax, 0xe493944c
jmp 0x4074e0
inc word [esi + 0x8634]
mov ecx, dword [esp + 0x50]
mov byte [esp + ecx + 0x16c], 0x11
mov eax, dword [esp + 0x20]
add al, 0xfd
jmp 0x408a7c
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, 0xf531e20
jmp 0x4074e0
mov dword [esp + 0xc4], 0
mov eax, 0xe29534b
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0x9c], ecx
jmp 0x4074e0
mov eax, 0xa47a2e88
cmp dword [esp + 4], 0
je 0x4074e0
mov eax, 0xb43d6ed3
jmp 0x4074e0
mov eax, 0xe72a3f72
mov ecx, dword [esp + 0x120]
cmp dword [esp + 0x5c], ecx
jl 0x408926
mov eax, 0xbd007bde
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x80], ecx
jmp 0x4074e0
mov edi, dword [esp + 0xb4]
movzx eax, byte [esp + edi + 0x16c]
mov edx, dword [esp + 0xc0]
movsx edx, byte [edx + 0x443bc4]
mov ecx, dword [esp + 0x110]
shl eax, cl
or dword [esi + 0x48], eax
lea eax, [edi + 1]
mov dword [esp + 0x108], eax
add dword [esi + 0x44], edx
mov eax, 0x6829d87a
jmp 0x4074e0
mov eax, 0xf208314
cmp dword [esp + 0xc], 3
jb 0x4074e0
mov eax, 0x24f34a2b
jmp 0x4074e0
mov ecx, dword [esi + 0x30]
mov eax, 0xf9d80529
mov dword [esp + 0x134], ecx
cmp ecx, dword [esi + 0x34]
jb 0x4074e0
mov eax, 0xd5189ea4
jmp 0x4074e0
mov ecx, dword [esi + 0x44]
mov eax, 0x7c2cfae4
mov dword [esp + 0x114], ecx
cmp ecx, 8
jae 0x4074e0
mov eax, 0xdd1d820f
jmp 0x4074e0
mov dword [esp + 0x10], 0
mov eax, 0xb99bde98
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x18], ecx
jmp 0x4074e0
mov eax, 0xcba0233e
mov ecx, dword [esp + 0xf0]
cmp dword [esp + 0x58], ecx
jb 0x408a0d
mov eax, 0xb86a531
mov ecx, dword [esp + 0x58]
mov dword [esp + 0xf8], ecx
jmp 0x4074e0
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 + 0xbc], edx
mov byte [esp + ecx + 0x16d], al
mov eax, 0x284d1259
jmp 0x4074e0
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0x5883d423
jmp 0x4074e0
inc word [esi + 0x8636]
mov ecx, dword [esp + 0x50]
mov byte [esp + ecx + 0x16c], 0x12
mov eax, dword [esp + 0x20]
add al, 0xf5
lea edx, [ecx + 2]
mov dword [esp + 0x3c], edx
mov byte [esp + ecx + 0x16d], al
mov eax, 0x54e98cab
jmp 0x4074e0
mov eax, dword [esp + 0x2c]
cmp byte [eax + esi + 0x9031], 0
mov eax, 0xa7d183a
je 0x4074e0
mov eax, 0xfe33ea17
jmp 0x4074e0
mov ecx, dword [esp + 0xa4]
mov eax, 0xc5125d8b
sub ecx, 1
mov dword [esp + 0x14c], ecx
jb 0x408ad2
mov eax, 0x845526f6
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x104], ecx
jmp 0x4074e0
mov ecx, dword [esi + 0x30]
mov eax, 0x97522f7a
mov dword [esp + 0xf4], ecx
cmp ecx, dword [esi + 0x34]
jb 0x4074e0
mov eax, 0x9e36c3fa
jmp 0x4074e0
mov ecx, dword [esi + 0x44]
mov eax, 0xc24231c9
mov dword [esp + 0x110], ecx
cmp ecx, 8
jae 0x4074e0
mov eax, 0xd191acf0
jmp 0x4074e0
mov eax, 0xf8a9fc61
cmp dword [esp + 0xc], 0
je 0x408b3e
mov eax, 0xaf4dba1a
mov ecx, dword [esp + 8]
mov dword [esp + 0x28], ecx
jmp 0x4074e0
mov eax, 0xa17294f3
cmp dword [esp + 4], 0
je 0x408b5c
mov eax, 0x702a62a9
mov ecx, dword [esp + 8]
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 4]
mov dword [esp + 0x98], ecx
jmp 0x4074e0
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0xc35ce650
jmp 0x4074e0
inc word [esi + 0x8632]
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x16c], 0x10
mov eax, dword [esp + 4]
add al, 0xfd
lea ecx, [edx + 2]
mov dword [esp + 0x90], ecx
mov byte [esp + edx + 0x16d], al
mov eax, 0x4305b907
jmp 0x4074e0
mov dword [esp + 0x5c], 0
mov eax, 0x70ef6b9e
jmp 0x4074e0
mov eax, dword [esp + 0x80]
inc eax
mov dword [esp + 0x5c], eax
mov eax, 0x70ef6b9e
jmp 0x4074e0
movzx eax, bl
mov ecx, dword [esp + 4]
add word [esi + eax*2 + 0x8612], cx
mov eax, 0xa188fc99
mov edx, dword [esp + 8]
mov dword [esp + 0x94], edx
mov dword [esp + 0x78], ecx
jmp 0x4074e0
mov ecx, dword [esp + 0x100]
lea eax, [ecx + 1]
mov dword [esp + 0xd4], eax
mov byte [esp + ecx + 0x16c], bl
mov eax, 0x33005090
mov ecx, dword [esp + 0x144]
mov dword [esp + 0xc8], ecx
jmp 0x4074e0
inc word [esi + 0x8634]
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x16c], 0x11
mov eax, dword [esp + 0xc]
add al, 0xfd
lea ecx, [edx + 2]
mov dword [esp + 0x40], ecx
mov byte [esp + edx + 0x16d], al
mov eax, 0x83552215
jmp 0x4074e0
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0xfbd6650
jmp 0x4074e0
mov eax, 0x23c25f82
cmp dword [esp + 0x20], 0xb
jb 0x4074e0
mov eax, 0xc5576fb9
jmp 0x4074e0
cmp dword [esi + 0x44], 8
mov eax, 0xa20ef7c5
jae 0x4074e0
mov eax, 0xb46f81e9
jmp 0x4074e0
cmp eax, 0xb86a531
jne 0x4074e0
add esp, 0x3ec
pop esi
pop edi
pop ebx
pop ebp
ret