Function at 0x4072b0
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.00408b90
add esp, 0xc
mov ecx, esi
mov edx, 1
push 0
push 0xf
push 0x20
call fcn.00408b90
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, 0xc2c74ab0
jmp 0x407340
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x148], ecx
mov dword [esp + 0x44], ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp eax, 0xde37188
jle 0x4073b0
cmp eax, 0x53195d9c
jg 0x407490
cmp eax, 0x32eac086
jle 0x407507
cmp eax, 0x438b72aa
jle 0x4077d2
cmp eax, 0x4e5db66c
jg 0x4079b6
cmp eax, 0x4e15feb7
jg 0x4080fe
cmp eax, 0x438b72ab
je 0x408768
cmp eax, 0x4526366d
jne 0x407340
mov dword [esp + 0xc0], 0
mov eax, 0x132b73e9
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0x98], ecx
jmp 0x407340
cmp eax, 0xc2c74aaf
jg 0x407410
cmp eax, 0xaaf559d9
jle 0x407584
cmp eax, 0xb675bcd2
jle 0x40773d
cmp eax, 0xbb75fe83
jg 0x40791e
cmp eax, 0xb69d7a9a
jg 0x408029
cmp eax, 0xb675bcd3
je 0x40858d
cmp eax, 0xb69149e1
jne 0x407340
mov eax, 0xb305a39
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x30], ecx
jmp 0x407340
cmp eax, 0xe05baae5
jle 0x4075ec
cmp eax, 0xeceadb75
jle 0x407793
cmp eax, 0x3c89fbd
jg 0x407976
cmp eax, 0x269d36a
jg 0x408076
cmp eax, 0xeceadb76
je 0x4085a7
cmp eax, 0xf19b7d92
jne 0x407340
mov ecx, dword [esp + 0x78]
mov eax, 0x52d65b91
sub ecx, 1
mov dword [esp + 0x168], ecx
jb 0x40746c
mov eax, 0xde37189
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x154], ecx
mov dword [esp + 0x8c], ecx
jmp 0x407340
cmp eax, 0x63a98d89
jle 0x407641
cmp eax, 0x70c7e81a
jle 0x4078be
cmp eax, 0x772a0eab
jg 0x4079fe
cmp eax, 0x744446b6
jg 0x40815e
cmp eax, 0x70c7e81b
je 0x4087e1
cmp eax, 0x724905b7
jne 0x407340
mov ecx, dword [esp + 0x108]
lea eax, [ecx + 1]
mov dword [esp + 0xd4], eax
movzx eax, byte [esp + 2]
mov byte [esp + ecx + 0x16c], al
mov eax, 0xbb8aae15
mov ecx, dword [esp + 0x14c]
mov dword [esp + 0xc8], ecx
jmp 0x407340
cmp eax, 0x188e1c86
jg 0x407878
cmp eax, 0x166b0af0
jg 0x407a46
cmp eax, 0x13f3a559
jg 0x407ff5
cmp eax, 0xde37189
je 0x408542
cmp eax, 0x132b73e9
jne 0x407340
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, 0xb136a54c
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0x14], ecx
jmp 0x407340
cmp eax, 0x961bf95b
jg 0x40768b
cmp eax, 0x916dcb9c
jle 0x407a88
cmp eax, 0x91df3755
jg 0x407d63
cmp eax, 0x916dcb9d
je 0x40821e
cmp eax, 0x91852bb8
jne 0x407340
mov ecx, dword [esp + 0x104]
lea eax, [ecx + 1]
mov dword [esp + 0xe8], eax
mov byte [esp + ecx + 0x16c], 0
mov eax, 0x7d5d8e05
mov ecx, dword [esp + 0x144]
mov dword [esp + 0xe0], ecx
jmp 0x407340
cmp eax, 0xcd7a8757
jg 0x4076d1
cmp eax, 0xcb2483f1
jle 0x407ac3
cmp eax, 0xcc54c3de
jg 0x407d9b
cmp eax, 0xcb2483f2
je 0x408231
cmp eax, 0xcb4ea3cb
jne 0x407340
inc word [esi + 0x8634]
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x16c], 0x11
mov eax, dword [esp + 0xc]
add al, 0xfd
jmp 0x408206
cmp eax, 0x5e729027
jg 0x407820
cmp eax, 0x5489d870
jle 0x407c88
cmp eax, 0x5abd30f6
jg 0x407ee3
cmp eax, 0x5489d871
je 0x40843e
cmp eax, 0x579b75b8
jne 0x407340
mov eax, dword [esp + 0x7c]
inc eax
mov dword [esp + 0x60], eax
mov eax, 0xe99db910
jmp 0x407340
cmp eax, 0x9d79e0d6
jle 0x407afd
cmp eax, 0xa3996572
jg 0x407dd8
cmp eax, 0x9d79e0d7
je 0x40824f
cmp eax, 0x9ffe6d9f
jne 0x407340
mov eax, 0x6476a740
cmp dword [esp + 0xc], 0xb
jb 0x407340
mov eax, 0xb4e0febb
jmp 0x407340
cmp eax, 0xd4ee237d
jle 0x407b53
cmp eax, 0xdb1f9a0c
jg 0x407e0b
cmp eax, 0xd4ee237e
je 0x408261
cmp eax, 0xda2b3548
jne 0x407340
mov ebp, dword [esp + 0xb0]
movzx eax, byte [esp + ebp + 0x16c]
mov edx, dword [esp + 0xbc]
movsx edx, byte [edx + 0x441bc4]
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, 0x3ced8026
jmp 0x407340
cmp eax, 0xafed17af
jle 0x407b94
cmp eax, 0xb136a54b
jg 0x407e3f
cmp eax, 0xafed17b0
je 0x40832b
cmp eax, 0xaffa7df4
jne 0x407340
mov eax, dword [esp + 0x148]
lea ecx, [eax + 1]
mov dword [esp + 0x9c], ecx
mov byte [esp + eax + 0x16c], 0
mov eax, 0x18412d24
mov ebx, dword [esp + 0x164]
jmp 0x407340
cmp eax, 0xe6b50619
jle 0x407bea
cmp eax, 0xe99db90f
jg 0x407e73
cmp eax, 0xe6b5061a
je 0x40837a
cmp eax, 0xe996a3cd
jne 0x407340
mov eax, dword [esp + 0x34]
dec eax
mov dword [esp + 0x38], eax
mov eax, 0xc2c74ab0
jmp 0x407340
cmp eax, 0x3950a7e1
jle 0x407c30
cmp eax, 0x3a8bbf90
jg 0x407eb4
cmp eax, 0x3950a7e2
je 0x40840a
cmp eax, 0x3a36fce7
jne 0x407340
mov ecx, dword [esi + 0x30]
mov eax, 0xa703532b
mov dword [esp + 0x124], ecx
cmp ecx, dword [esi + 0x34]
jb 0x407340
mov eax, 0x5f81388e
jmp 0x407340
cmp eax, 0x6048625b
jle 0x407cc3
cmp eax, 0x6142e22c
jg 0x407f2b
cmp eax, 0x6048625c
je 0x408458
cmp eax, 0x604dab1f
jne 0x407340
mov eax, 0xd4ee237e
cmp dword [esp + 0xc], 0
je 0x40785d
mov eax, 0xbd9cba99
mov ecx, dword [esp + 8]
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xac], ecx
jmp 0x407340
cmp eax, 0x2bb114ba
jle 0x407cfd
cmp eax, 0x2f0b765f
jg 0x407f63
cmp eax, 0x2bb114bb
je 0x4084dc
cmp eax, 0x2e0c3891
jne 0x407340
mov eax, 0x53cdc080
cmp dword [esp + 4], 3
jb 0x407340
mov eax, 0x53195d9d
jmp 0x407340
cmp eax, 0x6b529550
jle 0x407d30
cmp eax, 0x6eeb3409
jg 0x407fc1
cmp eax, 0x6b529551
je 0x408523
cmp eax, 0x6cb0fc39
jne 0x407340
mov ecx, dword [esp + 0x80]
mov eax, 0xd19d55d1
sub ecx, 1
mov dword [esp + 0x15c], ecx
jb 0x407907
mov eax, 0x8a960202
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x134], ecx
mov dword [esp + 0x48], ecx
jmp 0x407340
cmp eax, 0xbd9cba98
jg 0x4080ae
cmp eax, 0xbb75fe84
je 0x4085ca
cmp eax, 0xbb8aae15
jne 0x407340
mov ecx, dword [esp + 0xc8]
mov eax, 0x6b529551
sub ecx, 1
mov dword [esp + 0x14c], ecx
jb 0x40795c
mov eax, 0x724905b7
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0xdc], ecx
mov dword [esp + 0x108], ecx
jmp 0x407340
cmp eax, 0xb305a38
jg 0x4080d6
cmp eax, 0x3c89fbe
je 0x4085e8
cmp eax, 0x8068867
jne 0x407340
mov eax, dword [esp + 0x2c]
dec eax
mov ecx, dword [esp + 0x118]
shl eax, cl
or dword [esi + 0x48], eax
add dword [esi + 0x44], 5
mov eax, 0x13f3a55a
jmp 0x407340
cmp eax, 0x51135964
jg 0x40812c
cmp eax, 0x4e5db66d
je 0x40877a
cmp eax, 0x503d2dfe
jne 0x407340
mov eax, 0xafed17b0
mov ecx, dword [esp + 0x100]
cmp dword [esp + 0x5c], ecx
jb 0x4079ee
mov eax, 0x16ad9c2f
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0xfc], ecx
jmp 0x407340
cmp eax, 0x7cfad967
jg 0x40818e
cmp eax, 0x772a0eac
je 0x408803
cmp eax, 0x783665e4
jne 0x407340
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x28]
add word [eax], cx
mov eax, 0x6cb0fc39
mov edx, dword [esp + 8]
mov dword [esp + 0xa8], edx
mov dword [esp + 0x80], ecx
jmp 0x407340
cmp eax, 0x1779f571
jle 0x4081d8
cmp eax, 0x1779f572
je 0x4081ed
cmp eax, 0x18412d24
jne 0x407340
mov ecx, ebx
mov eax, 0xe61ccf3c
sub ecx, 1
mov dword [esp + 0x164], ecx
jb 0x407324
mov eax, 0xaffa7df4
jmp 0x407324
cmp eax, 0x8a960202
je 0x408854
cmp eax, 0x8b438a36
je 0x4088f2
cmp eax, 0x8eaebb28
jne 0x407340
mov eax, 0xcb4ea3cb
cmp dword [esp + 0xc], 0xb
jb 0x407340
mov eax, 0x1779f572
jmp 0x407340
cmp eax, 0xc2c74ab0
je 0x408885
cmp eax, 0xc77d2677
je 0x40890c
cmp eax, 0xc925d9d7
jne 0x407340
cmp dword [esi + 0x44], 8
mov eax, 0x51135965
jae 0x407340
mov eax, 0xb546ef0
jmp 0x407340
cmp eax, 0x961bf95c
je 0x4088a6
cmp eax, 0x970f7af6
je 0x408921
cmp eax, 0x9c3a25b7
jne 0x407340
mov ecx, dword [esp + 0xf0]
lea eax, [ecx + 1]
mov dword [esp + 0xcc], eax
movzx eax, byte [esp + 2]
mov byte [esp + ecx + 0x16c], al
mov eax, 0x36962300
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0xa0], ecx
jmp 0x407340
cmp eax, 0xcd7a8758
je 0x4088b8
cmp eax, 0xd073cad5
je 0x40893f
cmp eax, 0xd19d55d1
jne 0x407340
mov dword [esp + 0xac], 0
mov eax, 0xd4ee237e
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x84], ecx
jmp 0x407340
cmp eax, 0xaaf559da
je 0x40895d
cmp eax, 0xacac3b3d
je 0x4089cd
cmp eax, 0xaebb5f8d
jne 0x407340
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, 0xb69d7a9b
mov ecx, dword [esp + 0x158]
mov dword [esp + 0x88], ecx
jmp 0x407340
cmp eax, 0xe05baae6
je 0x408989
cmp eax, 0xe201295e
je 0x4089df
cmp eax, 0xe61ccf3c
jne 0x407340
mov dword [esp + 0x1c], 0
mov eax, 0xb136a54c
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0xf4]
mov dword [esp + 0x14], ecx
jmp 0x407340
cmp eax, 0x32eac087
je 0x4089f2
cmp eax, 0x360c93b5
je 0x408a14
cmp eax, 0x36962300
jne 0x407340
mov ecx, dword [esp + 0xa0]
mov eax, 0x63a98d8a
sub ecx, 1
mov dword [esp + 0xf8], ecx
jb 0x407c6e
mov eax, 0x9c3a25b7
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xf0], ecx
jmp 0x407340
cmp eax, 0x53195d9d
je 0x408a45
cmp eax, 0x53cdc080
je 0x408aa3
cmp eax, 0x53f0bd72
jne 0x407340
mov eax, 0x6048625c
cmp dword [esp + 4], 3
jb 0x407340
mov eax, 0x269d36b
jmp 0x407340
cmp eax, 0x5e729028
je 0x408a79
cmp eax, 0x5f81388e
je 0x408acd
cmp eax, 0x5ff4eb90
jne 0x407340
cmp dword [esi + 0x44], 8
mov eax, 0x3c4b442
jae 0x407340
mov eax, 0x579b75b8
jmp 0x407340
cmp eax, 0x188e1c87
je 0x408adf
cmp eax, 0x264ed516
je 0x408b25
cmp eax, 0x2b4923d3
jne 0x407340
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0xc925d9d7
jmp 0x407340
cmp eax, 0x63a98d8a
je 0x408b00
cmp eax, 0x6476a740
je 0x408b47
cmp eax, 0x6817dadb
jne 0x407340
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0x6231230a
jmp 0x407340
cmp eax, 0x91df3756
je 0x4082a9
cmp eax, 0x92b3ef1c
jne 0x407340
mov ecx, dword [esi + 0x30]
mov eax, 0xd073cad5
mov dword [esp + 0x138], ecx
cmp ecx, dword [esi + 0x34]
jb 0x407340
mov eax, 0xcc54c3df
jmp 0x407340
cmp eax, 0xcc54c3df
je 0x4082c3
cmp eax, 0xcc95c2f8
jne 0x407340
mov eax, 0xda2b3548
cmp dword [esp + 0xbc], 0x10
jae 0x407dc5
mov eax, 0xc77d2677
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0xe4], ecx
jmp 0x407340
cmp eax, 0xa3996573
je 0x4082d5
cmp eax, 0xa703532b
jne 0x407340
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, 0x5f81388e
jmp 0x407340
cmp eax, 0xdb1f9a0d
je 0x4082f7
cmp eax, 0xdea4c963
jne 0x407340
movzx eax, byte [esi + 0x48]
mov ebp, dword [esp + 0x140]
lea ecx, [ebp + 1]
mov dword [esi + 0x30], ecx
mov byte [ebp], al
mov eax, 0x6817dadb
jmp 0x407340
cmp eax, 0xb136a54c
je 0x4083af
cmp eax, 0xb4e0febb
jne 0x407340
inc word [esi + 0x8636]
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x16c], 0x12
mov eax, dword [esp + 0xc]
add al, 0xf5
jmp 0x408b60
cmp eax, 0xe99db910
je 0x4083e6
cmp eax, 0xe9fc04df
jne 0x407340
mov eax, dword [esp + 0x7c]
movzx eax, byte [eax + 0x440dea]
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, 0x5ff4eb90
jmp 0x407340
cmp eax, 0x3a8bbf91
je 0x40842c
cmp eax, 0x3ced8026
jne 0x407340
cmp dword [esi + 0x44], 8
mov eax, 0x264ed516
jae 0x407340
mov eax, 0x4e1a684c
jmp 0x407340
cmp eax, 0x5abd30f7
je 0x408487
cmp eax, 0x5bda206a
jne 0x407340
mov eax, dword [esp + 0xd0]
mov edx, dword [esp + 0xa4]
add word [esi + eax*2 + 0x8612], dx
mov eax, 0x36962300
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xa0], edx
jmp 0x407340
cmp eax, 0x6142e22d
je 0x4084af
cmp eax, 0x6231230a
jne 0x407340
mov ecx, dword [esi + 0x44]
mov eax, 0xa3996573
mov dword [esp + 0x11c], ecx
cmp ecx, 8
jae 0x407340
mov eax, 0xeceadb76
jmp 0x407340
cmp eax, 0x2f0b7660
je 0x408501
cmp eax, 0x3095df92
jne 0x407340
mov eax, 0x5e729028
mov ecx, dword [esp + 0x4c]
cmp ecx, dword [esp + 0x160]
jb 0x407f90
mov eax, 0x748e0e7d
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 + 0x4c]
mov dword [esp + 0xd8], ecx
jmp 0x407340
cmp eax, 0x6eeb340a
je 0x408538
cmp eax, 0x6f4a6428
jne 0x407340
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, 0x9d79e0d7
jmp 0x407340
cmp eax, 0x13f3a55a
je 0x408574
cmp eax, 0x144fa4ec
jne 0x407340
mov eax, 0x188e1c87
cmp dword [esp + 0x54], 2
jge 0x40801c
mov eax, 0x3c89fbe
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x2c], ecx
jmp 0x407340
cmp eax, 0xb69d7a9b
je 0x4086a6
cmp eax, 0xb706d47b
jne 0x407340
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, 0x63a98d8a
jmp 0x407340
cmp eax, 0x269d36b
je 0x4086dd
cmp eax, 0x3c4b442
jne 0x407340
mov ecx, dword [esi + 0x30]
mov eax, 0x6f4a6428
mov dword [esp + 0x12c], ecx
cmp ecx, dword [esi + 0x34]
jb 0x407340
mov eax, 0x9d79e0d7
jmp 0x407340
cmp eax, 0xbd9cba99
je 0x408711
cmp eax, 0xbf1d5d4c
jne 0x407340
mov dword [esp + 0x54], 0x1e
mov eax, 0x144fa4ec
jmp 0x407340
cmp eax, 0xb305a39
je 0x40872b
cmp eax, 0xb546ef0
jne 0x407340
mov dword [esp + 0x60], 0
mov eax, 0xe99db910
jmp 0x407340
cmp eax, 0x4e15feb8
je 0x408798
cmp eax, 0x4e1a684c
jne 0x407340
mov eax, 0xc77d2677
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0xe4], ecx
jmp 0x407340
cmp eax, 0x51135965
je 0x4087bf
cmp eax, 0x52d65b91
jne 0x407340
mov dword [esp + 0x94], 0
mov eax, 0xe05baae6
mov edi, dword [esp + 0x8c]
jmp 0x407340
cmp eax, 0x744446b7
je 0x408820
cmp eax, 0x748e0e7d
jne 0x407340
mov eax, 0x91df3756
cmp dword [esp + 4], 0
je 0x407340
mov eax, 0x744446b7
jmp 0x407340
cmp eax, 0x7cfad968
je 0x408832
cmp eax, 0x7d5d8e05
jne 0x407340
mov ecx, dword [esp + 0xe0]
mov eax, 0xb69149e1
sub ecx, 1
mov dword [esp + 0x144], ecx
jb 0x4081c1
mov eax, 0x91852bb8
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x104], ecx
jmp 0x407340
cmp eax, 0x166b0af1
jne 0x408b78
mov eax, 0xb706d47b
jmp 0x407340
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, 0xb69149e1
jmp 0x407340
mov eax, dword [esp + 0x40]
dec eax
mov dword [esp + 0x64], eax
mov eax, 0xbb75fe84
jmp 0x407340
movzx eax, byte [esi + 0x48]
mov ebp, dword [esp + 0x13c]
lea ecx, [ebp + 1]
mov dword [esi + 0x30], ecx
mov byte [ebp], al
mov eax, 0x961bf95c
jmp 0x407340
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0x5ff4eb90
jmp 0x407340
mov eax, 0xcd7a8758
movzx ecx, byte [esp + 2]
cmp byte [esp + 3], cl
je 0x408276
mov eax, 0xaaf559da
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 + 0x50], ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x18], ecx
jmp 0x407340
mov eax, 0xb305a39
cmp dword [esp + 0xc], 0
je 0x408825
mov eax, 0xb675bcd3
jmp 0x408825
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0x13f3a55a
jmp 0x407340
mov ecx, dword [esi + 0x30]
mov eax, 0xdea4c963
mov dword [esp + 0x140], ecx
cmp ecx, dword [esi + 0x34]
jb 0x407340
mov eax, 0x6817dadb
jmp 0x407340
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, 0x6b529551
jmp 0x407340
mov ebp, edi
mov edi, ebx
mov ebx, dword [esp + 0xfc]
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, 0x2f0b7660
jmp 0x407340
mov ecx, dword [esp + 0x40]
mov eax, ecx
cmp ecx, 4
jge 0x40838a
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, 0xc925d9d7
jmp 0x407340
mov eax, dword [esp + 0xd8]
inc eax
mov dword [esp + 0x4c], eax
mov eax, 0x3095df92
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x74], ecx
mov ecx, dword [esp + 0x1c]
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 0x407340
mov eax, 0xe9fc04df
mov ecx, dword [esp + 0x128]
cmp dword [esp + 0x60], ecx
jl 0x4083fd
mov eax, 0x3a8bbf91
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x7c], ecx
jmp 0x407340
mov ecx, dword [esi + 0x30]
mov eax, 0xcb2483f2
mov dword [esp + 0x13c], ecx
cmp ecx, dword [esi + 0x34]
jb 0x407340
mov eax, 0x961bf95c
jmp 0x407340
mov dword [esp + 0x5c], 0
mov eax, 0x503d2dfe
jmp 0x407340
mov eax, 0x360c93b5
cmp dword [esp + 0x24], 0xb
jb 0x407340
mov eax, 0x4e5db66d
jmp 0x407340
mov eax, dword [esp + 0xd0]
mov edx, dword [esp + 4]
add word [esi + eax*2 + 0x8612], dx
mov eax, 0xb69d7a9b
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0x88], edx
jmp 0x407340
mov eax, dword [esp + 0x40]
movzx eax, byte [eax + 0x440dea]
cmp byte [esi + eax + 0x9152], 0
mov eax, 0x916dcb9d
je 0x407340
mov eax, 0xe6b5061a
jmp 0x407340
movzx eax, byte [esp + 2]
mov ecx, dword [esp + 4]
add word [esi + eax*2 + 0x8612], cx
mov eax, 0xbb8aae15
mov edx, dword [esp + 8]
mov dword [esp + 0xd4], edx
mov dword [esp + 0xc8], ecx
jmp 0x407340
mov eax, 0xe05baae6
cmp dword [esp + 4], 0
je 0x4084ed
mov eax, 0x2e0c3891
mov edi, dword [esp + 8]
mov ecx, dword [esp + 4]
mov dword [esp + 0x94], ecx
jmp 0x407340
mov ecx, dword [esi + 0x44]
mov eax, 0x3a36fce7
mov dword [esp + 0x114], ecx
cmp ecx, 8
jae 0x407340
mov eax, 0xcc95c2f8
jmp 0x407340
mov eax, 0xb305a39
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0x30], ecx
jmp 0x407340
mov eax, 0x5489d871
jmp 0x407340
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, 0xf19b7d92
mov ecx, dword [esp + 0x168]
mov dword [esp + 0x78], ecx
jmp 0x407340
cmp dword [esi + 0x44], 8
mov eax, 0x92b3ef1c
jae 0x407340
mov eax, 0x438b72ab
jmp 0x407340
mov eax, 0x4e15feb8
cmp dword [esp + 0xc], 3
jb 0x407340
mov eax, 0x8eaebb28
jmp 0x407340
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, 0x7cfad968
jmp 0x407340
mov eax, 0x5abd30f7
cmp dword [esp + 0x64], 0
jns 0x4085db
mov eax, 0xe6b5061a
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x40], ecx
jmp 0x407340
mov ebp, dword [esp + 0x34]
push ebp
push dword [esp + 0x6c]
lea eax, [esp + 0x2b4]
push eax
call fcn.00409760
add esp, 0xc
lea eax, [esp + ebp]
add eax, 0x2ac
mov esi, dword [esp + 0x2c]
push esi
push dword [esp + 0xf0]
push eax
call fcn.00409760
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 + 0x4c], 0
mov eax, 0x3095df92
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x6c], 0
jmp 0x407340
mov ecx, dword [esp + 0x88]
mov eax, 0x4526366d
sub ecx, 1
mov dword [esp + 0x158], ecx
jb 0x4086c3
mov eax, 0xaebb5f8d
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0xb8], ecx
mov dword [esp + 0x110], ecx
jmp 0x407340
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, 0x4526366d
jmp 0x407340
mov eax, 0x783665e4
cmp dword [esp + 0xc], 3
jb 0x407340
mov eax, 0x9ffe6d9f
jmp 0x407340
mov ecx, esi
mov edx, 2
push 0
push 7
push 0x13
call fcn.00408b90
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, 0x6231230a
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x100], ecx
jmp 0x407340
mov dword [esp + 0x64], 0x12
mov eax, 0xbb75fe84
jmp 0x407340
inc word [esi + 0x8636]
mov ecx, dword [esp + 0x3c]
mov byte [esp + ecx + 0x16c], 0x12
mov eax, dword [esp + 0x24]
add al, 0xf5
jmp 0x408a2d
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x28]
add word [eax], cx
mov eax, 0x7d5d8e05
mov edx, dword [esp + 8]
mov dword [esp + 0xe8], edx
mov dword [esp + 0xe0], ecx
jmp 0x407340
mov ecx, dword [esi + 0x30]
mov eax, 0x970f7af6
mov dword [esp + 0x130], ecx
cmp ecx, dword [esi + 0x34]
jb 0x407340
mov eax, 0x2b4923d3
jmp 0x407340
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x34]
cmp byte [ecx + eax - 1], 0
mov eax, 0xe996a3cd
je 0x407340
mov eax, 0xbf1d5d4c
jmp 0x407340
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, 0xacac3b3d
jmp 0x407340
mov eax, 0x8b438a36
mov ecx, dword [esp + 8]
mov dword [esp + 0x30], ecx
jmp 0x407340
mov ecx, dword [esi + 0x44]
mov eax, 0x3950a7e2
mov dword [esp + 0x118], ecx
cmp ecx, 8
jae 0x407340
mov eax, 0x8068867
jmp 0x407340
mov eax, dword [esp + 0x134]
lea ecx, [eax + 1]
mov dword [esp + 0xa8], ecx
mov byte [esp + eax + 0x16c], 0
mov eax, 0x6cb0fc39
mov ecx, dword [esp + 0x15c]
mov dword [esp + 0x80], ecx
jmp 0x407340
mov eax, 0x70c7e81b
cmp dword [esp + 0x38], 0x102
jge 0x408899
mov eax, 0xbf1d5d4c
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x34], ecx
jmp 0x407340
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0x7cfad968
jmp 0x407340
mov eax, dword [esp + 4]
lea ecx, [eax + 1]
mov eax, 0x166b0af1
mov dword [esp + 0x14], ecx
cmp ecx, 6
je 0x4088d2
mov eax, 0xb136a54c
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xa4], ecx
jmp 0x407340
mov eax, 0x6142e22d
cmp dword [esp + 4], 3
jb 0x407340
mov eax, 0xdb1f9a0d
jmp 0x407340
mov eax, 0x503d2dfe
mov ecx, dword [esp + 0xe4]
mov dword [esp + 0x5c], ecx
jmp 0x407340
movzx eax, byte [esi + 0x48]
mov ebp, dword [esp + 0x130]
lea ecx, [ebp + 1]
mov dword [esi + 0x30], ecx
mov byte [ebp], al
mov eax, 0x2b4923d3
jmp 0x407340
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, 0xcc54c3df
jmp 0x407340
mov eax, 0x132b73e9
cmp dword [esp + 4], 0
je 0x40896e
mov eax, 0x53f0bd72
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 4]
mov dword [esp + 0xc0], ecx
jmp 0x407340
mov eax, dword [esp + 0xc]
lea ecx, [eax + 1]
mov eax, 0x6eeb340a
mov dword [esp + 0x24], ecx
cmp ecx, 0x8a
je 0x4089a6
mov eax, 0xb136a54c
mov dword [esp + 0x20], edi
mov ecx, dword [esp + 0x94]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0x3c], edi
mov edx, dword [esp + 0x24]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ecx
jmp 0x407340
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0x3ced8026
jmp 0x407340
mov eax, dword [esp + 0x2c]
dec eax
mov dword [esp + 0x54], eax
mov eax, 0x144fa4ec
jmp 0x407340
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
add word [eax], cx
mov eax, 0x18412d24
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x9c], edx
mov ebx, ecx
jmp 0x407340
inc word [esi + 0x8634]
mov ecx, dword [esp + 0x3c]
mov byte [esp + ecx + 0x16c], 0x11
mov eax, dword [esp + 0x24]
add al, 0xfd
lea edx, [ecx + 2]
mov dword [esp + 0x44], edx
mov byte [esp + ecx + 0x16d], al
mov eax, 0xe61ccf3c
jmp 0x407340
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, 0x52d65b91
jmp 0x407340
mov eax, dword [esp + 0xd8]
movzx ecx, byte [esp + eax + 0x2ac]
mov eax, 0x2bb114bb
mov byte [esp + 3], cl
test cl, cl
je 0x407340
mov eax, 0x604dab1f
jmp 0x407340
movzx eax, byte [esp + 2]
mov ecx, dword [esp + 4]
add word [esi + eax*2 + 0x8612], cx
mov eax, 0xf19b7d92
mov edx, dword [esp + 8]
mov dword [esp + 0x90], edx
mov dword [esp + 0x78], ecx
jmp 0x407340
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0x2f0b7660
jmp 0x407340
mov eax, dword [esp + 0x2c]
cmp byte [eax + esi + 0x9031], 0
mov eax, 0xe201295e
je 0x407340
mov eax, 0x3c89fbe
jmp 0x407340
mov dword [esp + 0x14], 0
mov eax, 0xb136a54c
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x1c], ecx
jmp 0x407340
mov ecx, dword [esi + 0x30]
mov eax, 0x772a0eac
mov dword [esp + 0x120], ecx
cmp ecx, dword [esi + 0x34]
jb 0x407340
mov eax, 0xacac3b3d
jmp 0x407340
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 + 0x48], ecx
mov byte [esp + edx + 0x16d], al
mov eax, 0xd19d55d1
jmp 0x407340
cmp eax, 0x16ad9c2f
jne 0x407340
add esp, 0x3ec
pop esi
pop edi
pop ebx
pop ebp
ret