Function at 0x4071e0
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.00408ac0
add esp, 0xc
mov ecx, esi
mov edx, 1
push 0
push 0xf
push 0x20
call fcn.00408ac0
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, 0xe71148e3
jmp 0x407270
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0x8c7dad48
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp eax, 0xc615eaf
jg 0x4072e0
cmp eax, 0xbbc67542
jg 0x4073c0
cmp eax, 0x91b91f36
jle 0x407420
cmp eax, 0xa3d28d9c
jle 0x4076bf
cmp eax, 0xae0656c8
jg 0x407886
cmp eax, 0xa970a6b4
jg 0x407fa1
cmp eax, 0xa3d28d9d
je 0x4085f6
cmp eax, 0xa6348d81
jne 0x407270
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, 0xc615eb0
jmp 0x407270
cmp eax, 0x3e2b62c0
jg 0x407350
cmp eax, 0x2a44d0d1
jle 0x407479
cmp eax, 0x30f187f0
jle 0x40761d
cmp eax, 0x38f6c739
jg 0x4077ec
cmp eax, 0x3746d730
jg 0x407ea3
cmp eax, 0x30f187f1
je 0x4084b9
cmp eax, 0x36fa62a3
jne 0x407270
mov ecx, dword [esi + 0x44]
mov eax, 0x8944c1d5
mov dword [esp + 0x11c], ecx
cmp ecx, 8
jae 0x407270
mov eax, 0x2a44d0d2
jmp 0x407270
cmp eax, 0x67196a6f
jle 0x4074c2
cmp eax, 0x72cd5606
jle 0x407662
cmp eax, 0x762c3f4b
jg 0x40781f
cmp eax, 0x75934ff6
jg 0x407ef0
cmp eax, 0x72cd5607
je 0x4084e5
cmp eax, 0x74044870
jne 0x407270
mov eax, 0xac1d4aa8
cmp dword [esp + 4], 0
je 0x4073a3
mov eax, 0xcb5b043a
mov edi, dword [esp + 8]
mov ecx, dword [esp + 4]
mov dword [esp + 0x98], ecx
jmp 0x407270
cmp eax, 0xef0de335
jle 0x40751b
cmp eax, 0xfdda4531
jle 0x40779b
cmp eax, 0x6c86bdd
jg 0x4078d6
cmp eax, 0x3d19f50
jg 0x408048
cmp eax, 0xfdda4532
je 0x40866f
cmp eax, 0x2852f0f
jne 0x407270
inc word [esi + 0x8634]
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x16c], 0x11
mov eax, dword [esp + 0xc]
add al, 0xfd
jmp 0x408581
cmp eax, 0x88dbf47c
jle 0x40774d
cmp eax, 0x8c29ef76
jle 0x40792c
cmp eax, 0x8e77f9a6
jg 0x407e73
cmp eax, 0x8c29ef77
je 0x408448
cmp eax, 0x8c7dad48
jne 0x407270
mov ecx, dword [esi + 0x44]
mov eax, 0x6c770ff3
mov dword [esp + 0x118], ecx
cmp ecx, 8
jae 0x407270
mov eax, 0xd11ad5a
jmp 0x407270
cmp eax, 0x1279ae09
jg 0x40757c
cmp eax, 0xf191ac4
jle 0x40796f
cmp eax, 0x11bd3d34
jg 0x407c37
cmp eax, 0xf191ac5
je 0x407254
cmp eax, 0x11b5e67c
jne 0x407270
mov dword [esp + 0x50], 0x1e
mov eax, 0x83a41e25
jmp 0x407270
cmp eax, 0x4a9f46ea
jg 0x4075ca
cmp eax, 0x40dd9e90
jle 0x4079a2
cmp eax, 0x41a90ea2
jg 0x407c6b
cmp eax, 0x40dd9e91
je 0x4080f2
cmp eax, 0x419430c6
jne 0x407270
mov ecx, dword [esi + 0x44]
mov eax, 0xd23e0f43
mov dword [esp + 0x114], ecx
cmp ecx, 8
jae 0x407270
mov eax, 0x4d767eb3
jmp 0x407270
cmp eax, 0xd23e0f42
jg 0x407700
cmp eax, 0xc11c9759
jle 0x407b5e
cmp eax, 0xc7fc4678
jg 0x407da8
cmp eax, 0xc11c975a
je 0x408306
cmp eax, 0xc476181e
jne 0x407270
mov eax, dword [esp + 0xd8]
movzx ecx, byte [esp + eax + 0x2ac]
mov eax, 0x74044870
mov byte [esp + 3], cl
test cl, cl
je 0x407270
mov eax, 0x30f187f1
jmp 0x407270
cmp eax, 0x19c4150b
jle 0x4079ea
cmp eax, 0x22abf68e
jg 0x407c93
cmp eax, 0x19c4150c
je 0x408123
cmp eax, 0x1aa7b320
jne 0x407270
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
add word [eax], cx
mov eax, 0x518fe5bc
mov edx, dword [esp + 0x54]
mov dword [esp + 0xa0], edx
mov ebx, ecx
jmp 0x407270
cmp eax, 0x4ccae890
jle 0x407a2c
cmp eax, 0x518fe5bb
jg 0x407cc7
cmp eax, 0x4ccae891
je 0x408157
cmp eax, 0x4d767eb3
jne 0x407270
mov eax, 0x792935f7
cmp dword [esp + 0xc0], 0x10
jae 0x40760a
mov eax, 0xa087cac0
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0xe4], ecx
jmp 0x407270
cmp eax, 0x2e8b9596
jle 0x407a6b
cmp eax, 0x2fae4893
jg 0x407cfb
cmp eax, 0x2e8b9597
je 0x408230
cmp eax, 0x2f39840b
jne 0x407270
mov dword [esp + 0x98], 0
mov eax, 0xac1d4aa8
mov edi, dword [esp + 0x70]
jmp 0x407270
cmp eax, 0x6d669ecc
jle 0x407ac6
cmp eax, 0x6fe28cef
jg 0x407d60
cmp eax, 0x6d669ecd
je 0x408249
cmp eax, 0x6dd65d7d
jne 0x407270
mov eax, dword [esp + 0x130]
lea ecx, [eax + 1]
mov dword [esp + 0xac], ecx
mov byte [esp + eax + 0x16c], 0
mov eax, 0x91ee047d
mov ecx, dword [esp + 0x15c]
mov dword [esp + 0x8c], ecx
jmp 0x407270
cmp eax, 0x9a7e36b5
jle 0x407b09
cmp eax, 0xa10d86de
jg 0x407d88
cmp eax, 0x9a7e36b6
je 0x4082ca
cmp eax, 0xa087cac0
jne 0x407270
mov eax, 0xf034ff3a
mov ecx, dword [esp + 0xe4]
mov dword [esp + 0x5c], ecx
jmp 0x407270
cmp eax, 0xe5986e4e
jle 0x407b99
cmp eax, 0xec213c5d
jg 0x407dd8
cmp eax, 0xe5986e4f
je 0x408354
cmp eax, 0xe71148e3
jne 0x407270
mov eax, 0x8593743f
cmp dword [esp + 0x38], 0x102
jge 0x407740
mov eax, 0x11b5e67c
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x34], ecx
jmp 0x407270
cmp eax, 0x83be42c0
jle 0x407bcd
cmp eax, 0x85b1fcd6
jg 0x407e1c
cmp eax, 0x83be42c1
je 0x4083d0
cmp eax, 0x8593743f
jne 0x407270
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x34]
cmp byte [ecx + eax - 1], 0
mov eax, 0xdbbb4c53
je 0x407270
mov eax, 0x11b5e67c
jmp 0x407270
cmp eax, 0xf859a57c
jle 0x407c0c
cmp eax, 0xfc8ddd75
jg 0x407e44
cmp eax, 0xf859a57d
je 0x40840f
cmp eax, 0xfbac5456
jne 0x407270
mov dword [esp + 0x14], 0
mov eax, 0x8c29ef77
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x20], ecx
jmp 0x407270
cmp eax, 0x3af2cf91
jg 0x407f24
cmp eax, 0x38f6c73a
je 0x4084ff
cmp eax, 0x390aceba
jne 0x407270
mov dword [esp + 0x5c], 0
mov eax, 0xf034ff3a
jmp 0x407270
cmp eax, 0x792935f6
jg 0x407f71
cmp eax, 0x762c3f4c
je 0x408527
cmp eax, 0x78fecfb8
jne 0x407270
mov eax, dword [esp + 0x150]
inc word [esi + eax*2 + 0x8612]
mov ecx, dword [esp + 0x9c]
lea eax, [ecx + 1]
mov dword [esp + 0x24], eax
movzx eax, byte [esp + 3]
mov byte [esp + ecx + 0x16c], al
mov eax, 0x8c29ef77
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x14], ecx
jmp 0x407270
cmp eax, 0xb97ba7d0
jg 0x407ffb
cmp eax, 0xae0656c9
je 0x408610
cmp eax, 0xb140e307
jne 0x407270
mov eax, dword [esp + 0x154]
lea ecx, [eax + 1]
mov dword [esp + 0x74], ecx
movzx ecx, byte [esp + 2]
mov byte [esp + eax + 0x16c], cl
mov eax, 0x91b91f37
mov ecx, dword [esp + 0x168]
mov dword [esp + 0x6c], ecx
jmp 0x407270
cmp eax, 0x8e338b3
jg 0x40808b
cmp eax, 0x6c86bde
je 0x40868d
cmp eax, 0x809cb04
jne 0x407270
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, 0x3bd36575
mov ecx, dword [esp + 0x144]
mov dword [esp + 0xcc], ecx
jmp 0x407270
cmp eax, 0x8bd2a17b
jg 0x4080bb
cmp eax, 0x88dbf47d
je 0x4080d9
cmp eax, 0x8944c1d5
jne 0x407270
mov ecx, dword [esi + 0x30]
mov eax, 0x1254ed92
mov dword [esp + 0x138], ecx
cmp ecx, dword [esi + 0x34]
jb 0x407270
mov eax, 0xe1e4123
jmp 0x407270
cmp eax, 0xc615eb0
je 0x408785
cmp eax, 0xd11ad5a
je 0x408804
cmp eax, 0xe1e4123
jne 0x407270
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0x36fa62a3
jmp 0x407270
cmp eax, 0x3e2b62c1
je 0x408797
cmp eax, 0x402f15d7
je 0x408823
cmp eax, 0x407ba6ec
jne 0x407270
movzx eax, byte [esp + 2]
mov ecx, dword [esp + 4]
add word [esi + eax*2 + 0x8612], cx
mov eax, 0x91b91f37
mov edx, dword [esp + 8]
mov dword [esp + 0x74], edx
mov dword [esp + 0x6c], ecx
jmp 0x407270
cmp eax, 0x1279ae0a
je 0x4087b5
cmp eax, 0x139d3930
je 0x408838
cmp eax, 0x14a210d4
jne 0x407270
mov eax, dword [esp + 0x30]
cmp byte [eax + esi + 0x9031], 0
mov eax, 0x4ccae891
je 0x407270
mov eax, 0x3d19f51
jmp 0x407270
cmp eax, 0x4a9f46eb
je 0x4087d3
cmp eax, 0x4b8d1a9e
je 0x408869
cmp eax, 0x4c026486
jne 0x407270
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, 0x67a6acd3
jmp 0x407270
cmp eax, 0x2a44d0d2
je 0x4088ae
cmp eax, 0x2a8e504d
je 0x4088f3
cmp eax, 0x2c9fc465
jne 0x407270
mov eax, dword [esp + 4]
lea ecx, [eax + 1]
mov eax, 0x85b1fcd7
mov dword [esp + 0x14], ecx
cmp ecx, 6
je 0x407aa6
mov eax, 0x8c29ef77
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 + 0xa8], ecx
jmp 0x407270
cmp eax, 0x67196a70
je 0x4088d1
cmp eax, 0x67a6acd3
je 0x408905
cmp eax, 0x6c770ff3
jne 0x407270
mov ecx, dword [esi + 0x30]
mov eax, 0x1279ae0a
mov dword [esp + 0xf4], ecx
cmp ecx, dword [esi + 0x34]
jb 0x407270
mov eax, 0xf191ac5
jmp 0x407270
cmp eax, 0x91b91f37
je 0x408917
cmp eax, 0x91ee047d
je 0x408945
cmp eax, 0x9a3cd42b
jne 0x407270
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 + 0xbc], edx
mov byte [esp + ecx + 0x16d], al
mov eax, 0xfc8ddd76
jmp 0x407270
cmp eax, 0xbbc67543
je 0x408979
cmp eax, 0xbd454733
je 0x4089bd
cmp eax, 0xbe286a90
jne 0x407270
mov eax, 0x139d3930
cmp dword [esp + 0xc], 0xb
jb 0x407270
mov eax, 0x291c2401
jmp 0x407270
cmp eax, 0xd23e0f43
je 0x40899b
cmp eax, 0xdb5b1992
je 0x4089cf
cmp eax, 0xdbbb4c53
jne 0x407270
mov eax, dword [esp + 0x34]
dec eax
mov dword [esp + 0x38], eax
mov eax, 0xe71148e3
jmp 0x407270
cmp eax, 0x80109b03
je 0x408a00
cmp eax, 0x839438d5
je 0x408a53
cmp eax, 0x83a41e25
jne 0x407270
mov eax, 0x14a210d4
cmp dword [esp + 0x50], 2
jge 0x407bff
mov eax, 0x3d19f51
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x30], ecx
jmp 0x407270
cmp eax, 0xef0de336
je 0x408a27
cmp eax, 0xf034ff3a
je 0x408a7d
cmp eax, 0xf3107565
jne 0x407270
mov eax, 0x8ec91e58
jmp 0x4087a8
cmp eax, 0x11bd3d35
je 0x40816a
cmp eax, 0x1254ed92
jne 0x407270
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, 0xe1e4123
jmp 0x407270
cmp eax, 0x41a90ea3
je 0x4081a7
cmp eax, 0x4859fc37
jne 0x407270
mov eax, 0x11bd3d35
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x2c], ecx
jmp 0x407270
cmp eax, 0x22abf68f
je 0x4081cc
cmp eax, 0x291c2401
jne 0x407270
inc word [esi + 0x8636]
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x16c], 0x12
mov eax, dword [esp + 0xc]
add al, 0xf5
jmp 0x408851
cmp eax, 0x518fe5bc
je 0x408201
cmp eax, 0x55ee2139
jne 0x407270
inc word [esi + 0x8634]
mov ecx, dword [esp + 0x54]
mov byte [esp + ecx + 0x16c], 0x11
mov eax, dword [esp + 0x1c]
add al, 0xfd
jmp 0x4087ec
cmp eax, 0x2fae4894
je 0x408266
cmp eax, 0x30544747
jne 0x407270
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 + 0xc0], 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 + 0xb4], eax
mov dword [esi + 0x44], edx
mov eax, 0x419430c6
jmp 0x407270
cmp eax, 0x6fe28cf0
je 0x40829b
cmp eax, 0x706cae31
jne 0x407270
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0x419430c6
jmp 0x407270
cmp eax, 0xa10d86df
je 0x4082e4
cmp eax, 0xa3a2ee00
jne 0x407270
mov eax, 0x793b09c3
jmp 0x407270
cmp eax, 0xc7fc4679
je 0x40836d
cmp eax, 0xcb5b043a
jne 0x407270
mov eax, 0x407ba6ec
cmp dword [esp + 4], 3
jb 0x407270
mov eax, 0xdb5b1992
jmp 0x407270
cmp eax, 0xec213c5e
je 0x408399
cmp eax, 0xecd22939
jne 0x407270
mov eax, dword [esp + 0x88]
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, 0x2e8b9597
jmp 0x407270
cmp eax, 0x85b1fcd7
je 0x408405
cmp eax, 0x86e670db
jne 0x407270
mov dword [esp + 0x60], 0
mov eax, 0x80109b03
jmp 0x407270
cmp eax, 0xfc8ddd76
je 0x408425
cmp eax, 0xfcf19fca
jne 0x407270
cmp dword [esi + 0x44], 8
mov eax, 0xbbc67543
jae 0x407270
mov eax, 0xae0656c9
jmp 0x407270
cmp eax, 0x8e77f9a7
je 0x408485
cmp eax, 0x8ec91e58
jne 0x407270
mov eax, 0x4b600af
cmp dword [esp + 4], 3
jb 0x407270
mov eax, 0x8e77f9a7
jmp 0x407270
cmp eax, 0x3746d731
je 0x408541
cmp eax, 0x37765c2a
jne 0x407270
mov ecx, dword [esp + 0x94]
mov eax, 0xfc8ddd76
sub ecx, 1
mov dword [esp + 0x158], ecx
jb 0x407ed6
mov eax, 0x83be42c1
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0x110], ecx
jmp 0x407270
cmp eax, 0x75934ff7
je 0x408568
cmp eax, 0x75d33f16
jne 0x407270
mov eax, 0x38f6c73a
cmp dword [esp + 0x64], 0
jns 0x407f17
mov eax, 0x2fae4894
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x3c], ecx
jmp 0x407270
cmp eax, 0x3af2cf92
je 0x408599
cmp eax, 0x3bd36575
jne 0x407270
mov ecx, dword [esp + 0xcc]
mov eax, 0x402f15d7
sub ecx, 1
mov dword [esp + 0x144], ecx
jb 0x407f57
mov eax, 0x809cb04
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0xdc], ecx
mov dword [esp + 0x104], ecx
jmp 0x407270
cmp eax, 0x792935f7
je 0x4085b6
cmp eax, 0x793b09c3
jne 0x407270
mov eax, 0x55ee2139
cmp dword [esp + 0x1c], 0xb
jb 0x407270
mov eax, 0x4a9f46eb
jmp 0x407270
cmp eax, 0xa970a6b5
je 0x408628
cmp eax, 0xac1d4aa8
jne 0x407270
mov eax, dword [esp + 0xc]
lea ecx, [eax + 1]
mov eax, 0xa3a2ee00
mov dword [esp + 0x1c], ecx
cmp ecx, 0x8a
je 0x407fd4
mov eax, 0x8c29ef77
mov dword [esp + 0x24], edi
mov ecx, dword [esp + 0x98]
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 0x407270
cmp eax, 0xb97ba7d1
je 0x408648
cmp eax, 0xbbbecb13
jne 0x407270
mov ecx, dword [esp + 0xa4]
mov eax, 0xfbac5456
sub ecx, 1
mov dword [esp + 0x14c], ecx
jb 0x40802e
mov eax, 0x22abf68f
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0x108], ecx
jmp 0x407270
cmp eax, 0x3d19f51
je 0x4086af
cmp eax, 0x4b600af
jne 0x407270
movzx eax, byte [esp + 2]
mov ecx, dword [esp + 4]
add word [esi + eax*2 + 0x8612], cx
mov eax, 0x3bd36575
mov edx, dword [esp + 8]
mov dword [esp + 0xd4], edx
mov dword [esp + 0xcc], ecx
jmp 0x407270
cmp eax, 0x8e338b4
je 0x408773
cmp eax, 0x9bc71b7
jne 0x407270
mov eax, 0xb97ba7d1
cmp dword [esp + 0xc], 3
jb 0x407270
mov eax, 0xbe286a90
jmp 0x407270
cmp eax, 0x8bd9cdd8
jne 0x408aa4
mov eax, dword [esp + 0x3c]
dec eax
mov dword [esp + 0x64], eax
mov eax, 0x75d33f16
jmp 0x407270
cmp dword [esi + 0x44], 8
mov eax, 0xa10d86df
jae 0x407270
mov eax, 0x8e338b4
jmp 0x407270
mov ecx, dword [esp + 0x100]
lea eax, [ecx + 1]
mov dword [esp + 0xe8], eax
mov byte [esp + ecx + 0x16c], 0
mov eax, 0x19c4150c
mov ecx, dword [esp + 0x13c]
mov dword [esp + 0xe0], ecx
jmp 0x407270
mov ecx, dword [esp + 0xe0]
mov eax, 0x4859fc37
sub ecx, 1
mov dword [esp + 0x13c], ecx
jb 0x408140
mov eax, 0x40dd9e91
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x100], ecx
jmp 0x407270
mov eax, dword [esp + 0x30]
dec eax
mov dword [esp + 0x50], eax
mov eax, 0x83a41e25
jmp 0x407270
mov ecx, esi
mov edx, 2
push 0
push 7
push 0x13
call fcn.00408ac0
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, 0x36fa62a3
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0xfc], ecx
jmp 0x407270
mov dword [esp + 0x20], 0
mov eax, 0x8c29ef77
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x148]
mov dword [esp + 0x14], ecx
jmp 0x407270
mov ecx, dword [esp + 0x108]
lea eax, [ecx + 1]
mov dword [esp + 0xd0], eax
movzx eax, byte [esp + 2]
mov byte [esp + ecx + 0x16c], al
mov eax, 0xbbbecb13
mov ecx, dword [esp + 0x14c]
mov dword [esp + 0xa4], ecx
jmp 0x407270
mov ecx, ebx
mov eax, 0x41a90ea3
sub ecx, 1
mov dword [esp + 0x164], ecx
jb 0x408219
mov eax, 0x839438d5
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x140], ecx
mov dword [esp + 0x40], ecx
jmp 0x407270
cmp dword [esi + 0x44], 8
mov eax, 0x6c86bde
jae 0x407270
mov eax, 0xf859a57d
jmp 0x407270
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, 0xbd454733
jmp 0x407270
mov ecx, dword [esp + 0x3c]
mov eax, ecx
cmp ecx, 4
jge 0x408276
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, 0xe5986e4f
jmp 0x407270
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0xa8]
add word [esi + eax*2 + 0x8612], dx
mov eax, 0xbbbecb13
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xa4], edx
jmp 0x407270
mov eax, 0xef0de336
cmp dword [esp + 4], 3
jb 0x407270
mov eax, 0x9a3cd42b
jmp 0x407270
mov ecx, dword [esi + 0x30]
mov eax, 0xa6348d81
mov dword [esp + 0x134], ecx
cmp ecx, dword [esi + 0x34]
jb 0x407270
mov eax, 0xc615eb0
jmp 0x407270
mov eax, 0xc476181e
mov ecx, dword [esp + 0x48]
cmp ecx, dword [esp + 0x160]
jb 0x40831d
mov eax, 0xa3d28d9d
movzx ecx, byte [esp + 0x13]
mov byte [esp + 2], cl
mov ecx, dword [esp + 0x7c]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0xd8], ecx
jmp 0x407270
cmp dword [esi + 0x44], 8
mov eax, 0x67196a70
jae 0x407270
mov eax, 0x86e670db
jmp 0x407270
mov eax, 0x78fecfb8
cmp dword [esp + 4], 0
je 0x40837e
mov eax, 0x9a7e36b6
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 4]
mov dword [esp + 0xc4], ecx
jmp 0x407270
inc word [esi + 0x8632]
mov edx, dword [esp + 0x18]
mov byte [esp + edx + 0x16c], 0x10
mov eax, dword [esp + 0xa8]
add al, 0xfd
lea ecx, [edx + 2]
mov dword [esp + 0xc8], ecx
mov byte [esp + edx + 0x16d], al
mov eax, 0xfbac5456
jmp 0x407270
mov ecx, dword [esp + 0x110]
lea eax, [ecx + 1]
mov dword [esp + 0xb8], eax
movzx eax, byte [esp + 2]
mov byte [esp + ecx + 0x16c], al
mov eax, 0x37765c2a
mov ecx, dword [esp + 0x158]
mov dword [esp + 0x94], ecx
jmp 0x407270
mov eax, 0xec213c5e
jmp 0x407270
mov eax, dword [esp + 0x88]
inc eax
mov dword [esp + 0x60], eax
mov eax, 0x80109b03
jmp 0x407270
mov dword [esp + 0xc4], 0
mov eax, 0x78fecfb8
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0x9c], ecx
jmp 0x407270
mov eax, dword [esp + 0xd8]
inc eax
mov dword [esp + 0x48], eax
mov eax, 0xc11c975a
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x7c], ecx
movzx ecx, byte [esp + 3]
mov byte [esp + 0x13], cl
jmp 0x407270
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, 0x402f15d7
jmp 0x407270
mov eax, 0x4b8d1a9e
cmp dword [esp + 0xc], 0
je 0x4084ca
mov eax, 0x762c3f4c
mov ecx, dword [esp + 8]
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xb0], ecx
jmp 0x407270
mov eax, 0x2852f0f
cmp dword [esp + 0xc], 0xb
jb 0x407270
mov eax, 0x75934ff7
jmp 0x407270
mov eax, dword [esp + 0x3c]
movzx eax, byte [eax + 0x441dea]
cmp byte [esi + eax + 0x9152], 0
mov eax, 0x8bd9cdd8
je 0x407270
mov eax, 0x2fae4894
jmp 0x407270
mov eax, 0x3746d731
cmp dword [esp + 0xc], 3
jb 0x407270
mov eax, 0x72cd5607
jmp 0x407270
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x28]
add word [eax], cx
mov eax, 0x91ee047d
mov edx, dword [esp + 8]
mov dword [esp + 0xac], edx
mov dword [esp + 0x8c], ecx
jmp 0x407270
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, 0xa970a6b5
jmp 0x407270
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, 0x706cae31
jmp 0x407270
mov ebp, dword [esp + 0xb4]
movzx eax, byte [esp + ebp + 0x16c]
mov edx, dword [esp + 0xc0]
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, 0xfcf19fca
jmp 0x407270
mov eax, 0x3e2b62c1
cmp dword [esp + 4], 0
je 0x407270
mov eax, 0xf3107565
jmp 0x407270
mov eax, 0xa087cac0
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0xe4], ecx
jmp 0x407270
mov dword [esp + 0xb0], 0
mov eax, 0x4b8d1a9e
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x90], ecx
jmp 0x407270
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x28]
add word [eax], cx
mov eax, 0x19c4150c
mov edx, dword [esp + 8]
mov dword [esp + 0xe8], edx
mov dword [esp + 0xe0], ecx
jmp 0x407270
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, 0x2a8e504d
jmp 0x407270
mov ecx, dword [esi + 0x30]
mov eax, 0xfdda4532
mov dword [esp + 0x12c], ecx
cmp ecx, dword [esi + 0x34]
jb 0x407270
mov eax, 0x2a8e504d
jmp 0x407270
mov ebp, dword [esp + 0x34]
push ebp
push dword [esp + 0x6c]
lea eax, [esp + 0x2b4]
push eax
call fcn.004095f0
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.004095f0
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, 0xc11c975a
mov dword [esp + 0x84], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x7c], 0
jmp 0x407270
mov dword [esp + 0x64], 0x12
mov eax, 0x75d33f16
jmp 0x407270
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0x88dbf47d
jmp 0x407270
mov eax, 0x11bd3d35
cmp dword [esp + 0xc], 0
je 0x4087a8
mov eax, 0x9bc71b7
mov ecx, dword [esp + 8]
mov dword [esp + 0x2c], ecx
jmp 0x407270
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, 0xf191ac5
jmp 0x407270
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, 0x41a90ea3
jmp 0x407270
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, 0x88dbf47d
jmp 0x407270
mov eax, 0x11bd3d35
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0x2c], ecx
jmp 0x407270
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 + 0x58], ecx
mov byte [esp + edx + 0x16d], al
mov eax, 0x4859fc37
jmp 0x407270
mov eax, 0x2c9fc465
movzx ecx, byte [esp + 2]
cmp byte [esp + 3], cl
je 0x40887e
mov eax, 0xc7fc4679
movzx ecx, byte [esp + 3]
mov dword [esp + 0x150], ecx
movzx ecx, byte [esp + 2]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x18], ecx
jmp 0x407270
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, 0x8c7dad48
jmp 0x407270
mov ecx, dword [esi + 0x30]
mov eax, 0x4c026486
mov dword [esp + 0xf0], ecx
cmp ecx, dword [esi + 0x34]
jb 0x407270
mov eax, 0x67a6acd3
jmp 0x407270
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0x2e8b9597
jmp 0x407270
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0xe5986e4f
jmp 0x407270
mov ecx, dword [esp + 0x6c]
mov eax, 0x2f39840b
sub ecx, 1
mov dword [esp + 0x168], ecx
jb 0x408931
mov eax, 0xb140e307
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x154], ecx
mov dword [esp + 0x70], ecx
jmp 0x407270
mov ecx, dword [esp + 0x8c]
mov eax, 0xa970a6b5
sub ecx, 1
mov dword [esp + 0x15c], ecx
jb 0x408962
mov eax, 0x6dd65d7d
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x130], ecx
mov dword [esp + 0x44], ecx
jmp 0x407270
mov ecx, dword [esi + 0x30]
mov eax, 0x6d669ecd
mov dword [esp + 0x120], ecx
cmp ecx, dword [esi + 0x34]
jb 0x407270
mov eax, 0xbd454733
jmp 0x407270
mov ecx, dword [esi + 0x30]
mov eax, 0x3af2cf92
mov dword [esp + 0x124], ecx
cmp ecx, dword [esi + 0x34]
jb 0x407270
mov eax, 0x706cae31
jmp 0x407270
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0xfcf19fca
jmp 0x407270
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 + 0x70], ecx
mov byte [esp + edx + 0x16d], al
mov eax, 0x2f39840b
jmp 0x407270
mov eax, 0xecd22939
mov ecx, dword [esp + 0x128]
cmp dword [esp + 0x60], ecx
jl 0x408a17
mov eax, 0x390aceba
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x88], ecx
jmp 0x407270
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 4]
add word [esi + eax*2 + 0x8612], dx
mov eax, 0x37765c2a
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xb8], ecx
mov dword [esp + 0x94], edx
jmp 0x407270
mov eax, dword [esp + 0x140]
lea ecx, [eax + 1]
mov dword [esp + 0xa0], ecx
mov byte [esp + eax + 0x16c], 0
mov eax, 0x518fe5bc
mov ebx, dword [esp + 0x164]
jmp 0x407270
mov eax, 0x30544747
mov ecx, dword [esp + 0xfc]
cmp dword [esp + 0x5c], ecx
jb 0x408a94
mov eax, 0x8bd2a17c
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0xf8], ecx
jmp 0x407270
cmp eax, 0x8bd2a17c
jne 0x407270
add esp, 0x3ec
pop esi
pop edi
pop ebx
pop ebp
ret