Function at 0x14cd97c
Capabilities:
Parse pe header

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x2c
mov eax, dword [0x42b238]
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.014b9c9f
mov edi, 0x402159
mov dword [esp + 8], edi
mov dword [esp], ebp
mov dword [esp + 4], 0x14
call fcn.014b9df7
add esp, 0xc
push edi
push 0x15
push ebp
call fcn.014b9df7
add esp, 0xc
push edi
push 0x2e
push ebp
call fcn.014b9df7
add esp, 0xc
mov edx, 0x40a658
mov ecx, esi
push edi
call fcn.014cf12f
add esp, 4
mov edi, eax
push edi
push ebx
xor ebx, ebx
push ebp
call fcn.014b9df7
add esp, 0xc
push edi
call fcn.014c7790
add esp, 4
mov edx, 0x40a661
mov ecx, esi
push 0x77
push ebp
call fcn.014cf0b5
add esp, 8
mov edx, 0x40a66d
mov ecx, esi
push 0x78
push ebp
push ebx
xor edi, edi
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40a675
mov ecx, esi
push 0x79
push ebp
push 0xffffffffffffffff
call fcn.014cf0f7
add esp, 0xc
xor ebx, ebx
mov edx, 0x40a682
mov ecx, esi
inc ebx
push 0x7a
push ebp
push ebx
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40a68b
mov ecx, esi
push 0x7b
push ebp
push ebx
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40a69f
mov ecx, esi
push 0x7c
push ebp
push edi
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40a6ae
mov ecx, esi
push 0x40af13
call fcn.014cf12f
add esp, 4
mov edi, eax
push dword [0x428eb8]
push 2
push ebp
call fcn.014b9c9f
add esp, 0xc
push dword [0x428ebc]
push ebx
push ebp
call fcn.014b9c9f
add esp, 0xc
push edi
call fcn.014cbf90
add esp, 4
test eax, eax
je 0x14cdade
push dword [eax + 0x48]
push 2
push ebp
call fcn.014b9c9f
add esp, 0xc
mov edx, 0x40a6b7
mov ecx, esi
push 1
push ebp
push dword [0x428ebc]
call fcn.014cf0f7
add esp, 0xc
push edi
call fcn.014c7790
add esp, 4
mov edx, 0x40a73a
mov ecx, esi
push 3
push ebp
xor eax, eax
push eax
call fcn.014cf0f7
add esp, 0xc
xor eax, eax
mov edi, 0x40a6c2
inc eax
push eax
mov ebx, eax
push edi
call fcn.0150b415
add esp, 8
push eax
push edi
push esi
call fcn.0151c1ad
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.014b9c9f
add esp, 0xc
mov edx, 0x40a6ce
mov ecx, esi
push 5
push ebp
push ebx
call fcn.014cf0f7
add esp, 0xc
xor eax, eax
mov edi, 0x40a6da
push eax
push edi
call fcn.0150b415
add esp, 8
push eax
push edi
push esi
call fcn.0151c1ad
add esp, 0xc
mov edi, eax
xor eax, eax
mov ebx, 0x40a6e7
push eax
push ebx
call fcn.0150b415
add esp, 8
push eax
push ebx
push esi
call fcn.0151c1ad
add esp, 0xc
imul ecx, edi, 0x3c
add ecx, eax
push ecx
push 6
push ebp
call fcn.014b9c9f
add esp, 0xc
mov edx, 0x40a6f8
mov ecx, esi
push 7
push ebp
xor eax, eax
inc eax
push eax
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40a703
mov ecx, esi
push 8
push ebp
xor eax, eax
push eax
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40a711
mov ecx, esi
push 0x40af1b
call fcn.014cf12f
add esp, 4
mov edi, eax
push edi
push 0x30
push ebp
call fcn.014b9df7
add esp, 0xc
push edi
call fcn.014c7790
add esp, 4
mov edx, 0x40a71e
mov ecx, esi
push 0x40af21
call fcn.014cf12f
add esp, 4
mov edi, eax
push edi
push 0x31
push ebp
call fcn.014b9df7
add esp, 0xc
push edi
call fcn.014c7790
add esp, 4
mov edx, 0x40a72c
mov ecx, esi
push 0x32
push ebp
call fcn.014cf164
add esp, 8
mov esi, 0xffffff28
test eax, eax
je 0x14cdc84
mov edi, 0x40af2d
mov ebx, dword [esi + 0x40a4b4]
push ebx
push 0x32
push ebp
call fcn.014b98e2
add esp, 0xc
test eax, eax
jne 0x14cdc7d
push 0x40a345
push ebx
call fcn.0152fabc
add esp, 8
test eax, eax
mov ecx, 0x40af2f
cmove ecx, edi
push ecx
push ebx
push 0x32
push ebp
call fcn.014b9e72
add esp, 0x10
add esi, 4
jne 0x14cdc42
jmp 0x14cdc9f
push 0x40af2d
push dword [esi + 0x40a4b4]
push 0x32
push ebp
call fcn.014b9e72
add esp, 0x10
add esi, 4
jne 0x14cdc84
mov ebx, dword [esp + 0x40]
mov edx, 0x40a748
mov ecx, ebx
push 0x402159
call fcn.014cf12f
add esp, 4
mov edi, eax
push edi
push 0xa
push ebp
call fcn.014b9df7
add esp, 0xc
push edi
call fcn.014c7790
sub esp, 4
mov esi, 0x40a759
mov dword [esp], esi
mov dword [esp + 4], 1
call fcn.0150b415
add esp, 8
push eax
push esi
push ebx
call fcn.0151c1ad
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.014b9c9f
add esp, 0xc
mov edx, 0x40a762
mov ecx, ebx
push 0xc
push ebp
push 0
call fcn.014cf0f7
add esp, 0xc
xor edi, edi
mov esi, 0xd
mov edx, 0x40a771
mov ecx, ebx
dec edi
push esi
push ebp
push edi
call fcn.014cf0f7
add esp, 0xc
push esi
push ebp
call fcn.014b970b
add esp, 8
cmp eax, edi
jne 0x14cdde5
sub esp, 8
mov esi, 0x40af31
mov dword [esp], esi
mov dword [esp + 4], 0
call fcn.0150b415
add esp, 8
push eax
push esi
push ebx
call fcn.0151c1ad
add esp, 0xc
cmp eax, 4
ja 0x14cdd99
jmp dword [eax*4 + 0x40b3a4]
mov esi, 5
mov edi, 0x40af3b
push esi
push edi
call fcn.0150b415
add esp, 8
push eax
push edi
push dword [esp + 0x48]
call fcn.0151c1ad
add esp, 0xc
cmp eax, esi
jne 0x14cddd4
push 2
push 0xd
push ebp
jmp 0x14cddd9
push 1
push 0xd
push ebp
call fcn.014b9c9f
add esp, 0xc
mov ebx, dword [esp + 0x40]
mov edx, 0x40a77d
mov ecx, ebx
push 0x4099ad
call fcn.014cf12f
add esp, 4
mov edi, eax
push edi
push 0xe
push ebp
call fcn.014b9df7
add esp, 0xc
push edi
call fcn.014c7790
add esp, 4
mov edx, 0x40a787
mov ecx, ebx
push 0xf
push ebp
push 0x50
call fcn.014cf0f7
add esp, 8
mov eax, 0x402159
mov edx, 0x40a791
mov ecx, ebx
mov esi, 0x402159
mov dword [esp], eax
call fcn.014cf12f
add esp, 4
mov edi, eax
push edi
push 0x10
push ebp
call fcn.014b9df7
add esp, 0xc
push edi
call fcn.014c7790
add esp, 4
mov edx, 0x40a79f
mov ecx, ebx
push esi
mov esi, 0x402159
call fcn.014cf12f
add esp, 4
mov edi, eax
push edi
push 0x11
push ebp
call fcn.014b9df7
add esp, 0xc
push edi
call fcn.014c7790
add esp, 4
mov edx, 0x40a7ad
mov ecx, ebx
push 0x40af4d
call fcn.014cf12f
add esp, 4
mov edi, eax
push edi
push 0x12
push ebp
call fcn.014b9df7
add esp, 0xc
push edi
call fcn.014c7790
add esp, 4
mov edx, 0x40a7c0
mov ecx, ebx
push 0x13
push ebp
xor eax, eax
inc eax
push eax
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40a7cf
mov ecx, ebx
push 0x33
push ebp
call fcn.014cf164
add esp, 8
mov edx, 0x40a7db
mov ecx, ebx
push esi
call fcn.014cf12f
add esp, 4
mov edi, eax
push edi
push 0x34
push ebp
call fcn.014b9df7
add esp, 0xc
push edi
call fcn.014c7790
add esp, 4
xor esi, esi
mov edx, 0x40a7e4
mov ecx, ebx
push 0x35
push ebp
push esi
call fcn.014cf0f7
add esp, 0xc
mov eax, 0x402159
mov edx, 0x40a7fc
mov ecx, ebx
push eax
call fcn.014cf12f
add esp, 4
mov edi, eax
push edi
push 0x36
push ebp
call fcn.014b9df7
add esp, 0xc
push edi
call fcn.014c7790
add esp, 4
mov edx, 0x40a80a
mov ecx, ebx
push 0x16
push ebp
push esi
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40a810
mov ecx, ebx
push 0x17
push ebp
push esi
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40a81c
mov ecx, ebx
push 0x1c
push ebp
xor eax, eax
inc eax
push eax
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40a825
mov ecx, ebx
push 0x1d
push ebp
push esi
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40a838
mov ecx, ebx
push 0x1e
push ebp
push esi
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40a82e
mov ecx, ebx
push 0x28
push ebp
push esi
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40a847
mov ecx, ebx
push 0x40af63
call fcn.014cf12f
add esp, 4
mov edi, eax
mov edx, 0x40a4b8
mov ecx, edi
push 0x1f
push ebp
push 7
call fcn.014cf284
add esp, 0xc
push edi
call fcn.014c7790
add esp, 4
mov edi, 0x40afd7
push esi
push edi
call fcn.0150b415
add esp, 8
push eax
push edi
push ebx
call fcn.0151c1ad
add esp, 0xc
cmp eax, 2
mov eax, 0x40af9e
mov esi, 0x40af65
mov edx, 0x40a84e
mov ecx, ebx
cmove esi, eax
push esi
call fcn.014cf12f
add esp, 4
mov edi, eax
test edi, edi
jne 0x14ce03d
push 0x366
push 0x40afe2
push 0x40affe
call fcn.0152ce59
add esp, 0xc
push 0x40b016
push edi
call fcn.0152fabc
add esp, 8
test eax, eax
je 0x14ce075
push 0x40b04a
push edi
call fcn.0152fabc
add esp, 8
mov esi, dword [esp + 0x40]
test eax, eax
jne 0x14ce092
push edi
call fcn.014c7790
add esp, 4
mov eax, 0x40af65
jmp 0x14ce087
push edi
call fcn.014c7790
add esp, 4
mov esi, dword [esp + 0x40]
mov eax, 0x40af9e
push eax
call fcn.014c755a
add esp, 4
mov edi, eax
mov ecx, edi
mov edx, 0x40a528
push 0x18
push ebp
push 6
call fcn.014cf284
add esp, 0xc
push edi
call fcn.014c7790
add esp, 4
mov ecx, esi
mov edx, 0x40a852
push 0x40b07e
call fcn.014cf12f
add esp, 4
mov edi, eax
mov edx, 0x40a588
mov ecx, edi
push 0x19
push ebp
push 5
call fcn.014cf284
add esp, 0xc
push edi
call fcn.014c7790
add esp, 4
mov ecx, esi
mov edx, 0x40a85a
push 0x1a
push ebp
push 0x3c
call fcn.014cf0f7
add esp, 0xc
mov ecx, esi
mov edx, 0x40a864
push 0x40b099
call fcn.014cf12f
add esp, 4
mov edi, eax
push edi
push 0x1b
push ebp
call fcn.014b9df7
add esp, 0xc
push edi
call fcn.014c7790
sub esp, 4
mov edi, 0x40a8ba
mov dword [esp], edi
mov dword [esp + 4], 3
call fcn.0150b415
add esp, 8
xor ebx, ebx
push eax
push edi
push esi
call fcn.0151c1ad
add esp, 0xc
cmp eax, 1
mov ecx, 0
je 0x14ce15e
cmp eax, 2
jne 0x14ce15c
mov ecx, 3
jmp 0x14ce15e
mov ecx, eax
push ecx
push 0x21
push ebp
call fcn.014b9c9f
add esp, 8
mov eax, 0x402159
mov edx, 0x40a8c2
mov ecx, esi
mov dword [esp], eax
call fcn.014cf12f
add esp, 4
mov edi, eax
push edi
push 9
push ebp
call fcn.014b9df7
add esp, 0xc
push edi
call fcn.014c7790
add esp, 4
mov edx, 0x40a8ca
mov ecx, esi
push 0x22
push ebp
push ebx
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40a86f
mov ecx, esi
push 0x23
push ebp
push ebx
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40a879
mov ecx, esi
push 0x24
push ebp
xor eax, eax
inc eax
push eax
mov edi, eax
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40a883
mov ecx, esi
push 0x25
push ebp
push ebx
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40a88b
mov ecx, esi
push 0x26
push ebp
push edi
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40a892
mov ecx, esi
push 0x27
push ebp
push edi
mov ebx, edi
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40a89d
mov ecx, esi
push 0x40af63
call fcn.014cf12f
add esp, 4
mov edi, eax
mov edx, 0x41c548
mov ecx, edi
push 0x29
push ebp
push dword [0x41c538]
call fcn.014cf284
add esp, 0xc
push edi
call fcn.014c7790
add esp, 4
mov edx, 0x40a8a5
mov ecx, esi
push 0x2a
push ebp
call fcn.014cf0b5
add esp, 8
mov edx, 0x40a8af
mov ecx, esi
push 0x2d
push ebp
xor eax, eax
push eax
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40a8d2
mov ecx, esi
push 0x20
push ebp
call fcn.014cf0b5
add esp, 8
mov eax, 0x402159
mov edx, 0x40a8e0
mov ecx, esi
push eax
call fcn.014cf12f
add esp, 4
mov edi, eax
push edi
push 0x14
push ebp
call fcn.014b9df7
add esp, 0xc
push edi
call fcn.014c7790
add esp, 4
mov edx, 0x40a8ee
mov ecx, esi
push 0x37
push ebp
xor eax, eax
push eax
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40a8f9
mov ecx, esi
push 0x38
push ebp
xor eax, eax
push eax
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40a907
mov ecx, esi
push 0x3f
push ebp
push ebx
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40a919
mov ecx, esi
push 0x40
push ebp
xor eax, eax
push eax
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40a925
mov ecx, esi
push 0x41
push ebp
xor eax, eax
push eax
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40a937
mov ecx, esi
push 0x43
push ebp
xor eax, eax
push eax
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40a949
mov ecx, esi
push 0x42
push ebp
xor eax, eax
push eax
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40a95e
mov ecx, esi
push 0x44
push ebp
xor eax, eax
push eax
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40a96f
mov ecx, esi
push 0x45
push ebp
xor eax, eax
push eax
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40a97e
mov ecx, esi
push 0x46
push ebp
xor eax, eax
push eax
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40a98a
mov ecx, esi
push 0x47
push ebp
xor eax, eax
push eax
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40a99b
mov ecx, esi
push 0x48
push ebp
xor eax, eax
push eax
call fcn.014cf0f7
add esp, 0xc
mov edi, 0x40b09c
push ebx
push edi
call fcn.0150b415
add esp, 8
push eax
push edi
push esi
call fcn.0151c1ad
add esp, 0xc
cmp eax, ebx
mov eax, 2
mov edi, 2
mov edx, 0x40a9af
mov ecx, esi
adc eax, 0xffffffff
push 0x4b
push ebp
push eax
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40a9c2
mov ecx, esi
push 0x49
push ebp
xor eax, eax
push eax
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40a9cf
mov ecx, esi
push 0x4a
push ebp
xor eax, eax
push eax
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40a9df
mov ecx, esi
push 0x4c
push ebp
xor eax, eax
push eax
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40a9f5
mov ecx, esi
push 0x4d
push ebp
xor eax, eax
push eax
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40aa07
mov ecx, esi
push 0x4e
push ebp
xor eax, eax
push eax
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40aa15
mov ecx, esi
push 0x51
push ebp
push ebx
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40aa1b
mov ecx, esi
push 0x52
push ebp
xor eax, eax
push eax
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40aa24
mov ecx, esi
push 0x53
push ebp
xor eax, eax
push eax
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40aa2c
mov ecx, esi
push 0x5b
push ebp
xor eax, eax
push eax
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40aa37
mov ecx, esi
push 0x5c
push ebp
push ebx
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40aa43
mov ecx, esi
push 0x4f
push ebp
xor eax, eax
push eax
call fcn.014cf0f7
add esp, 0xc
mov eax, 0x50
mov edx, 0x40aa4d
mov ecx, esi
push eax
push ebp
push ebx
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40aa57
mov ecx, esi
push 0x54
push ebp
push edi
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40aa61
mov ecx, esi
push 0x55
push ebp
mov dword [esp + 8], 2
push edi
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40aa6b
mov ecx, esi
push 0x402048
call fcn.014cf12f
add esp, 4
mov edi, eax
push edi
push 0x80
push ebp
call fcn.014b9df7
add esp, 0xc
push edi
call fcn.014c7790
add esp, 4
mov edx, 0x40aa76
mov ecx, esi
push 0x56
push ebp
xor eax, eax
push eax
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40aa82
mov ecx, esi
push 0x57
push ebp
xor eax, eax
push eax
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40aa97
mov ecx, esi
push 0x7d
push ebp
xor eax, eax
push eax
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40aaa4
mov ecx, esi
push 0x7e
push ebp
xor eax, eax
push eax
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40aaaf
mov ecx, esi
push 0x7f
push ebp
push ebx
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40aabc
mov ecx, esi
push 0x64
push ebp
xor eax, eax
push eax
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40aac4
mov ecx, esi
push 0x65
push ebp
xor eax, eax
push eax
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40aacd
mov ecx, esi
push 0x66
push ebp
push ebx
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40aad2
mov ecx, esi
push 0x67
push ebp
xor eax, eax
push eax
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40aada
mov ecx, esi
push 0x6c
push ebp
call fcn.014cf0b5
add esp, 8
mov edx, 0x40aae7
mov ecx, esi
push 0x68
push ebp
push ebx
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40aaf4
mov ecx, esi
push 0x69
push ebp
push 5
call fcn.014cf0f7
add esp, 0xc
mov edi, 0x7d0
mov ebx, 0x40ab02
push edi
push ebx
call fcn.0150b415
add esp, 8
push eax
push ebx
push esi
call fcn.0151c1ad
add esp, 0xc
push eax
push 0x6a
push ebp
call fcn.014b9c9f
add esp, 4
mov ebx, 0x40ab10
mov dword [esp], ebx
mov dword [esp + 4], 0x1388
call fcn.0150b415
add esp, 8
push eax
push ebx
xor ebx, ebx
push esi
call fcn.0151c1ad
add esp, 0xc
push eax
push 0x6b
push ebp
call fcn.014b9c9f
add esp, 0xc
mov edx, 0x40ab1e
mov ecx, esi
push 0x60
push ebp
push edi
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40ab2e
mov ecx, esi
push 0x61
push ebp
push ebx
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40ab3c
mov ecx, esi
push 0x62
push ebp
xor edi, edi
inc edi
push edi
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40ab49
mov ecx, esi
push 0x63
push ebp
push ebx
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40ab55
mov ecx, esi
push 0xb6
push ebp
push ebx
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40ab61
mov ecx, esi
push 0x82
push ebp
push ebx
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40ab76
mov ecx, esi
push 0x83
push ebp
push ebx
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40ab82
mov ecx, esi
push 0x72
push ebp
push edi
call fcn.014cf0f7
add esp, 0xc
mov eax, 0x402159
mov edx, 0x40ab90
mov ecx, esi
push eax
call fcn.014cf12f
add esp, 4
mov edi, eax
push edi
push 0x5f
push ebp
call fcn.014b9df7
add esp, 0xc
push edi
call fcn.014c7790
add esp, 4
mov edx, 0x40ab99
mov ecx, esi
push 0x73
push ebp
mov eax, 0x50
push eax
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40aba3
mov ecx, esi
push 0x74
push ebp
push 0x18
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40abae
mov ecx, esi
push 0x75
push ebp
call fcn.014cf4d6
add esp, 8
mov edx, 0x40abb3
mov ecx, esi
push 0x76
push ebp
push ebx
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40abbf
mov ecx, esi
push 0x90
push ebp
push 4
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40abca
mov ecx, esi
push 0x86
push ebp
push ebx
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40abdb
mov ecx, esi
push 0x87
push ebp
push ebx
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40abe6
mov ecx, esi
push 0x84
push ebp
xor edi, edi
inc edi
push edi
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40abf1
mov ecx, esi
push 0x85
push ebp
push edi
call fcn.014cf0f7
add esp, 0xc
xor eax, eax
mov edi, 0x40ac00
inc eax
push eax
push edi
call fcn.0150b415
add esp, 8
push eax
push edi
push esi
call fcn.0151c1ad
add esp, 0xc
inc eax
push eax
push 0x88
mov edi, ebp
push ebp
call fcn.014b9c9f
add esp, 0xc
push ebx
push 0x40ac0d
lea ebp, [esp + 0x1c]
push ebp
call fcn.014ba534
add esp, 0xc
mov edx, ebp
mov ebp, ebx
mov ecx, esi
push dword [ebx*4 + 0x40a5d8]
call fcn.014cf12f
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 0x40ac16
push ebx
call fcn.014ca8f0
add esp, 0x14
cmp eax, 3
jne 0x14ce8e6
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.014b9d69
add esp, 0x10
lea eax, [esi - 1]
push dword [esp + 0xc]
push eax
mov eax, 0x89
push eax
push dword [esp + 0x50]
call fcn.014b9d69
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.014b9d69
add esp, 0x10
push ebx
call fcn.014c7790
add esp, 4
mov ebx, ebp
add dword [esp], 3
inc ebx
cmp ebx, 0x16
jne 0x14ce849
xor ebp, ebp
mov edx, 0x40ac1f
mov ecx, esi
push 0x8c
mov ebx, esi
mov esi, edi
push esi
push ebp
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40ac26
mov ecx, ebx
push 0x8d
push esi
push ebp
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40ac2f
mov ecx, ebx
push 0x8a
push esi
push ebp
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40ac3c
mov ecx, ebx
push 0x8b
push esi
push ebp
call fcn.014cf0f7
add esp, 0xc
mov ecx, ebx
xor ebx, ebx
mov edx, 0x40ac47
push 0x8e
push esi
push 1
call fcn.014cf0f7
add esp, 0xc
push ebx
push 0x40ac55
lea esi, [esp + 0x1c]
push esi
call fcn.014ba534
add esp, 0xc
mov ecx, dword [esp + 0x40]
mov eax, ebx
mov edx, esi
shr eax, 3
push dword [eax + 0x40a630]
call fcn.014cf12f
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 0x14ce9c2
cmp cl, 0x2c
je 0x14ce9be
inc ebx
jmp 0x14ce9b0
mov byte [ebx], 0
inc ebx
push eax
call fcn.0152e38b
add esp, 4
push eax
push esi
push 0x8f
push edi
call fcn.014b9d69
add esp, 0x10
inc esi
mov eax, ebx
cmp esi, ebp
jl 0x14ce9b0
push dword [esp + 4]
call fcn.014c7790
add esp, 4
cmp dword [esp], 0xe0
mov ebx, ebp
jl 0x14ce976
sub esp, 4
mov ebx, dword [esp + 0x44]
mov eax, 0x402159
mov edx, 0x40ac67
mov dword [esp], eax
mov ecx, ebx
call fcn.014cf12f
add esp, 4
mov esi, eax
push esi
push 0x91
mov ebp, edi
push ebp
call fcn.014b9df7
add esp, 0xc
push esi
call fcn.014c7790
add esp, 4
xor eax, eax
mov edx, 0x40ac74
mov ecx, ebx
push 0x92
push ebp
push eax
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40ac81
mov ecx, ebx
push 0x93
push ebp
xor esi, esi
inc esi
push esi
call fcn.014cf0f7
add esp, 0xc
mov eax, 0x402159
mov edx, 0x40ac8e
mov ecx, ebx
push eax
call fcn.014cf12f
add esp, 4
mov edi, eax
push edi
push 0x81
push ebp
call fcn.014b9df7
add esp, 0xc
push edi
call fcn.014c7790
add esp, 4
mov edx, 0x40ac96
mov ecx, ebx
push 0x94
push ebp
xor edi, edi
push edi
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40aca2
mov ecx, ebx
push 0x6d
push ebp
push esi
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40acac
mov ecx, ebx
push 0x6e
push ebp
push edi
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40acc0
mov ecx, ebx
push 0x58
push ebp
push edi
xor edi, edi
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40accc
mov ecx, ebx
push 0x59
push ebp
push esi
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40acd9
mov ecx, ebx
push 0x5a
push ebp
push esi
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40aceb
mov ecx, ebx
push 0x6f
push ebp
push edi
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40acf4
mov ecx, ebx
push 0x70
push ebp
push esi
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40acf8
mov ecx, ebx
push 0x71
push ebp
push edi
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40ad02
mov ecx, ebx
push 0x95
push ebp
push edi
call fcn.014cf0f7
add esp, 0xc
mov eax, 0x402159
mov edx, 0x40ad0d
mov ecx, ebx
push eax
call fcn.014cf12f
add esp, 4
mov edi, eax
push edi
push 0x96
push ebp
call fcn.014b9df7
add esp, 0xc
push edi
call fcn.014c7790
add esp, 4
mov edx, 0x40ad18
mov ecx, ebx
push 0x97
push ebp
push esi
xor esi, esi
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40ad24
mov ecx, ebx
push 0x98
push ebp
call fcn.014cf0b5
add esp, 8
mov edx, 0x40ad30
mov ecx, ebx
push 0x99
push ebp
push esi
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40ad43
mov ecx, ebx
push 0x9a
push ebp
push esi
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40ad57
mov ecx, ebx
push 0x9b
push ebp
call fcn.014cf164
add esp, 8
mov edi, 0x40ad67
push esi
push edi
call fcn.0150b415
add esp, 8
push eax
push edi
push ebx
call fcn.0151c1ad
add esp, 0xc
mov ecx, 2
sub ecx, eax
push ecx
push 0x9c
push ebp
call fcn.014b9c9f
add esp, 0xc
mov edi, 0x40ad72
push esi
push edi
call fcn.0150b415
add esp, 8
push eax
push edi
push ebx
call fcn.0151c1ad
add esp, 0xc
mov ecx, 2
sub ecx, eax
push ecx
push 0x9d
push ebp
call fcn.014b9c9f
add esp, 0xc
mov edi, 0x40ad7e
push esi
push edi
call fcn.0150b415
add esp, 8
push eax
push edi
push ebx
call fcn.0151c1ad
add esp, 0xc
mov ecx, 2
sub ecx, eax
push ecx
push 0x9e
push ebp
call fcn.014b9c9f
add esp, 0xc
mov edi, 0x40ad86
push esi
push edi
call fcn.0150b415
add esp, 8
push eax
push edi
push ebx
call fcn.0151c1ad
add esp, 0xc
mov ecx, 2
sub ecx, eax
push ecx
push 0xa5
push ebp
call fcn.014b9c9f
add esp, 0xc
mov edi, 0x40ad91
push esi
push edi
call fcn.0150b415
add esp, 8
push eax
push edi
push ebx
call fcn.0151c1ad
add esp, 0xc
mov edi, eax
mov ecx, 2
sub ecx, edi
push ecx
push 0x9f
push ebp
call fcn.014b9c9f
add esp, 0xc
test edi, edi
jne 0x14ced2d
sub esp, 8
mov edi, 0x40b2cf
mov dword [esp], edi
mov dword [esp + 4], 0
call fcn.0150b415
add esp, 8
push eax
push edi
push ebx
call fcn.0151c1ad
add esp, 0xc
cmp eax, 1
jne 0x14ced2d
push 0
push 0x9f
push ebp
call fcn.014b9c9f
add esp, 0xc
xor eax, eax
mov edi, 0x40ad9a
push eax
xor esi, esi
push edi
call fcn.0150b415
add esp, 8
push eax
push edi
push ebx
call fcn.0151c1ad
add esp, 0xc
mov ecx, 2
sub ecx, eax
push ecx
push 0xa0
push ebp
call fcn.014b9c9f
add esp, 0xc
mov edi, 0x40ada8
push esi
xor esi, esi
push edi
call fcn.0150b415
add esp, 8
push eax
push edi
push ebx
call fcn.0151c1ad
add esp, 0xc
mov ecx, 2
sub ecx, eax
push ecx
push 0xa1
push ebp
call fcn.014b9c9f
add esp, 0xc
mov edi, 0x40adb3
push esi
xor esi, esi
push edi
call fcn.0150b415
add esp, 8
push eax
push edi
push ebx
call fcn.0151c1ad
add esp, 0xc
mov ecx, 2
sub ecx, eax
push ecx
push 0xa2
push ebp
call fcn.014b9c9f
add esp, 0xc
mov edi, 0x40adc0
push esi
xor esi, esi
push edi
call fcn.0150b415
add esp, 8
push eax
push edi
push ebx
call fcn.0151c1ad
add esp, 0xc
mov ecx, 2
sub ecx, eax
push ecx
push 0xa3
push ebp
call fcn.014b9c9f
add esp, 0xc
mov edi, 0x40adca
push esi
xor esi, esi
push edi
call fcn.0150b415
add esp, 8
push eax
push edi
push ebx
call fcn.0151c1ad
add esp, 0xc
mov ecx, 2
sub ecx, eax
push ecx
push 0xa4
push ebp
call fcn.014b9c9f
add esp, 0xc
mov edi, 0x40add5
push esi
xor esi, esi
push edi
call fcn.0150b415
add esp, 8
push eax
push edi
push ebx
call fcn.0151c1ad
add esp, 0xc
mov ecx, 2
sub ecx, eax
push ecx
push 0xa6
push ebp
call fcn.014b9c9f
add esp, 0xc
mov edi, 0x40ade0
push esi
xor esi, esi
push edi
call fcn.0150b415
add esp, 8
push eax
push edi
push ebx
call fcn.0151c1ad
add esp, 0xc
mov ecx, 2
sub ecx, eax
push ecx
push 0xa7
push ebp
call fcn.014b9c9f
add esp, 0xc
mov edi, 0x40adea
push esi
xor esi, esi
push edi
call fcn.0150b415
add esp, 8
push eax
push edi
push ebx
call fcn.0151c1ad
add esp, 0xc
mov ecx, 2
sub ecx, eax
push ecx
push 0xa8
push ebp
call fcn.014b9c9f
add esp, 0xc
push esi
xor esi, esi
push 0xa9
push ebp
call fcn.014b9c9f
add esp, 0xc
mov edx, 0x40adf5
mov ecx, ebx
push 0xae
push ebp
xor eax, eax
inc eax
push eax
mov edi, eax
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40adff
mov ecx, ebx
push 0xaf
push ebp
push edi
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40ae0a
mov ecx, ebx
push 0xb0
push ebp
push esi
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40ae39
mov ecx, ebx
push 0xb1
push ebp
push esi
xor esi, esi
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40ae1a
mov ecx, ebx
push 0xb2
push ebp
call fcn.014cf4d6
add esp, 8
mov edx, 0x40ae23
mov ecx, ebx
push 0xb3
push ebp
call fcn.014cf4d6
add esp, 8
mov edx, 0x40ae2c
mov ecx, ebx
push 0xb4
push ebp
call fcn.014cf4d6
add esp, 8
mov edx, 0x40ae44
mov ecx, ebx
push 0xb5
push ebp
push edi
call fcn.014cf0f7
add esp, 0xc
mov eax, 0x402159
mov edx, 0x40ae55
mov ecx, ebx
push eax
call fcn.014cf12f
add esp, 4
mov edi, eax
push edi
push 0x39
push ebp
call fcn.014b9df7
add esp, 0xc
push edi
call fcn.014c7790
add esp, 4
mov edx, 0x40ae60
mov ecx, ebx
push 0x3a
push ebp
push 0x2580
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40ae6c
mov ecx, ebx
push 0x3b
push ebp
push 8
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40ae7b
mov ecx, ebx
push 0x3c
push ebp
mov eax, 2
push eax
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40ae8e
mov ecx, ebx
push 0x3d
push ebp
push esi
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40ae9b
mov ecx, ebx
push 0x3e
push ebp
xor esi, esi
inc esi
push esi
call fcn.014cf0f7
add esp, 0xc
mov eax, 0x402159
mov edx, 0x40aead
mov ecx, ebx
push eax
call fcn.014cf12f
add esp, 4
mov edi, eax
push edi
push 0xb7
push ebp
call fcn.014b9df7
add esp, 0xc
push edi
call fcn.014c7790
add esp, 4
mov edx, 0x40aeb9
mov ecx, ebx
push 0xaa
push ebp
xor eax, eax
push eax
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40aecb
mov ecx, ebx
push 0xab
push ebp
push esi
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40aee5
mov ecx, ebx
push 0xac
push ebp
push esi
call fcn.014cf0f7
add esp, 0xc
mov edx, 0x40af01
mov ecx, ebx
push 0xad
push ebp
call fcn.014cf164
add esp, 8
mov ecx, dword [esp + 0x28]
call fcn.0151fa06
add esp, 0x2c
pop esi
pop edi
pop ebx
pop ebp
ret