Function at 0x407db0
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.00409670
add esp, 0xc
mov ecx, esi
mov edx, 1
push 0
push 0xf
push 0x20
call fcn.00409670
add esp, 0xc
lea eax, [esi + 0x8f12]
mov dword [esp + 0x68], eax
lea eax, [esi + 0x9032]
mov dword [esp + 0xec], eax
lea eax, [esi + 0x8612]
mov dword [esp + 0x28], eax
mov dword [esp + 0x38], 0x11e
mov eax, 0x640b42b5
jmp 0x407e30
mov eax, dword [esp + 0x34]
add eax, 0xfffffeff
mov ecx, dword [esp + 0x11c]
shl eax, cl
or dword [esi + 0x48], eax
add dword [esi + 0x44], 5
mov eax, 0x2cadce36
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp eax, 0xf84ee055
jg 0x407ea0
cmp eax, 0xc0f9f650
jg 0x407fa0
cmp eax, 0xa460d5ab
jg 0x407ff4
cmp eax, 0x94aab77f
jle 0x4082c1
cmp eax, 0x9c67769f
jg 0x40842a
cmp eax, 0x96e1e07e
jg 0x408b97
cmp eax, 0x94aab780
je 0x409205
cmp eax, 0x96678144
jne 0x407e30
mov eax, 0xb0902030
mov ecx, dword [esp + 0xe4]
mov dword [esp + 0x5c], ecx
jmp 0x407e30
cmp eax, 0x44c7370d
jg 0x407f10
cmp eax, 0xf5f950b
jle 0x408058
cmp eax, 0x26edfbbc
jle 0x40821c
cmp eax, 0x3cf3e084
jg 0x4083bd
cmp eax, 0x2cadce35
jg 0x408a90
cmp eax, 0x26edfbbd
je 0x409035
cmp eax, 0x2b1c22be
jne 0x407e30
mov dword [esp + 0x14], 0
mov eax, 0x4aec7d8c
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x20], ecx
jmp 0x407e30
cmp eax, 0x5ae20b7a
jle 0x4080a9
cmp eax, 0x65f504fe
jle 0x40827c
cmp eax, 0x733a9d3d
jg 0x4083f7
cmp eax, 0x6ce6b1dd
jg 0x408ad0
cmp eax, 0x65f504ff
je 0x40905c
cmp eax, 0x67f927f7
jne 0x407e30
mov eax, 0x2e444b18
mov ecx, dword [esp + 0x48]
cmp ecx, dword [esp + 0x160]
jb 0x407f69
mov eax, 0xfe8b0063
movzx ecx, byte [esp + 0x13]
mov byte [esp + 2], cl
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 + 0x48]
mov dword [esp + 0xd8], ecx
jmp 0x407e30
cmp eax, 0xdc27729c
jle 0x408117
cmp eax, 0xe36a5398
jle 0x408387
cmp eax, 0xea3b2e9f
jg 0x408469
cmp eax, 0xe5a76e85
jg 0x408c1d
cmp eax, 0xe36a5399
je 0x40927a
cmp eax, 0xe5149683
jne 0x407e30
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0xdd8e08c1
jmp 0x407e30
cmp eax, 0xb090202f
jg 0x408349
cmp eax, 0xae3f5a8a
jg 0x4084b4
cmp eax, 0xac627534
jg 0x408a34
cmp eax, 0xa460d5ac
je 0x408fee
cmp eax, 0xac439ca0
jne 0x407e30
movzx eax, byte [esp + 2]
mov ecx, dword [esp + 4]
add word [esi + eax*2 + 0x8612], cx
mov eax, 0x5e996b6b
mov edx, dword [esp + 8]
mov dword [esp + 0xd4], edx
mov dword [esp + 0xc8], ecx
jmp 0x407e30
cmp eax, 0x591f737
jg 0x40816c
cmp eax, 0xfbab99c3
jle 0x4084f7
cmp eax, 0x2d53ef4
jg 0x4087b0
cmp eax, 0xfbab99c4
je 0x408cff
cmp eax, 0xfe8b0063
jne 0x407e30
mov eax, 0xdc27729d
cmp dword [esp + 4], 0
je 0x407e30
mov eax, 0xdf357e07
jmp 0x407e30
cmp eax, 0x4fcfeb72
jg 0x4081b6
cmp eax, 0x4a04b742
jle 0x408549
cmp eax, 0x4af1826f
jg 0x4087e3
cmp eax, 0x4a04b743
je 0x408d33
cmp eax, 0x4aec7d8c
jne 0x407e30
mov eax, dword [esp + 0xd8]
inc eax
mov dword [esp + 0x48], eax
mov eax, 0x67f927f7
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x74], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x6c], ecx
movzx ecx, byte [esp + 3]
mov byte [esp + 0x13], cl
jmp 0x407e30
cmp eax, 0xd4b41b9f
jg 0x4082ff
cmp eax, 0xc80b8fbb
jle 0x4086c1
cmp eax, 0xcc28237d
jg 0x408946
cmp eax, 0xc80b8fbc
je 0x408f0f
cmp eax, 0xc96c7e4e
jne 0x407e30
inc word [esi + 0x8634]
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x16c], 0x11
mov eax, dword [esp + 0xc]
add al, 0xfd
jmp 0x408aff
cmp eax, 0x92727fb
jle 0x408588
cmp eax, 0xb6f30d5
jg 0x408813
cmp eax, 0x92727fc
je 0x407e04
cmp eax, 0x9ba73dd
jne 0x407e30
inc word [esi + 0x8634]
mov ecx, dword [esp + 0x54]
mov byte [esp + ecx + 0x16c], 0x11
mov eax, dword [esp + 0x1c]
add al, 0xfd
jmp 0x408531
cmp eax, 0x55a7fc08
jle 0x4085c7
cmp eax, 0x592e28c2
jg 0x408841
cmp eax, 0x55a7fc09
je 0x408d51
cmp eax, 0x57efd8c7
jne 0x407e30
mov eax, dword [esp + 4]
lea ecx, [eax + 1]
mov eax, 0xbae022f4
mov dword [esp + 0x14], ecx
cmp ecx, 6
je 0x4081fc
mov eax, 0x4aec7d8c
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xa4], ecx
jmp 0x407e30
cmp eax, 0x1afb616c
jle 0x408601
cmp eax, 0x1bf600d2
jg 0x408879
cmp eax, 0x1afb616d
je 0x408e11
cmp eax, 0x1b7f8df8
jne 0x407e30
inc word [esi + 0x8632]
mov ecx, dword [esp + 0x18]
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, 0x10e27f70
jmp 0x407e30
cmp eax, 0x5f1229ee
jle 0x408643
cmp eax, 0x640b42b4
jg 0x4088c4
cmp eax, 0x5f1229ef
je 0x408e60
cmp eax, 0x61a21e34
jne 0x407e30
cmp dword [esi + 0x44], 8
mov eax, 0xf84ee056
jae 0x407e30
mov eax, 0xa3b26a65
jmp 0x407e30
cmp eax, 0x90d1bc17
jle 0x408686
cmp eax, 0x92a944f7
jg 0x40890e
cmp eax, 0x90d1bc18
je 0x408ed7
cmp eax, 0x91848315
jne 0x407e30
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0x5acf6d4b
jmp 0x407e30
cmp eax, 0xd743963d
jle 0x408700
cmp eax, 0xda1292a0
jg 0x40896e
cmp eax, 0xd743963e
je 0x408f22
cmp eax, 0xd7c8bec6
jne 0x407e30
inc word [esi + 0x8634]
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x16c], 0x11
mov eax, dword [esp + 0xc]
add al, 0xfd
jmp 0x409483
cmp eax, 0xbb318bc9
jle 0x40874b
cmp eax, 0xbde9624c
jg 0x4089bb
cmp eax, 0xbb318bca
je 0x408f8a
cmp eax, 0xbde05ff6
jne 0x407e30
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0x61a21e34
jmp 0x407e30
cmp eax, 0xddb8b2a7
jle 0x408776
cmp eax, 0xdf78cb4f
jg 0x4089f3
cmp eax, 0xddb8b2a8
je 0x408fc2
cmp eax, 0xdf357e07
jne 0x407e30
mov eax, 0xbde9624d
jmp 0x4095fb
cmp eax, 0x3f4c82ad
jg 0x408b17
cmp eax, 0x3cf3e085
je 0x409099
cmp eax, 0x3d37749b
jne 0x407e30
cmp dword [esi + 0x44], 8
mov eax, 0xb4e9d2f1
jae 0x407e30
mov eax, 0xa34c477f
jmp 0x407e30
cmp eax, 0x78d80886
jg 0x408b4f
cmp eax, 0x733a9d3e
je 0x4090ca
cmp eax, 0x769f3af6
jne 0x407e30
mov dword [esp + 0x5c], 0
mov eax, 0xb0902030
jmp 0x407e30
cmp eax, 0xa34c477e
jg 0x408bf5
cmp eax, 0x9c6776a0
je 0x409234
cmp eax, 0x9ee368c2
jne 0x407e30
movzx eax, byte [esi + 0x48]
mov ebp, dword [esp + 0x134]
lea ecx, [ebp + 1]
mov dword [esi + 0x30], ecx
mov byte [ebp], al
mov eax, 0xcc28237e
jmp 0x407e30
cmp eax, 0xf4d522f5
jg 0x408c5f
cmp eax, 0xea3b2ea0
je 0x4092ae
cmp eax, 0xf2bfeb79
jne 0x407e30
movzx eax, byte [esp + 2]
mov ecx, dword [esp + 4]
add word [esi + eax*2 + 0x8612], cx
mov eax, 0xfbab99c4
mov edx, dword [esp + 8]
mov dword [esp + 0x90], edx
mov dword [esp + 0x78], ecx
jmp 0x407e30
cmp eax, 0xaea72969
jle 0x408c9a
cmp eax, 0xaea7296a
je 0x408ce5
cmp eax, 0xaffb0590
jne 0x407e30
mov ecx, dword [esi + 0x30]
mov eax, 0x90d1bc18
mov dword [esp + 0x138], ecx
cmp ecx, dword [esi + 0x34]
jb 0x407e30
mov eax, 0xd4061633
jmp 0x407e30
cmp eax, 0xf84ee056
je 0x409316
cmp eax, 0xfabf9fed
je 0x4093ae
cmp eax, 0xfb1eab45
jne 0x407e30
inc word [esi + 0x8636]
mov ecx, dword [esp + 0x54]
mov byte [esp + ecx + 0x16c], 0x12
mov eax, dword [esp + 0x1c]
add al, 0xf5
lea edx, [ecx + 2]
mov dword [esp + 0x40], edx
mov byte [esp + ecx + 0x16d], al
mov eax, 0xf5e41b06
jmp 0x407e30
cmp eax, 0x44c7370e
je 0x409338
cmp eax, 0x45c5c438
je 0x4093d5
cmp eax, 0x46a5bf34
jne 0x407e30
mov eax, 0x2d53ef5
cmp dword [esp + 0x64], 0
jns 0x40857b
mov eax, 0x600083d
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x3c], ecx
jmp 0x407e30
cmp eax, 0x591f738
je 0x40934a
cmp eax, 0x600083d
je 0x4093f1
cmp eax, 0x8bc75ed
jne 0x407e30
movzx eax, byte [esi + 0x48]
mov ebp, dword [esp + 0xf4]
lea ecx, [ebp + 1]
mov dword [esi + 0x30], ecx
mov byte [ebp], al
mov eax, 0xbde05ff6
jmp 0x407e30
cmp eax, 0x4fcfeb73
je 0x409379
cmp eax, 0x5083cf85
je 0x409426
cmp eax, 0x5594ac29
jne 0x407e30
cmp dword [esi + 0x44], 8
mov eax, 0xd4b41ba0
jae 0x407e30
mov eax, 0x44c7370e
jmp 0x407e30
cmp eax, 0xf5f950c
je 0x40946a
cmp eax, 0x10e27f70
je 0x4094c2
cmp eax, 0x199befae
jne 0x407e30
mov eax, dword [esp + 0x30]
cmp byte [eax + esi + 0x9031], 0
mov eax, 0x8cac3ac4
je 0x407e30
mov eax, 0x78d80887
jmp 0x407e30
cmp eax, 0x5ae20b7b
je 0x40949b
cmp eax, 0x5e996b6b
je 0x4094e5
cmp eax, 0x5ebfff81
jne 0x407e30
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x34]
cmp byte [ecx + eax - 1], 0
mov eax, 0x9c6776a0
je 0x407e30
mov eax, 0x3f4c82ae
jmp 0x407e30
cmp eax, 0x862c0ef0
je 0x40951c
cmp eax, 0x8cac3ac4
je 0x409526
cmp eax, 0x9037e3ef
jne 0x407e30
mov eax, 0x591f738
cmp dword [esp + 4], 3
jb 0x407e30
mov eax, 0x1b7f8df8
jmp 0x407e30
cmp eax, 0xc0f9f651
je 0x409539
cmp eax, 0xc485cb01
je 0x40956d
cmp eax, 0xc606385c
jne 0x407e30
movzx eax, byte [esi + 0x48]
mov ebp, dword [esp + 0xf0]
lea ecx, [ebp + 1]
mov dword [esi + 0x30], ecx
mov byte [ebp], al
mov eax, 0xac627535
jmp 0x407e30
cmp eax, 0xd4b41ba0
je 0x40954b
cmp eax, 0xd581465c
je 0x4095a1
cmp eax, 0xd6775cd1
jne 0x407e30
mov eax, dword [esp + 0x140]
lea ecx, [eax + 1]
mov dword [esp + 0x9c], ecx
mov byte [esp + eax + 0x16c], 0
mov eax, 0x94aab780
mov ebx, dword [esp + 0x164]
jmp 0x407e30
cmp eax, 0xb0902030
je 0x4095c3
cmp eax, 0xb4e9d2f1
je 0x409608
cmp eax, 0xbae022f4
jne 0x407e30
mov eax, 0xdb32d6ca
jmp 0x407e30
cmp eax, 0xdc27729d
je 0x4095ea
cmp eax, 0xdd758a36
je 0x40962a
cmp eax, 0xdd8e08c1
jne 0x407e30
cmp dword [esi + 0x44], 8
mov eax, 0xd581465c
jae 0x407e30
mov eax, 0xb81e130
jmp 0x407e30
cmp eax, 0x2d53ef5
je 0x408d73
cmp eax, 0x3563f57
jne 0x407e30
movzx eax, byte [esi + 0x48]
mov edx, dword [esp + 0x120]
lea ecx, [edx + 1]
mov dword [esi + 0x30], ecx
mov byte [edx], al
mov eax, 0xe5149683
jmp 0x407e30
cmp eax, 0x4af18270
je 0x408d9b
cmp eax, 0x4fad353e
jne 0x407e30
mov eax, 0x26edfbbd
cmp dword [esp + 0xc], 3
jb 0x407e30
mov eax, 0xdf78cb50
jmp 0x407e30
cmp eax, 0xb6f30d6
je 0x408dd2
cmp eax, 0xb81e130
jne 0x407e30
mov eax, 0x96678144
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0xe4], ecx
jmp 0x407e30
cmp eax, 0x592e28c3
je 0x408dec
cmp eax, 0x5acf6d4b
jne 0x407e30
mov ecx, dword [esi + 0x44]
mov eax, 0xbe2dd4d5
mov dword [esp + 0x114], ecx
cmp ecx, 8
jae 0x407e30
mov eax, 0x5ae20b7b
jmp 0x407e30
cmp eax, 0x1bf600d3
je 0x408e97
cmp eax, 0x20de82b9
jne 0x407e30
mov ecx, dword [esp + 0x110]
lea eax, [ecx + 1]
mov dword [esp + 0xb4], eax
movzx eax, byte [esp + 2]
mov byte [esp + ecx + 0x16c], al
mov eax, 0x5f1229ef
mov ecx, dword [esp + 0x158]
mov dword [esp + 0x88], ecx
jmp 0x407e30
cmp eax, 0x640b42b5
je 0x408eb6
cmp eax, 0x65bda9db
jne 0x407e30
mov ecx, dword [esp + 0xe0]
mov eax, 0xddb8b2a8
sub ecx, 1
mov dword [esp + 0x13c], ecx
jb 0x4088f7
mov eax, 0xf4d522f6
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x100], ecx
jmp 0x407e30
cmp eax, 0x92a944f8
je 0x408ef5
cmp eax, 0x9493bbe2
jne 0x407e30
mov ecx, dword [esi + 0x30]
mov eax, 0x9ee368c2
mov dword [esp + 0x134], ecx
cmp ecx, dword [esi + 0x34]
jb 0x407e30
mov eax, 0xcc28237e
jmp 0x407e30
cmp eax, 0xcc28237e
je 0x408f54
cmp eax, 0xd4061633
jne 0x407e30
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0x55a7fc09
jmp 0x407e30
cmp eax, 0xda1292a1
je 0x408f66
cmp eax, 0xdb32d6ca
jne 0x407e30
inc word [esi + 0x8632]
mov edx, dword [esp + 0x18]
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, 0x2b1c22be
jmp 0x407e30
cmp eax, 0xbde9624d
je 0x408fa8
cmp eax, 0xbe2dd4d5
jne 0x407e30
mov ecx, dword [esi + 0x30]
mov eax, 0xea3b2ea0
mov dword [esp + 0x124], ecx
cmp ecx, dword [esi + 0x34]
jb 0x407e30
mov eax, 0x91848315
jmp 0x407e30
cmp eax, 0xdf78cb50
je 0x408fd4
cmp eax, 0xe1ff22a1
jne 0x407e30
mov eax, dword [esp + 0x7c]
movzx eax, byte [eax + 0x441dea]
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, 0x3d37749b
jmp 0x407e30
cmp eax, 0xac627535
je 0x409023
cmp eax, 0xac68897b
jne 0x407e30
mov eax, dword [esp + 0x150]
inc word [esi + eax*2 + 0x8612]
mov ecx, dword [esp + 0x98]
lea eax, [ecx + 1]
mov dword [esp + 0x24], eax
movzx eax, byte [esp + 3]
mov byte [esp + ecx + 0x16c], al
mov eax, 0x4aec7d8c
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0x14], ecx
jmp 0x407e30
cmp eax, 0x2cadce36
je 0x4090df
cmp eax, 0x2e444b18
jne 0x407e30
mov eax, dword [esp + 0xd8]
movzx ecx, byte [esp + eax + 0x2ac]
mov eax, 0x592e28c3
mov byte [esp + 3], cl
test cl, cl
je 0x407e30
mov eax, 0xdd758a36
jmp 0x407e30
cmp eax, 0x6ce6b1de
je 0x409101
cmp eax, 0x71a7c311
jne 0x407e30
inc word [esi + 0x8636]
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x16c], 0x12
mov eax, dword [esp + 0xc]
add al, 0xf5
lea ecx, [edx + 2]
mov dword [esp + 0x58], ecx
mov byte [esp + edx + 0x16d], al
mov eax, 0xddb8b2a8
jmp 0x407e30
cmp eax, 0x3f4c82ae
je 0x409135
cmp eax, 0x42f06091
jne 0x407e30
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
add word [eax], cx
mov eax, 0x94aab780
mov edx, dword [esp + 0x54]
mov dword [esp + 0x9c], edx
mov ebx, ecx
jmp 0x407e30
cmp eax, 0x78d80887
je 0x409147
cmp eax, 0x7f5d27d1
jne 0x407e30
mov eax, dword [esp + 0xd0]
mov edx, dword [esp + 0xa4]
add word [esi + eax*2 + 0x8612], dx
mov eax, 0x4af18270
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xa0], edx
jmp 0x407e30
cmp eax, 0x96e1e07f
je 0x409247
cmp eax, 0x97bd12b2
jne 0x407e30
mov eax, 0x57efd8c7
movzx ecx, byte [esp + 2]
cmp byte [esp + 3], cl
je 0x408bc2
mov eax, 0xe8cbbcfb
movzx ecx, byte [esp + 3]
mov dword [esp + 0x150], ecx
movzx ecx, byte [esp + 2]
mov dword [esp + 0xd0], ecx
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x18], ecx
jmp 0x407e30
cmp eax, 0xa34c477f
je 0x409267
cmp eax, 0xa3b26a65
jne 0x407e30
mov dword [esp + 0x64], 0x12
mov eax, 0x46a5bf34
jmp 0x407e30
cmp eax, 0xe5a76e86
je 0x4092cb
cmp eax, 0xe8cbbcfb
jne 0x407e30
mov eax, 0xac68897b
cmp dword [esp + 4], 0
je 0x408c44
mov eax, 0x9037e3ef
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 4]
mov dword [esp + 0xc0], ecx
jmp 0x407e30
cmp eax, 0xf4d522f6
je 0x4092e5
cmp eax, 0xf5e41b06
jne 0x407e30
mov dword [esp + 0x20], 0
mov eax, 0x4aec7d8c
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x148]
mov dword [esp + 0x14], ecx
jmp 0x407e30
cmp eax, 0xae859fc6
jne 0x409656
mov ebp, dword [esp + 0xb0]
movzx eax, byte [esp + ebp + 0x16c]
mov edx, dword [esp + 0xbc]
movsx edx, byte [edx + 0x442bc4]
mov ecx, dword [esp + 0x114]
shl eax, cl
or dword [esi + 0x48], eax
lea eax, [ebp + 1]
mov dword [esp + 0x10c], eax
add dword [esi + 0x44], edx
mov eax, 0xdd8e08c1
jmp 0x407e30
mov eax, 0xc96c7e4e
cmp dword [esp + 0xc], 0xb
jb 0x407e30
mov eax, 0x71a7c311
jmp 0x407e30
mov ecx, dword [esp + 0x78]
mov eax, 0x45c5c438
sub ecx, 1
mov dword [esp + 0x168], ecx
jb 0x408d19
mov eax, 0xd743963e
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x154], ecx
mov dword [esp + 0x8c], ecx
jmp 0x407e30
mov eax, 0x199befae
cmp dword [esp + 0x50], 2
jge 0x408d44
mov eax, 0x78d80887
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x30], ecx
jmp 0x407e30
mov ecx, dword [esi + 0x44]
mov eax, 0xaffb0590
mov dword [esp + 0x11c], ecx
cmp ecx, 8
jae 0x407e30
mov eax, 0x92727fc
jmp 0x407e30
mov eax, dword [esp + 0x3c]
movzx eax, byte [eax + 0x441dea]
cmp byte [esi + eax + 0x9152], 0
mov eax, 0xc80b8fbc
je 0x407e30
mov eax, 0x600083d
jmp 0x407e30
mov ecx, dword [esp + 0xa0]
mov eax, 0x2b1c22be
sub ecx, 1
mov dword [esp + 0x14c], ecx
jb 0x408db8
mov eax, 0x4fcfeb73
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0x108], ecx
jmp 0x407e30
mov eax, 0xf2bfeb79
cmp dword [esp + 4], 3
jb 0x407e30
mov eax, 0xc485cb01
jmp 0x407e30
mov eax, 0x5083cf85
cmp dword [esp + 4], 0
je 0x408dfd
mov eax, 0xb6f30d6
mov edi, dword [esp + 8]
mov ecx, dword [esp + 4]
mov dword [esp + 0x94], ecx
jmp 0x407e30
mov ebp, edi
mov edi, ebx
mov ebx, dword [esp + 0xf8]
movzx edx, byte [esp + ebx + 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, [ebx + 1]
mov ebx, edi
mov edi, ebp
mov dword [esp + 0xb0], eax
mov dword [esi + 0x44], edx
mov eax, 0x5acf6d4b
jmp 0x407e30
mov ecx, dword [esp + 0x88]
mov eax, 0x10e27f70
sub ecx, 1
mov dword [esp + 0x158], ecx
jb 0x408e7d
mov eax, 0x20de82b9
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0xb8], ecx
mov dword [esp + 0x110], ecx
jmp 0x407e30
mov eax, dword [esp + 0x30]
dec eax
mov ecx, dword [esp + 0x118]
shl eax, cl
or dword [esi + 0x48], eax
add dword [esi + 0x44], 5
mov eax, 0x61a21e34
jmp 0x407e30
mov eax, 0x5ebfff81
cmp dword [esp + 0x38], 0x102
jge 0x408eca
mov eax, 0x3f4c82ae
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x34], ecx
jmp 0x407e30
movzx eax, byte [esi + 0x48]
mov ebp, dword [esp + 0x138]
lea ecx, [ebp + 1]
mov dword [esi + 0x30], ecx
mov byte [ebp], al
mov eax, 0xd4061633
jmp 0x407e30
mov eax, 0xfabf9fed
cmp dword [esp + 0xc], 3
jb 0x407e30
mov eax, 0xaea7296a
jmp 0x407e30
mov eax, dword [esp + 0x3c]
dec eax
mov dword [esp + 0x64], eax
mov eax, 0x46a5bf34
jmp 0x407e30
mov eax, dword [esp + 0x154]
lea ecx, [eax + 1]
mov dword [esp + 0x90], ecx
movzx ecx, byte [esp + 2]
mov byte [esp + eax + 0x16c], cl
mov eax, 0xfbab99c4
mov ecx, dword [esp + 0x168]
mov dword [esp + 0x78], ecx
jmp 0x407e30
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0x2cadce36
jmp 0x407e30
mov eax, 0xe1ff22a1
mov ecx, dword [esp + 0x128]
cmp dword [esp + 0x60], ecx
jl 0x408f7d
mov eax, 0x769f3af6
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x7c], ecx
jmp 0x407e30
movzx eax, byte [esi + 0x48]
mov ebp, dword [esp + 0x12c]
lea ecx, [ebp + 1]
mov dword [esi + 0x30], ecx
mov byte [ebp], al
mov eax, 0xc0f9f651
jmp 0x407e30
mov eax, 0xac439ca0
cmp dword [esp + 4], 3
jb 0x407e30
mov eax, 0x6ce6b1de
jmp 0x407e30
mov eax, 0x65f504ff
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x2c], ecx
jmp 0x407e30
mov eax, 0xd7c8bec6
cmp dword [esp + 0xc], 0xb
jb 0x407e30
mov eax, 0xf5f950c
jmp 0x407e30
mov ecx, dword [esp + 0x104]
lea eax, [ecx + 1]
mov dword [esp + 0xd4], eax
movzx eax, byte [esp + 2]
mov byte [esp + ecx + 0x16c], al
mov eax, 0x5e996b6b
mov ecx, dword [esp + 0x144]
mov dword [esp + 0xc8], ecx
jmp 0x407e30
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0x5594ac29
jmp 0x407e30
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x28]
add word [eax], cx
mov eax, 0xe36a5399
mov edx, dword [esp + 8]
mov dword [esp + 0xa8], edx
mov dword [esp + 0x80], ecx
jmp 0x407e30
mov ecx, esi
mov edx, 2
push 0
push 7
push 0x13
call fcn.00409670
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, 0x55a7fc09
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0xfc], ecx
jmp 0x407e30
mov eax, dword [esp + 0x130]
lea ecx, [eax + 1]
mov dword [esp + 0xa8], ecx
mov byte [esp + eax + 0x16c], 0
mov eax, 0xe36a5399
mov ecx, dword [esp + 0x15c]
mov dword [esp + 0x80], ecx
jmp 0x407e30
mov eax, 0x65f504ff
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0x2c], ecx
jmp 0x407e30
mov ecx, dword [esi + 0x44]
mov eax, 0x9493bbe2
mov dword [esp + 0x118], ecx
cmp ecx, 8
jae 0x407e30
mov eax, 0x1bf600d3
jmp 0x407e30
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, 0x733a9d3e
jmp 0x407e30
mov dword [esp + 0x50], 0x1e
mov eax, 0x4a04b743
jmp 0x407e30
mov ebp, dword [esp + 0x34]
push ebp
push dword [esp + 0x6c]
lea eax, [esp + 0x2b4]
push eax
call fcn.0040a200
add esp, 0xc
lea eax, [esp + ebp]
add eax, 0x2ac
mov esi, dword [esp + 0x30]
push esi
push dword [esp + 0xf0]
push eax
call fcn.0040a200
add esp, 0xc
lea eax, [esi + ebp]
mov dword [esp + 0x160], eax
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x400]
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 byte [esp + 0x13], 0xff
mov dword [esp + 0x48], 0
mov eax, 0x67f927f7
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x6c], 0
jmp 0x407e30
mov ecx, ebx
mov eax, 0xf5e41b06
sub ecx, 1
mov dword [esp + 0x164], ecx
jb 0x40921d
mov eax, 0xd6775cd1
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x140], ecx
mov dword [esp + 0x40], ecx
jmp 0x407e30
mov eax, dword [esp + 0x34]
dec eax
mov dword [esp + 0x38], eax
mov eax, 0x640b42b5
jmp 0x407e30
mov dword [esp + 0xac], 0
mov eax, 0x97bd12b2
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x84], ecx
jmp 0x407e30
mov eax, dword [esp + 0x7c]
inc eax
mov dword [esp + 0x60], eax
mov eax, 0xda1292a1
jmp 0x407e30
mov ecx, dword [esp + 0x80]
mov eax, 0x96e1e07f
sub ecx, 1
mov dword [esp + 0x15c], ecx
jb 0x409297
mov eax, 0x3cf3e085
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x130], ecx
mov dword [esp + 0x44], ecx
jmp 0x407e30
movzx eax, byte [esi + 0x48]
mov edx, dword [esp + 0x124]
lea ecx, [edx + 1]
mov dword [esi + 0x30], ecx
mov byte [edx], al
mov eax, 0x91848315
jmp 0x407e30
mov eax, 0x9ba73dd
cmp dword [esp + 0x1c], 0xb
jb 0x407e30
mov eax, 0xfb1eab45
jmp 0x407e30
mov ecx, dword [esp + 0x100]
lea eax, [ecx + 1]
mov dword [esp + 0xe8], eax
mov byte [esp + ecx + 0x16c], 0
mov eax, 0x65bda9db
mov ecx, dword [esp + 0x13c]
mov dword [esp + 0xe0], ecx
jmp 0x407e30
mov ecx, dword [esi + 0x30]
mov eax, 0x8bc75ed
mov dword [esp + 0xf4], ecx
cmp ecx, dword [esi + 0x34]
jb 0x407e30
mov eax, 0xbde05ff6
jmp 0x407e30
mov dword [esp + 0x60], 0
mov eax, 0xda1292a1
jmp 0x407e30
mov eax, dword [esp + 0xd0]
mov edx, dword [esp + 4]
add word [esi + eax*2 + 0x8612], dx
mov eax, 0x5f1229ef
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0x88], edx
jmp 0x407e30
mov ecx, dword [esp + 0x108]
lea eax, [ecx + 1]
mov dword [esp + 0xcc], eax
movzx eax, byte [esp + 2]
mov byte [esp + ecx + 0x16c], al
mov eax, 0x4af18270
mov ecx, dword [esp + 0x14c]
mov dword [esp + 0xa0], ecx
jmp 0x407e30
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x28]
add word [eax], cx
mov eax, 0x65bda9db
mov edx, dword [esp + 8]
mov dword [esp + 0xe8], edx
mov dword [esp + 0xe0], ecx
jmp 0x407e30
mov dword [esp + 0x94], 0
mov eax, 0x5083cf85
mov edi, dword [esp + 0x8c]
jmp 0x407e30
mov ecx, dword [esp + 0x3c]
mov eax, ecx
cmp ecx, 4
jge 0x409401
mov eax, 3
lea ecx, [eax + 1]
mov dword [esp + 0x128], 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, 0x5594ac29
jmp 0x407e30
mov eax, dword [esp + 0xc]
lea ecx, [eax + 1]
mov eax, 0x862c0ef0
mov dword [esp + 0x1c], ecx
cmp ecx, 0x8a
je 0x409443
mov eax, 0x4aec7d8c
mov dword [esp + 0x24], edi
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x148], ecx
mov dword [esp + 0x54], edi
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], ecx
jmp 0x407e30
inc word [esi + 0x8636]
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x16c], 0x12
mov eax, dword [esp + 0xc]
add al, 0xf5
lea ecx, [edx + 2]
mov dword [esp + 0x44], ecx
mov byte [esp + edx + 0x16d], al
mov eax, 0x96e1e07f
jmp 0x407e30
mov eax, 0xae859fc6
cmp dword [esp + 0xbc], 0x10
jae 0x4094af
mov eax, 0x96678144
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0xe4], ecx
jmp 0x407e30
mov dword [esp + 0xc0], 0
mov eax, 0xac68897b
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0x98], ecx
jmp 0x407e30
mov ecx, dword [esp + 0xc8]
mov eax, 0x733a9d3e
sub ecx, 1
mov dword [esp + 0x144], ecx
jb 0x409502
mov eax, 0xa460d5ac
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0xdc], ecx
mov dword [esp + 0x104], ecx
jmp 0x407e30
mov eax, 0xe5a76e86
jmp 0x407e30
mov eax, dword [esp + 0x30]
dec eax
mov dword [esp + 0x50], eax
mov eax, 0x4a04b743
jmp 0x407e30
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0x3d37749b
jmp 0x407e30
mov ecx, dword [esi + 0x30]
mov eax, 0xc606385c
mov dword [esp + 0xf0], ecx
cmp ecx, dword [esi + 0x34]
jb 0x407e30
mov eax, 0xac627535
jmp 0x407e30
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 + 0x8c], ecx
mov byte [esp + edx + 0x16d], al
mov eax, 0x45c5c438
jmp 0x407e30
mov ecx, dword [esi + 0x30]
mov eax, 0x3563f57
mov dword [esp + 0x120], ecx
cmp ecx, dword [esi + 0x34]
jb 0x407e30
mov eax, 0xe5149683
jmp 0x407e30
mov eax, 0x1afb616d
mov ecx, dword [esp + 0xfc]
cmp dword [esp + 0x5c], ecx
jb 0x4095da
mov eax, 0xae3f5a8b
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0xf8], ecx
jmp 0x407e30
mov eax, 0x65f504ff
cmp dword [esp + 0xc], 0
je 0x4095fb
mov eax, 0x92a944f8
mov ecx, dword [esp + 8]
mov dword [esp + 0x2c], ecx
jmp 0x407e30
mov ecx, dword [esi + 0x30]
mov eax, 0xbb318bca
mov dword [esp + 0x12c], ecx
cmp ecx, dword [esi + 0x34]
jb 0x407e30
mov eax, 0xc0f9f651
jmp 0x407e30
mov eax, 0x97bd12b2
cmp dword [esp + 0xc], 0
je 0x40963b
mov eax, 0x4fad353e
mov ecx, dword [esp + 8]
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xac], ecx
jmp 0x407e30
cmp eax, 0xae3f5a8b
jne 0x407e30
add esp, 0x3ec
pop esi
pop edi
pop ebx
pop ebp
ret