Function at 0x13a74aa
Capabilities:
Parse pe header

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x2c
mov eax, dword [0x41f214]
mov ebp, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
mov dword [esp + 0x28], eax
xor eax, eax
push eax
xor ebx, ebx
push 0x2b
push ebp
call fcn.013a1975
mov edi, 0x402159
mov dword [esp + 8], edi
mov dword [esp], ebp
mov dword [esp + 4], 0x14
call fcn.013a1acd
add esp, 0xc
push edi
push 0x15
push ebp
call fcn.013a1acd
add esp, 0xc
push edi
push 0x2e
push ebp
call fcn.013a1acd
add esp, 0xc
mov edx, 0x403e8c
mov ecx, esi
push edi
call fcn.013a8c5d
add esp, 4
mov edi, eax
push edi
push ebx
xor ebx, ebx
push ebp
call fcn.013a1acd
add esp, 0xc
push edi
call fcn.013a31d8
add esp, 4
mov edx, 0x403e95
mov ecx, esi
push 0x77
push ebp
call fcn.013a8be3
add esp, 8
mov edx, 0x403ea1
mov ecx, esi
push 0x78
push ebp
push ebx
xor edi, edi
call fcn.013a8c25
add esp, 0xc
mov edx, 0x403ea9
mov ecx, esi
push 0x79
push ebp
push 0xffffffffffffffff
call fcn.013a8c25
add esp, 0xc
xor ebx, ebx
mov edx, 0x403eb6
mov ecx, esi
inc ebx
push 0x7a
push ebp
push ebx
call fcn.013a8c25
add esp, 0xc
mov edx, 0x403ebf
mov ecx, esi
push 0x7b
push ebp
push ebx
call fcn.013a8c25
add esp, 0xc
mov edx, 0x403ed3
mov ecx, esi
push 0x7c
push ebp
push edi
call fcn.013a8c25
add esp, 0xc
mov edx, 0x403ee2
mov ecx, esi
push 0x404742
call fcn.013a8c5d
add esp, 4
mov edi, eax
push dword [0x41df4c]
push 2
push ebp
call fcn.013a1975
add esp, 0xc
push dword [0x41df50]
push ebx
push ebp
call fcn.013a1975
add esp, 0xc
push edi
call fcn.013a73d8
add esp, 4
test eax, eax
je 0x13a760c
push dword [eax + 0x48]
push 2
push ebp
call fcn.013a1975
add esp, 0xc
mov edx, 0x403eeb
mov ecx, esi
push 1
push ebp
push dword [0x41df50]
call fcn.013a8c25
add esp, 0xc
push edi
call fcn.013a31d8
add esp, 4
mov edx, 0x403f6e
mov ecx, esi
push 3
push ebp
xor eax, eax
push eax
call fcn.013a8c25
add esp, 0xc
xor eax, eax
mov edi, 0x403ef6
inc eax
push eax
mov ebx, eax
push edi
call fcn.013d628d
add esp, 8
push eax
push edi
push esi
call fcn.013dd610
add esp, 0xc
mov ecx, eax
mov edx, 0x55555556
lea eax, [ecx + 1]
imul edx
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*2]
neg eax
lea eax, [ecx + eax + 1]
push eax
push 4
push ebp
call fcn.013a1975
add esp, 0xc
mov edx, 0x403f02
mov ecx, esi
push 5
push ebp
push ebx
call fcn.013a8c25
add esp, 0xc
xor eax, eax
mov edi, 0x403f0e
push eax
push edi
call fcn.013d628d
add esp, 8
push eax
push edi
push esi
call fcn.013dd610
add esp, 0xc
mov edi, eax
xor eax, eax
mov ebx, 0x403f1b
push eax
push ebx
call fcn.013d628d
add esp, 8
push eax
push ebx
push esi
call fcn.013dd610
add esp, 0xc
imul ecx, edi, 0x3c
add ecx, eax
push ecx
push 6
push ebp
call fcn.013a1975
add esp, 0xc
mov edx, 0x403f2c
mov ecx, esi
push 7
push ebp
xor eax, eax
inc eax
push eax
call fcn.013a8c25
add esp, 0xc
mov edx, 0x403f37
mov ecx, esi
push 8
push ebp
xor eax, eax
push eax
call fcn.013a8c25
add esp, 0xc
mov edx, 0x403f45
mov ecx, esi
push 0x40474a
call fcn.013a8c5d
add esp, 4
mov edi, eax
push edi
push 0x30
push ebp
call fcn.013a1acd
add esp, 0xc
push edi
call fcn.013a31d8
add esp, 4
mov edx, 0x403f52
mov ecx, esi
push 0x404750
call fcn.013a8c5d
add esp, 4
mov edi, eax
push edi
push 0x31
push ebp
call fcn.013a1acd
add esp, 0xc
push edi
call fcn.013a31d8
add esp, 4
mov edx, 0x403f60
mov ecx, esi
push 0x32
push ebp
call fcn.013a8c92
add esp, 8
mov esi, 0xffffff28
test eax, eax
je 0x13a77b2
mov edi, 0x40475c
mov ebx, dword [esi + 0x403cf0]
push ebx
push 0x32
push ebp
call fcn.013a1652
add esp, 0xc
test eax, eax
jne 0x13a77ab
push 0x403b7f
push ebx
call fcn.013ef06c
add esp, 8
test eax, eax
mov ecx, 0x40475e
cmove ecx, edi
push ecx
push ebx
push 0x32
push ebp
call fcn.013a1b48
add esp, 0x10
add esi, 4
jne 0x13a7770
jmp 0x13a77cd
push 0x40475c
push dword [esi + 0x403cf0]
push 0x32
push ebp
call fcn.013a1b48
add esp, 0x10
add esi, 4
jne 0x13a77b2
mov ebx, dword [esp + 0x40]
mov edx, 0x403f7c
mov ecx, ebx
push 0x402159
call fcn.013a8c5d
add esp, 4
mov edi, eax
push edi
push 0xa
push ebp
call fcn.013a1acd
add esp, 0xc
push edi
call fcn.013a31d8
sub esp, 4
mov esi, 0x403f8d
mov dword [esp], esi
mov dword [esp + 4], 1
call fcn.013d628d
add esp, 8
push eax
push esi
push ebx
call fcn.013dd610
add esp, 0xc
mov ecx, eax
mov edx, 0x55555556
lea eax, [ecx + 1]
imul edx
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*2]
neg eax
lea eax, [ecx + eax + 1]
push eax
push 0xb
push ebp
call fcn.013a1975
add esp, 0xc
mov edx, 0x403f96
mov ecx, ebx
push 0xc
push ebp
push 0
call fcn.013a8c25
add esp, 0xc
xor edi, edi
mov esi, 0xd
mov edx, 0x403fa5
mov ecx, ebx
dec edi
push esi
push ebp
push edi
call fcn.013a8c25
add esp, 0xc
push esi
push ebp
call fcn.013a147b
add esp, 8
cmp eax, edi
jne 0x13a7913
sub esp, 8
mov esi, 0x404760
mov dword [esp], esi
mov dword [esp + 4], 0
call fcn.013d628d
add esp, 8
push eax
push esi
push ebx
call fcn.013dd610
add esp, 0xc
cmp eax, 4
ja 0x13a78c7
jmp dword [eax*4 + 0x404bc0]
mov esi, 5
mov edi, 0x40476a
push esi
push edi
call fcn.013d628d
add esp, 8
push eax
push edi
push dword [esp + 0x48]
call fcn.013dd610
add esp, 0xc
cmp eax, esi
jne 0x13a7902
push 2
push 0xd
push ebp
jmp 0x13a7907
push 1
push 0xd
push ebp
call fcn.013a1975
add esp, 0xc
mov ebx, dword [esp + 0x40]
mov edx, 0x403fb1
mov ecx, ebx
push 0x4033f9
call fcn.013a8c5d
add esp, 4
mov edi, eax
push edi
push 0xe
push ebp
call fcn.013a1acd
add esp, 0xc
push edi
call fcn.013a31d8
add esp, 4
mov edx, 0x403fbb
mov ecx, ebx
push 0xf
push ebp
push 0x50
call fcn.013a8c25
add esp, 8
mov eax, 0x402159
mov edx, 0x403fc5
mov ecx, ebx
mov esi, 0x402159
mov dword [esp], eax
call fcn.013a8c5d
add esp, 4
mov edi, eax
push edi
push 0x10
push ebp
call fcn.013a1acd
add esp, 0xc
push edi
call fcn.013a31d8
add esp, 4
mov edx, 0x403fd3
mov ecx, ebx
push esi
mov esi, 0x402159
call fcn.013a8c5d
add esp, 4
mov edi, eax
push edi
push 0x11
push ebp
call fcn.013a1acd
add esp, 0xc
push edi
call fcn.013a31d8
add esp, 4
mov edx, 0x403fe1
mov ecx, ebx
push 0x40477c
call fcn.013a8c5d
add esp, 4
mov edi, eax
push edi
push 0x12
push ebp
call fcn.013a1acd
add esp, 0xc
push edi
call fcn.013a31d8
add esp, 4
mov edx, 0x403ff4
mov ecx, ebx
push 0x13
push ebp
xor eax, eax
inc eax
push eax
call fcn.013a8c25
add esp, 0xc
mov edx, 0x404003
mov ecx, ebx
push 0x33
push ebp
call fcn.013a8c92
add esp, 8
mov edx, 0x40400f
mov ecx, ebx
push esi
call fcn.013a8c5d
add esp, 4
mov edi, eax
push edi
push 0x34
push ebp
call fcn.013a1acd
add esp, 0xc
push edi
call fcn.013a31d8
add esp, 4
xor esi, esi
mov edx, 0x404018
mov ecx, ebx
push 0x35
push ebp
push esi
call fcn.013a8c25
add esp, 0xc
mov eax, 0x402159
mov edx, 0x404030
mov ecx, ebx
push eax
call fcn.013a8c5d
add esp, 4
mov edi, eax
push edi
push 0x36
push ebp
call fcn.013a1acd
add esp, 0xc
push edi
call fcn.013a31d8
add esp, 4
mov edx, 0x40403e
mov ecx, ebx
push 0x16
push ebp
push esi
call fcn.013a8c25
add esp, 0xc
mov edx, 0x404044
mov ecx, ebx
push 0x17
push ebp
push esi
call fcn.013a8c25
add esp, 0xc
mov edx, 0x404050
mov ecx, ebx
push 0x1c
push ebp
xor eax, eax
inc eax
push eax
call fcn.013a8c25
add esp, 0xc
mov edx, 0x404059
mov ecx, ebx
push 0x1d
push ebp
push esi
call fcn.013a8c25
add esp, 0xc
mov edx, 0x40406c
mov ecx, ebx
push 0x1e
push ebp
push esi
call fcn.013a8c25
add esp, 0xc
mov edx, 0x404062
mov ecx, ebx
push 0x28
push ebp
push esi
call fcn.013a8c25
add esp, 0xc
mov edx, 0x40407b
mov ecx, ebx
push 0x404792
call fcn.013a8c5d
add esp, 4
mov edi, eax
mov edx, 0x403cf4
mov ecx, edi
push 0x1f
push ebp
push 7
call fcn.013a8db2
add esp, 0xc
push edi
call fcn.013a31d8
add esp, 4
mov edi, 0x404806
push esi
push edi
call fcn.013d628d
add esp, 8
push eax
push edi
push ebx
call fcn.013dd610
add esp, 0xc
cmp eax, 2
mov eax, 0x4047cd
mov esi, 0x404794
mov edx, 0x404082
mov ecx, ebx
cmove esi, eax
push esi
call fcn.013a8c5d
add esp, 4
mov edi, eax
test edi, edi
jne 0x13a7b6b
push 0x366
push 0x404810
push 0x40482c
call fcn.013ec93a
add esp, 0xc
push 0x404844
push edi
call fcn.013ef06c
add esp, 8
test eax, eax
je 0x13a7ba3
push 0x404878
push edi
call fcn.013ef06c
add esp, 8
mov esi, dword [esp + 0x40]
test eax, eax
jne 0x13a7bc0
push edi
call fcn.013a31d8
add esp, 4
mov eax, 0x404794
jmp 0x13a7bb5
push edi
call fcn.013a31d8
add esp, 4
mov esi, dword [esp + 0x40]
mov eax, 0x4047cd
push eax
call fcn.013a2fa2
add esp, 4
mov edi, eax
mov ecx, edi
mov edx, 0x403d64
push 0x18
push ebp
push 6
call fcn.013a8db2
add esp, 0xc
push edi
call fcn.013a31d8
add esp, 4
mov ecx, esi
mov edx, 0x404086
push 0x4048ac
call fcn.013a8c5d
add esp, 4
mov edi, eax
mov edx, 0x403dc4
mov ecx, edi
push 0x19
push ebp
push 5
call fcn.013a8db2
add esp, 0xc
push edi
call fcn.013a31d8
add esp, 4
mov ecx, esi
mov edx, 0x40408e
push 0x1a
push ebp
push 0x3c
call fcn.013a8c25
add esp, 0xc
mov ecx, esi
mov edx, 0x404098
push 0x4048c7
call fcn.013a8c5d
add esp, 4
mov edi, eax
push edi
push 0x1b
push ebp
call fcn.013a1acd
add esp, 0xc
push edi
call fcn.013a31d8
sub esp, 4
mov edi, 0x4040ee
mov dword [esp], edi
mov dword [esp + 4], 3
call fcn.013d628d
add esp, 8
xor ebx, ebx
push eax
push edi
push esi
call fcn.013dd610
add esp, 0xc
cmp eax, 1
mov ecx, 0
je 0x13a7c8c
cmp eax, 2
jne 0x13a7c8a
mov ecx, 3
jmp 0x13a7c8c
mov ecx, eax
push ecx
push 0x21
push ebp
call fcn.013a1975
add esp, 8
mov eax, 0x402159
mov edx, 0x4040f6
mov ecx, esi
mov dword [esp], eax
call fcn.013a8c5d
add esp, 4
mov edi, eax
push edi
push 9
push ebp
call fcn.013a1acd
add esp, 0xc
push edi
call fcn.013a31d8
add esp, 4
mov edx, 0x4040fe
mov ecx, esi
push 0x22
push ebp
push ebx
call fcn.013a8c25
add esp, 0xc
mov edx, 0x4040a3
mov ecx, esi
push 0x23
push ebp
push ebx
call fcn.013a8c25
add esp, 0xc
mov edx, 0x4040ad
mov ecx, esi
push 0x24
push ebp
xor eax, eax
inc eax
push eax
mov edi, eax
call fcn.013a8c25
add esp, 0xc
mov edx, 0x4040b7
mov ecx, esi
push 0x25
push ebp
push ebx
call fcn.013a8c25
add esp, 0xc
mov edx, 0x4040bf
mov ecx, esi
push 0x26
push ebp
push edi
call fcn.013a8c25
add esp, 0xc
mov edx, 0x4040c6
mov ecx, esi
push 0x27
push ebp
push edi
mov ebx, edi
call fcn.013a8c25
add esp, 0xc
mov edx, 0x4040d1
mov ecx, esi
push 0x404792
call fcn.013a8c5d
add esp, 4
mov edi, eax
mov edx, 0x412540
mov ecx, edi
push 0x29
push ebp
push dword [0x412530]
call fcn.013a8db2
add esp, 0xc
push edi
call fcn.013a31d8
add esp, 4
mov edx, 0x4040d9
mov ecx, esi
push 0x2a
push ebp
call fcn.013a8be3
add esp, 8
mov edx, 0x4040e3
mov ecx, esi
push 0x2d
push ebp
xor eax, eax
push eax
call fcn.013a8c25
add esp, 0xc
mov edx, 0x404106
mov ecx, esi
push 0x20
push ebp
call fcn.013a8be3
add esp, 8
mov eax, 0x402159
mov edx, 0x404114
mov ecx, esi
push eax
call fcn.013a8c5d
add esp, 4
mov edi, eax
push edi
push 0x14
push ebp
call fcn.013a1acd
add esp, 0xc
push edi
call fcn.013a31d8
add esp, 4
mov edx, 0x404122
mov ecx, esi
push 0x37
push ebp
xor eax, eax
push eax
call fcn.013a8c25
add esp, 0xc
mov edx, 0x40412d
mov ecx, esi
push 0x38
push ebp
xor eax, eax
push eax
call fcn.013a8c25
add esp, 0xc
mov edx, 0x40413b
mov ecx, esi
push 0x3f
push ebp
push ebx
call fcn.013a8c25
add esp, 0xc
mov edx, 0x40414d
mov ecx, esi
push 0x40
push ebp
xor eax, eax
push eax
call fcn.013a8c25
add esp, 0xc
mov edx, 0x404159
mov ecx, esi
push 0x41
push ebp
xor eax, eax
push eax
call fcn.013a8c25
add esp, 0xc
mov edx, 0x40416b
mov ecx, esi
push 0x43
push ebp
xor eax, eax
push eax
call fcn.013a8c25
add esp, 0xc
mov edx, 0x40417d
mov ecx, esi
push 0x42
push ebp
xor eax, eax
push eax
call fcn.013a8c25
add esp, 0xc
mov edx, 0x404192
mov ecx, esi
push 0x44
push ebp
xor eax, eax
push eax
call fcn.013a8c25
add esp, 0xc
mov edx, 0x4041a3
mov ecx, esi
push 0x45
push ebp
xor eax, eax
push eax
call fcn.013a8c25
add esp, 0xc
mov edx, 0x4041b2
mov ecx, esi
push 0x46
push ebp
xor eax, eax
push eax
call fcn.013a8c25
add esp, 0xc
mov edx, 0x4041be
mov ecx, esi
push 0x47
push ebp
xor eax, eax
push eax
call fcn.013a8c25
add esp, 0xc
mov edx, 0x4041cf
mov ecx, esi
push 0x48
push ebp
xor eax, eax
push eax
call fcn.013a8c25
add esp, 0xc
mov edi, 0x4048ca
push ebx
push edi
call fcn.013d628d
add esp, 8
push eax
push edi
push esi
call fcn.013dd610
add esp, 0xc
cmp eax, ebx
mov eax, 2
mov edi, 2
mov edx, 0x4041e3
mov ecx, esi
adc eax, 0xffffffff
push 0x4b
push ebp
push eax
call fcn.013a8c25
add esp, 0xc
mov edx, 0x4041f6
mov ecx, esi
push 0x49
push ebp
xor eax, eax
push eax
call fcn.013a8c25
add esp, 0xc
mov edx, 0x404203
mov ecx, esi
push 0x4a
push ebp
xor eax, eax
push eax
call fcn.013a8c25
add esp, 0xc
mov edx, 0x404213
mov ecx, esi
push 0x4c
push ebp
xor eax, eax
push eax
call fcn.013a8c25
add esp, 0xc
mov edx, 0x404229
mov ecx, esi
push 0x4d
push ebp
xor eax, eax
push eax
call fcn.013a8c25
add esp, 0xc
mov edx, 0x40423b
mov ecx, esi
push 0x4e
push ebp
xor eax, eax
push eax
call fcn.013a8c25
add esp, 0xc
mov edx, 0x404249
mov ecx, esi
push 0x51
push ebp
push ebx
call fcn.013a8c25
add esp, 0xc
mov edx, 0x40424f
mov ecx, esi
push 0x52
push ebp
xor eax, eax
push eax
call fcn.013a8c25
add esp, 0xc
mov edx, 0x404258
mov ecx, esi
push 0x53
push ebp
xor eax, eax
push eax
call fcn.013a8c25
add esp, 0xc
mov edx, 0x404260
mov ecx, esi
push 0x5b
push ebp
xor eax, eax
push eax
call fcn.013a8c25
add esp, 0xc
mov edx, 0x40426b
mov ecx, esi
push 0x5c
push ebp
push ebx
call fcn.013a8c25
add esp, 0xc
mov edx, 0x404277
mov ecx, esi
push 0x4f
push ebp
xor eax, eax
push eax
call fcn.013a8c25
add esp, 0xc
mov eax, 0x50
mov edx, 0x404281
mov ecx, esi
push eax
push ebp
push ebx
call fcn.013a8c25
add esp, 0xc
mov edx, 0x40428b
mov ecx, esi
push 0x54
push ebp
push edi
call fcn.013a8c25
add esp, 0xc
mov edx, 0x404295
mov ecx, esi
push 0x55
push ebp
mov dword [esp + 8], 2
push edi
call fcn.013a8c25
add esp, 0xc
mov edx, 0x40429f
mov ecx, esi
push 0x402048
call fcn.013a8c5d
add esp, 4
mov edi, eax
push edi
push 0x80
push ebp
call fcn.013a1acd
add esp, 0xc
push edi
call fcn.013a31d8
add esp, 4
mov edx, 0x4042aa
mov ecx, esi
push 0x56
push ebp
xor eax, eax
push eax
call fcn.013a8c25
add esp, 0xc
mov edx, 0x4042b6
mov ecx, esi
push 0x57
push ebp
xor eax, eax
push eax
call fcn.013a8c25
add esp, 0xc
mov edx, 0x4042cb
mov ecx, esi
push 0x7d
push ebp
xor eax, eax
push eax
call fcn.013a8c25
add esp, 0xc
mov edx, 0x4042d8
mov ecx, esi
push 0x7e
push ebp
xor eax, eax
push eax
call fcn.013a8c25
add esp, 0xc
mov edx, 0x4042e3
mov ecx, esi
push 0x7f
push ebp
push ebx
call fcn.013a8c25
add esp, 0xc
mov edx, 0x4042f0
mov ecx, esi
push 0x64
push ebp
xor eax, eax
push eax
call fcn.013a8c25
add esp, 0xc
mov edx, 0x4042f8
mov ecx, esi
push 0x65
push ebp
xor eax, eax
push eax
call fcn.013a8c25
add esp, 0xc
mov edx, 0x404301
mov ecx, esi
push 0x66
push ebp
push ebx
call fcn.013a8c25
add esp, 0xc
mov edx, 0x404306
mov ecx, esi
push 0x67
push ebp
xor eax, eax
push eax
call fcn.013a8c25
add esp, 0xc
mov edx, 0x40430e
mov ecx, esi
push 0x6c
push ebp
call fcn.013a8be3
add esp, 8
mov edx, 0x40431b
mov ecx, esi
push 0x68
push ebp
push ebx
call fcn.013a8c25
add esp, 0xc
mov edx, 0x404328
mov ecx, esi
push 0x69
push ebp
push 5
call fcn.013a8c25
add esp, 0xc
mov edi, 0x7d0
mov ebx, 0x404336
push edi
push ebx
call fcn.013d628d
add esp, 8
push eax
push ebx
push esi
call fcn.013dd610
add esp, 0xc
push eax
push 0x6a
push ebp
call fcn.013a1975
add esp, 4
mov ebx, 0x404344
mov dword [esp], ebx
mov dword [esp + 4], 0x1388
call fcn.013d628d
add esp, 8
push eax
push ebx
xor ebx, ebx
push esi
call fcn.013dd610
add esp, 0xc
push eax
push 0x6b
push ebp
call fcn.013a1975
add esp, 0xc
mov edx, 0x404352
mov ecx, esi
push 0x60
push ebp
push edi
call fcn.013a8c25
add esp, 0xc
mov edx, 0x404362
mov ecx, esi
push 0x61
push ebp
push ebx
call fcn.013a8c25
add esp, 0xc
mov edx, 0x404370
mov ecx, esi
push 0x62
push ebp
xor edi, edi
inc edi
push edi
call fcn.013a8c25
add esp, 0xc
mov edx, 0x40437d
mov ecx, esi
push 0x63
push ebp
push ebx
call fcn.013a8c25
add esp, 0xc
mov edx, 0x404389
mov ecx, esi
push 0xb6
push ebp
push ebx
call fcn.013a8c25
add esp, 0xc
mov edx, 0x404395
mov ecx, esi
push 0x82
push ebp
push ebx
call fcn.013a8c25
add esp, 0xc
mov edx, 0x4043aa
mov ecx, esi
push 0x83
push ebp
push ebx
call fcn.013a8c25
add esp, 0xc
mov edx, 0x4043b6
mov ecx, esi
push 0x72
push ebp
push edi
call fcn.013a8c25
add esp, 0xc
mov eax, 0x402159
mov edx, 0x4043c4
mov ecx, esi
push eax
call fcn.013a8c5d
add esp, 4
mov edi, eax
push edi
push 0x5f
push ebp
call fcn.013a1acd
add esp, 0xc
push edi
call fcn.013a31d8
add esp, 4
mov edx, 0x4043cd
mov ecx, esi
push 0x73
push ebp
mov eax, 0x50
push eax
call fcn.013a8c25
add esp, 0xc
mov edx, 0x4043d7
mov ecx, esi
push 0x74
push ebp
push 0x18
call fcn.013a8c25
add esp, 0xc
mov edx, 0x4043e2
mov ecx, esi
push 0x75
push ebp
call fcn.013a9004
add esp, 8
mov edx, 0x4043e7
mov ecx, esi
push 0x76
push ebp
push ebx
call fcn.013a8c25
add esp, 0xc
mov edx, 0x4043f3
mov ecx, esi
push 0x90
push ebp
push 4
call fcn.013a8c25
add esp, 0xc
mov edx, 0x4043fe
mov ecx, esi
push 0x86
push ebp
push ebx
call fcn.013a8c25
add esp, 0xc
mov edx, 0x40440f
mov ecx, esi
push 0x87
push ebp
push ebx
call fcn.013a8c25
add esp, 0xc
mov edx, 0x40441a
mov ecx, esi
push 0x84
push ebp
xor edi, edi
inc edi
push edi
call fcn.013a8c25
add esp, 0xc
mov edx, 0x404425
mov ecx, esi
push 0x85
push ebp
push edi
call fcn.013a8c25
add esp, 0xc
xor eax, eax
mov edi, 0x404434
inc eax
push eax
push edi
call fcn.013d628d
add esp, 8
push eax
push edi
push esi
call fcn.013dd610
add esp, 0xc
inc eax
push eax
push 0x88
mov edi, ebp
push ebp
call fcn.013a1975
add esp, 0xc
push ebx
push 0x404441
lea ebp, [esp + 0x1c]
push ebp
call fcn.013a218c
add esp, 0xc
mov edx, ebp
mov ebp, ebx
mov ecx, esi
push dword [ebx*4 + 0x403e14]
call fcn.013a8c5d
add esp, 4
mov ebx, eax
lea eax, [esp + 8]
push eax
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x18]
push eax
push 0x40444a
push ebx
call fcn.013a6314
add esp, 0x14
cmp eax, 3
jne 0x13a8414
mov esi, dword [esp]
lea eax, [esi - 2]
push dword [esp + 0x10]
push eax
mov eax, 0x89
push eax
mov eax, edi
push eax
call fcn.013a1a3f
add esp, 0x10
lea eax, [esi - 1]
push dword [esp + 0xc]
push eax
mov eax, 0x89
push eax
push dword [esp + 0x50]
call fcn.013a1a3f
add esp, 0x10
push dword [esp + 8]
push esi
mov eax, 0x89
push eax
push dword [esp + 0x50]
mov esi, dword [esp + 0x50]
call fcn.013a1a3f
add esp, 0x10
push ebx
call fcn.013a31d8
add esp, 4
mov ebx, ebp
add dword [esp], 3
inc ebx
cmp ebx, 0x16
jne 0x13a8377
xor ebp, ebp
mov edx, 0x404453
mov ecx, esi
push 0x8c
mov ebx, esi
mov esi, edi
push esi
push ebp
call fcn.013a8c25
add esp, 0xc
mov edx, 0x40445a
mov ecx, ebx
push 0x8d
push esi
push ebp
call fcn.013a8c25
add esp, 0xc
mov edx, 0x404463
mov ecx, ebx
push 0x8a
push esi
push ebp
call fcn.013a8c25
add esp, 0xc
mov edx, 0x404470
mov ecx, ebx
push 0x8b
push esi
push ebp
call fcn.013a8c25
add esp, 0xc
mov ecx, ebx
xor ebx, ebx
mov edx, 0x40447b
push 0x8e
push esi
push 1
call fcn.013a8c25
add esp, 0xc
push ebx
push 0x404489
lea esi, [esp + 0x1c]
push esi
call fcn.013a218c
add esp, 0xc
mov ecx, dword [esp + 0x40]
mov eax, ebx
mov edx, esi
shr eax, 3
push dword [eax + 0x403e6c]
call fcn.013a8c5d
add esp, 4
lea ebp, [ebx + 0x20]
mov dword [esp], ebx
mov esi, ebx
mov ebx, eax
mov dword [esp + 4], eax
mov cl, byte [ebx]
test cl, cl
je 0x13a84f0
cmp cl, 0x2c
je 0x13a84ec
inc ebx
jmp 0x13a84de
mov byte [ebx], 0
inc ebx
push eax
call fcn.013ed6d4
add esp, 4
push eax
push esi
push 0x8f
push edi
call fcn.013a1a3f
add esp, 0x10
inc esi
mov eax, ebx
cmp esi, ebp
jl 0x13a84de
push dword [esp + 4]
call fcn.013a31d8
add esp, 4
cmp dword [esp], 0xe0
mov ebx, ebp
jl 0x13a84a4
sub esp, 4
mov ebx, dword [esp + 0x44]
mov eax, 0x402159
mov edx, 0x404496
mov dword [esp], eax
mov ecx, ebx
call fcn.013a8c5d
add esp, 4
mov esi, eax
push esi
push 0x91
mov ebp, edi
push ebp
call fcn.013a1acd
add esp, 0xc
push esi
call fcn.013a31d8
add esp, 4
xor eax, eax
mov edx, 0x4044a3
mov ecx, ebx
push 0x92
push ebp
push eax
call fcn.013a8c25
add esp, 0xc
mov edx, 0x4044b0
mov ecx, ebx
push 0x93
push ebp
xor esi, esi
inc esi
push esi
call fcn.013a8c25
add esp, 0xc
mov eax, 0x402159
mov edx, 0x4044bd
mov ecx, ebx
push eax
call fcn.013a8c5d
add esp, 4
mov edi, eax
push edi
push 0x81
push ebp
call fcn.013a1acd
add esp, 0xc
push edi
call fcn.013a31d8
add esp, 4
mov edx, 0x4044c5
mov ecx, ebx
push 0x94
push ebp
xor edi, edi
push edi
call fcn.013a8c25
add esp, 0xc
mov edx, 0x4044d1
mov ecx, ebx
push 0x6d
push ebp
push esi
call fcn.013a8c25
add esp, 0xc
mov edx, 0x4044db
mov ecx, ebx
push 0x6e
push ebp
push edi
call fcn.013a8c25
add esp, 0xc
mov edx, 0x4044ef
mov ecx, ebx
push 0x58
push ebp
push edi
xor edi, edi
call fcn.013a8c25
add esp, 0xc
mov edx, 0x4044fb
mov ecx, ebx
push 0x59
push ebp
push esi
call fcn.013a8c25
add esp, 0xc
mov edx, 0x404508
mov ecx, ebx
push 0x5a
push ebp
push esi
call fcn.013a8c25
add esp, 0xc
mov edx, 0x40451a
mov ecx, ebx
push 0x6f
push ebp
push edi
call fcn.013a8c25
add esp, 0xc
mov edx, 0x404523
mov ecx, ebx
push 0x70
push ebp
push esi
call fcn.013a8c25
add esp, 0xc
mov edx, 0x404527
mov ecx, ebx
push 0x71
push ebp
push edi
call fcn.013a8c25
add esp, 0xc
mov edx, 0x404531
mov ecx, ebx
push 0x95
push ebp
push edi
call fcn.013a8c25
add esp, 0xc
mov eax, 0x402159
mov edx, 0x40453c
mov ecx, ebx
push eax
call fcn.013a8c5d
add esp, 4
mov edi, eax
push edi
push 0x96
push ebp
call fcn.013a1acd
add esp, 0xc
push edi
call fcn.013a31d8
add esp, 4
mov edx, 0x404547
mov ecx, ebx
push 0x97
push ebp
push esi
xor esi, esi
call fcn.013a8c25
add esp, 0xc
mov edx, 0x404553
mov ecx, ebx
push 0x98
push ebp
call fcn.013a8be3
add esp, 8
mov edx, 0x40455f
mov ecx, ebx
push 0x99
push ebp
push esi
call fcn.013a8c25
add esp, 0xc
mov edx, 0x404572
mov ecx, ebx
push 0x9a
push ebp
push esi
call fcn.013a8c25
add esp, 0xc
mov edx, 0x404586
mov ecx, ebx
push 0x9b
push ebp
call fcn.013a8c92
add esp, 8
mov edi, 0x404596
push esi
push edi
call fcn.013d628d
add esp, 8
push eax
push edi
push ebx
call fcn.013dd610
add esp, 0xc
mov ecx, 2
sub ecx, eax
push ecx
push 0x9c
push ebp
call fcn.013a1975
add esp, 0xc
mov edi, 0x4045a1
push esi
push edi
call fcn.013d628d
add esp, 8
push eax
push edi
push ebx
call fcn.013dd610
add esp, 0xc
mov ecx, 2
sub ecx, eax
push ecx
push 0x9d
push ebp
call fcn.013a1975
add esp, 0xc
mov edi, 0x4045ad
push esi
push edi
call fcn.013d628d
add esp, 8
push eax
push edi
push ebx
call fcn.013dd610
add esp, 0xc
mov ecx, 2
sub ecx, eax
push ecx
push 0x9e
push ebp
call fcn.013a1975
add esp, 0xc
mov edi, 0x4045b5
push esi
push edi
call fcn.013d628d
add esp, 8
push eax
push edi
push ebx
call fcn.013dd610
add esp, 0xc
mov ecx, 2
sub ecx, eax
push ecx
push 0xa5
push ebp
call fcn.013a1975
add esp, 0xc
mov edi, 0x4045c0
push esi
push edi
call fcn.013d628d
add esp, 8
push eax
push edi
push ebx
call fcn.013dd610
add esp, 0xc
mov edi, eax
mov ecx, 2
sub ecx, edi
push ecx
push 0x9f
push ebp
call fcn.013a1975
add esp, 0xc
test edi, edi
jne 0x13a885b
sub esp, 8
mov edi, 0x404afd
mov dword [esp], edi
mov dword [esp + 4], 0
call fcn.013d628d
add esp, 8
push eax
push edi
push ebx
call fcn.013dd610
add esp, 0xc
cmp eax, 1
jne 0x13a885b
push 0
push 0x9f
push ebp
call fcn.013a1975
add esp, 0xc
xor eax, eax
mov edi, 0x4045c9
push eax
xor esi, esi
push edi
call fcn.013d628d
add esp, 8
push eax
push edi
push ebx
call fcn.013dd610
add esp, 0xc
mov ecx, 2
sub ecx, eax
push ecx
push 0xa0
push ebp
call fcn.013a1975
add esp, 0xc
mov edi, 0x4045d7
push esi
xor esi, esi
push edi
call fcn.013d628d
add esp, 8
push eax
push edi
push ebx
call fcn.013dd610
add esp, 0xc
mov ecx, 2
sub ecx, eax
push ecx
push 0xa1
push ebp
call fcn.013a1975
add esp, 0xc
mov edi, 0x4045e2
push esi
xor esi, esi
push edi
call fcn.013d628d
add esp, 8
push eax
push edi
push ebx
call fcn.013dd610
add esp, 0xc
mov ecx, 2
sub ecx, eax
push ecx
push 0xa2
push ebp
call fcn.013a1975
add esp, 0xc
mov edi, 0x4045ef
push esi
xor esi, esi
push edi
call fcn.013d628d
add esp, 8
push eax
push edi
push ebx
call fcn.013dd610
add esp, 0xc
mov ecx, 2
sub ecx, eax
push ecx
push 0xa3
push ebp
call fcn.013a1975
add esp, 0xc
mov edi, 0x4045f9
push esi
xor esi, esi
push edi
call fcn.013d628d
add esp, 8
push eax
push edi
push ebx
call fcn.013dd610
add esp, 0xc
mov ecx, 2
sub ecx, eax
push ecx
push 0xa4
push ebp
call fcn.013a1975
add esp, 0xc
mov edi, 0x404604
push esi
xor esi, esi
push edi
call fcn.013d628d
add esp, 8
push eax
push edi
push ebx
call fcn.013dd610
add esp, 0xc
mov ecx, 2
sub ecx, eax
push ecx
push 0xa6
push ebp
call fcn.013a1975
add esp, 0xc
mov edi, 0x40460f
push esi
xor esi, esi
push edi
call fcn.013d628d
add esp, 8
push eax
push edi
push ebx
call fcn.013dd610
add esp, 0xc
mov ecx, 2
sub ecx, eax
push ecx
push 0xa7
push ebp
call fcn.013a1975
add esp, 0xc
mov edi, 0x404619
push esi
xor esi, esi
push edi
call fcn.013d628d
add esp, 8
push eax
push edi
push ebx
call fcn.013dd610
add esp, 0xc
mov ecx, 2
sub ecx, eax
push ecx
push 0xa8
push ebp
call fcn.013a1975
add esp, 0xc
push esi
xor esi, esi
push 0xa9
push ebp
call fcn.013a1975
add esp, 0xc
mov edx, 0x404624
mov ecx, ebx
push 0xae
push ebp
xor eax, eax
inc eax
push eax
mov edi, eax
call fcn.013a8c25
add esp, 0xc
mov edx, 0x40462e
mov ecx, ebx
push 0xaf
push ebp
push edi
call fcn.013a8c25
add esp, 0xc
mov edx, 0x404639
mov ecx, ebx
push 0xb0
push ebp
push esi
call fcn.013a8c25
add esp, 0xc
mov edx, 0x404668
mov ecx, ebx
push 0xb1
push ebp
push esi
xor esi, esi
call fcn.013a8c25
add esp, 0xc
mov edx, 0x404649
mov ecx, ebx
push 0xb2
push ebp
call fcn.013a9004
add esp, 8
mov edx, 0x404652
mov ecx, ebx
push 0xb3
push ebp
call fcn.013a9004
add esp, 8
mov edx, 0x40465b
mov ecx, ebx
push 0xb4
push ebp
call fcn.013a9004
add esp, 8
mov edx, 0x404673
mov ecx, ebx
push 0xb5
push ebp
push edi
call fcn.013a8c25
add esp, 0xc
mov eax, 0x402159
mov edx, 0x404684
mov ecx, ebx
push eax
call fcn.013a8c5d
add esp, 4
mov edi, eax
push edi
push 0x39
push ebp
call fcn.013a1acd
add esp, 0xc
push edi
call fcn.013a31d8
add esp, 4
mov edx, 0x40468f
mov ecx, ebx
push 0x3a
push ebp
push 0x2580
call fcn.013a8c25
add esp, 0xc
mov edx, 0x40469b
mov ecx, ebx
push 0x3b
push ebp
push 8
call fcn.013a8c25
add esp, 0xc
mov edx, 0x4046aa
mov ecx, ebx
push 0x3c
push ebp
mov eax, 2
push eax
call fcn.013a8c25
add esp, 0xc
mov edx, 0x4046bd
mov ecx, ebx
push 0x3d
push ebp
push esi
call fcn.013a8c25
add esp, 0xc
mov edx, 0x4046ca
mov ecx, ebx
push 0x3e
push ebp
xor esi, esi
inc esi
push esi
call fcn.013a8c25
add esp, 0xc
mov eax, 0x402159
mov edx, 0x4046dc
mov ecx, ebx
push eax
call fcn.013a8c5d
add esp, 4
mov edi, eax
push edi
push 0xb7
push ebp
call fcn.013a1acd
add esp, 0xc
push edi
call fcn.013a31d8
add esp, 4
mov edx, 0x4046e8
mov ecx, ebx
push 0xaa
push ebp
xor eax, eax
push eax
call fcn.013a8c25
add esp, 0xc
mov edx, 0x4046fa
mov ecx, ebx
push 0xab
push ebp
push esi
call fcn.013a8c25
add esp, 0xc
mov edx, 0x404714
mov ecx, ebx
push 0xac
push ebp
push esi
call fcn.013a8c25
add esp, 0xc
mov edx, 0x404730
mov ecx, ebx
push 0xad
push ebp
call fcn.013a8c92
add esp, 8
mov ecx, dword [esp + 0x28]
call fcn.013df522
add esp, 0x2c
pop esi
pop edi
pop ebx
pop ebp
ret