Function at 0x40a2fc
Capabilities:
Get file size
Inspect section memory permissions
Read file on windows
Resolve function by parsing pe exports
Write file on windows

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x1a
push 0
push 0
dec ecx
jne 0x40a304
push ebx
push esi
push edi
mov eax, dword [0x40e0f4]
mov byte [eax], 1
mov eax, 0x40a2cc
call fcn.00404018
xor eax, eax
push ebp
push 0x40cecc
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.00408b60
test al, al
jne 0x40a33c
call fcn.00407f84
cmp byte [0x40fa1e], 0
jne 0x40a34a
call fcn.00407dcc
call fcn.004027ac
push 0
push 0
push 3
push 0
push 1
push 0x80000000
mov eax, dword [0x40f828]
call fcn.0040399c
push eax
call sub.kernel32.dll_CreateFileA_1
mov ebx, eax
cmp ebx, 0xffffffff
je 0x40cea4
push 0
push ebx
call sub.kernel32.dll_GetFileSize_1
mov dword [0x40f8ac], eax
cmp byte [0x40fa1e], 0
jne 0x40a3d2
mov eax, dword [0x40f8ac]
xor edx, edx
push edx
push eax
mov eax, dword [0x40e0f0]
mov edx, 0x40cee4
call fcn.00403ac4
mov edx, dword [0x40f828]
call fcn.00403ac4
mov edx, 0x40cef8
call fcn.00403ac4
call fcn.00403cd4
mov dl, 0x29
call fcn.00402de8
call fcn.00402e94
call fcn.0040258c
mov edi, dword [0x40f8ac]
mov eax, edi
and eax, 3
test eax, eax
je 0x40a3ea
mov edx, 4
sub edx, eax
add edi, edx
mov eax, 0x64
call fcn.00402b84
mov esi, eax
add esi, 0xa
add esi, dword [0x40f8ac]
mov eax, esi
call fcn.00408dd4
mov dword [0x40f9d4], eax
mov eax, esi
call fcn.00408dd4
mov dword [0x40f9d8], eax
cmp dword [0x40f9d4], 0
je 0x40ce8d
cmp dword [0x40f9d8], 0
je 0x40ce8d
mov edx, esi
mov eax, dword [0x40f9d4]
call fcn.0040469c
mov edx, edi
mov eax, dword [0x40f9d4]
call fcn.00404154
push 0
push 0x40f834
mov eax, dword [0x40f8ac]
push eax
mov eax, dword [0x40f9d4]
push eax
push ebx
call sub.kernel32.dll_ReadFile_1
test eax, eax
je 0x40ce77
push ebx
call main
or ebx, 0xffffffff
mov ecx, esi
mov edx, dword [0x40f9d4]
mov eax, dword [0x40f9d8]
call fcn.0040414c
mov eax, dword [0x40f9d4]
call fcn.00408abc
test al, al
je 0x40ce6b
mov eax, dword [0x40f9d4]
mov eax, dword [eax + 0x3c]
add eax, dword [0x40f9d4]
mov dword [0x40f9f0], eax
mov byte [0x40fa58], 0
mov eax, dword [0x40f9f0]
movzx edx, word [eax + 0x16]
test dh, 0x20
je 0x40a4c6
mov byte [0x40fa58], 1
mov edx, dword [eax + 0x78]
mov dword [0x40f884], edx
mov edx, dword [eax + 0x34]
mov dword [0x40f864], edx
mov dx, word [eax + 0x5c]
mov word [0x40f9d2], dx
mov edx, dword [eax + 0x50]
mov dword [0x40f868], edx
mov edx, dword [eax + 0x84]
mov dword [0x40f894], edx
mov edx, dword [eax + 0x80]
mov dword [0x40f89c], edx
mov eax, dword [eax + 0x88]
mov dword [0x40f8c8], eax
cmp word [0x40f9d2], 2
je 0x40a527
cmp word [0x40f9d2], 3
jne 0x40ce5f
call fcn.0040a208
cmp byte [0x40fa1e], 0
jne 0x40a633
mov eax, dword [0x40e0f0]
call fcn.00402e94
call fcn.0040258c
mov eax, dword [0x40e0f0]
mov edx, 0x40cf04
call fcn.00403ac4
call fcn.00402ae4
call fcn.0040258c
mov al, byte [0x40fa58]
sub al, 1
jb 0x40a572
je 0x40a58d
dec al
je 0x40a5a8
jmp 0x40a5c3
mov eax, dword [0x40e0f0]
mov edx, 0x40cf18
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
jmp 0x40a5dc
mov eax, dword [0x40e0f0]
mov edx, 0x40cf2c
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
jmp 0x40a5dc
mov eax, dword [0x40e0f0]
mov edx, 0x40cf4c
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
jmp 0x40a5dc
mov eax, dword [0x40e0f0]
mov edx, 0x40cf64
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
mov eax, dword [0x40e0f0]
mov edx, 0x40cf74
call fcn.00403ac4
call fcn.00402ae4
call fcn.0040258c
cmp word [0x40f9d2], 2
jne 0x40a61a
mov eax, dword [0x40e0f0]
mov edx, 0x40cf88
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
jmp 0x40a633
mov eax, dword [0x40e0f0]
mov edx, 0x40cf9c
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
mov eax, dword [0x40f9f0]
mov eax, dword [eax + 0xc4]
mov dword [0x40f85c], eax
cmp dword [0x40f85c], 0
setne byte [0x40fa1c]
mov byte [0x40fa1d], 0
xor eax, eax
mov dword [0x40f874], eax
xor eax, eax
mov dword [0x40f9f4], eax
cmp byte [0x40fa58], 1
jne 0x40a68a
mov eax, dword [0x40f9f0]
mov eax, dword [eax + 0x7c]
mov dword [0x40f874], eax
cmp dword [0x40f874], 0
setne byte [0x40fa1d]
mov byte [0x40fa20], 0
xor eax, eax
mov dword [0x40f8c4], eax
xor eax, eax
mov dword [0x40f9fc], eax
cmp byte [0x40fa58], 0
je 0x40a6b1
cmp byte [0x40fa58], 1
jne 0x40a6cf
mov eax, dword [0x40f9f0]
mov eax, dword [eax + 0x8c]
mov dword [0x40f8c4], eax
cmp dword [0x40f8c4], 0
setne byte [0x40fa20]
cmp dword [0x40fa08], 0
je 0x40a6e1
cmp dword [0x40f8cc], 0
ja 0x40a6e5
xor eax, eax
jmp 0x40a6e7
mov al, 1
mov byte [0x40fa23], al
cmp byte [0x40fa1e], 0
jne 0x40a8a7
cmp byte [0x40fa1c], 0
je 0x40a744
mov eax, dword [0x40e0f0]
mov edx, 0x40cfb8
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
mov eax, dword [0x40f85c]
xor edx, edx
push edx
push eax
mov eax, dword [0x40e0f0]
mov edx, 0x40cfd8
call fcn.00403ac4
call fcn.00403cd4
call fcn.00402e94
call fcn.0040258c
jmp 0x40a75d
mov eax, dword [0x40e0f0]
mov edx, 0x40d000
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
cmp byte [0x40fa1d], 0
je 0x40a7cc
cmp byte [0x40fa1f], 0
jne 0x40a7b1
mov eax, dword [0x40e0f0]
mov edx, 0x40d024
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
mov eax, dword [0x40f874]
xor edx, edx
push edx
push eax
mov eax, dword [0x40e0f0]
mov edx, 0x40d048
call fcn.00403ac4
call fcn.00403cd4
call fcn.00402e94
call fcn.0040258c
jmp 0x40a7e5
mov eax, dword [0x40e0f0]
mov edx, 0x40d070
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
jmp 0x40a7e5
mov eax, dword [0x40e0f0]
mov edx, 0x40d0a0
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
cmp byte [0x40fa20], 0
je 0x40a82d
cmp byte [0x40fa21], 0
je 0x40a812
mov eax, dword [0x40e0f0]
mov edx, 0x40d0c4
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
jmp 0x40a846
mov eax, dword [0x40e0f0]
mov edx, 0x40d0e8
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
jmp 0x40a846
mov eax, dword [0x40e0f0]
mov edx, 0x40d118
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
cmp byte [0x40fa23], 0
je 0x40a88e
cmp byte [0x40fa22], 0
je 0x40a873
mov eax, dword [0x40e0f0]
mov edx, 0x40d140
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
jmp 0x40a8a7
mov eax, dword [0x40e0f0]
mov edx, 0x40d160
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
jmp 0x40a8a7
mov eax, dword [0x40e0f0]
mov edx, 0x40d18c
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
cmp byte [0x40fa1f], 0
je 0x40a8b7
mov byte [0x40fa1d], 0
cmp byte [0x40fa21], 0
jne 0x40a8c7
mov byte [0x40fa20], 0
cmp byte [0x40fa22], 0
jne 0x40a8d7
mov byte [0x40fa23], 0
cmp byte [0x40fa20], 0
je 0x40aa56
mov ecx, dword [0x40f8c8]
mov edx, dword [0x40f9d4]
mov eax, dword [0x40f9f0]
call fcn.00404650
mov dword [0x40fa5c], eax
mov ecx, dword [0x40f8c8]
add ecx, 0x10
mov edx, dword [0x40f9d4]
mov eax, dword [0x40f9f0]
call fcn.00404650
mov dword [0x40fa68], eax
xor eax, eax
mov dword [0x40fa60], eax
xor eax, eax
mov dword [0x40fa64], eax
mov eax, dword [0x40fa5c]
movzx eax, word [eax + 0xe]
mov edx, dword [0x40fa5c]
movzx edx, word [edx + 0xc]
add eax, edx
dec eax
test eax, eax
jl 0x40a9e7
inc eax
mov dword [ebp - 0x14], eax
cmp dword [0x40fa60], 0
jne 0x40a989
mov eax, dword [0x40fa68]
cmp dword [eax], 0xe
jne 0x40a989
mov eax, dword [0x40fa68]
mov ecx, dword [eax + 4]
and ecx, 0x7fffffff
add ecx, dword [0x40f8c8]
mov edx, dword [0x40f9d4]
mov eax, dword [0x40f9f0]
call fcn.00404650
mov dword [0x40fa60], eax
cmp dword [0x40fa64], 0
jne 0x40a9c5
mov eax, dword [0x40fa68]
cmp dword [eax], 0x18
jne 0x40a9c5
mov eax, dword [0x40fa68]
mov ecx, dword [eax + 4]
and ecx, 0x7fffffff
add ecx, dword [0x40f8c8]
mov edx, dword [0x40f9d4]
mov eax, dword [0x40f9f0]
call fcn.00404650
mov dword [0x40fa64], eax
cmp dword [0x40fa60], 0
je 0x40a9d7
cmp dword [0x40fa64], 0
jne 0x40a9e7
add dword [0x40fa68], 8
dec dword [ebp - 0x14]
jne 0x40a94d
cmp dword [0x40fa60], 0
jne 0x40a9f9
cmp dword [0x40fa64], 0
je 0x40aa24
mov eax, dword [0x40f8c4]
call fcn.00408dd4
mov dword [0x40f9fc], eax
cmp dword [0x40f9fc], 0
jne 0x40aa2b
mov eax, 0x40d1b0
call fcn.004087d8
mov byte [0x40fa20], 0
jmp 0x40aa2b
mov byte [0x40fa20], 0
cmp byte [0x40fa20], 0
jne 0x40aa56
cmp byte [0x40fa1e], 0
jne 0x40aa56
mov eax, dword [0x40e0f0]
mov edx, 0x40d1e4
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
mov ecx, 0x40fa04
mov edx, 0x40fa00
mov eax, edi
call fcn.00409960
mov dword [0x40f8b0], eax
cmp dword [0x40f8b0], 0
je 0x40ce53
mov eax, 0x4045cc
sub eax, 0x404194
mov dword [0x40f8a8], eax
mov eax, 0x64
call fcn.00402b84
mov edx, dword [0x40f8a8]
add edx, dword [0x40f8b0]
add eax, edx
add eax, 4
mov dword [0x40f83c], eax
mov eax, dword [0x40f83c]
and eax, 3
test eax, eax
jbe 0x40aaca
mov eax, dword [0x40f83c]
and eax, 3
mov edx, 4
sub edx, eax
add dword [0x40f83c], edx
cmp byte [0x40fa1e], 0
jne 0x40ab09
mov eax, dword [0x40e0f0]
call fcn.00402e94
call fcn.0040258c
mov eax, dword [0x40f83c]
xor edx, edx
push edx
push eax
mov eax, dword [0x40e0f0]
mov edx, 0x40d218
call fcn.00403ac4
call fcn.00403cd4
call fcn.00402e94
call fcn.0040258c
mov eax, dword [0x40f83c]
call fcn.00408dd4
mov dword [0x40f9dc], eax
cmp dword [0x40f9dc], 0
je 0x40ce47
mov edx, dword [0x40f83c]
mov eax, dword [0x40f9dc]
call fcn.0040469c
mov edx, 0x404194
mov ecx, dword [0x40f8a8]
mov eax, dword [0x40f9dc]
call fcn.0040414c
mov edi, dword [0x40f9dc]
jmp 0x40ab53
inc edi
cmp dword [edi], 0x1ee7c0de
jne 0x40ab52
mov eax, edi
sub eax, dword [0x40f9dc]
mov dword [0x40f8b4], eax
mov ecx, dword [0x40f8a8]
sub ecx, dword [0x40f8b4]
mov edx, 0x404194
add edx, dword [0x40f8b4]
add edx, 4
mov eax, edi
add eax, dword [0x40f8b0]
call fcn.0040414c
mov ecx, dword [0x40f8b0]
mov edx, dword [0x40fa04]
mov eax, edi
call fcn.0040414c
mov eax, 0x12c
call fcn.00402b84
add eax, 0x2bc
cmp eax, 0xffff
jbe 0x40abbd
call fcn.00402fe4
mov word [0x40f9cc], ax
mov eax, 0xc8
call fcn.00402b84
test eax, eax
jns 0x40abd6
call fcn.00402fe4
mov dword [0x40f850], eax
movzx eax, word [0x40f9cc]
add eax, dword [0x40f850]
mov dword [0x40f858], eax
mov eax, pe_nt_image_headers32
call fcn.00402b84
add eax, 0x14
cmp eax, 0xffff
jbe 0x40ac06
call fcn.00402fe4
mov word [0x40f9d0], ax
cmp byte [0x40fa1e], 0
jne 0x40ac3a
mov eax, dword [0x40e0f0]
mov edx, 0x40d230
call fcn.00403ac4
movzx edx, word [0x40f9cc]
call fcn.00402e64
call fcn.00402e94
call fcn.0040258c
movzx eax, word [0x40f9cc]
call fcn.00408dd4
mov dword [0x40f9e0], eax
cmp dword [0x40f9e0], 0
je 0x40ce31
mov dx, word [0x40f9cc]
mov eax, dword [0x40f9e0]
call fcn.004046bc
mov eax, 0x40f664
mov edx, 0x40
call fcn.00404154
mov eax, 0x40f72c
mov edx, 0xf8
call fcn.00404154
mov eax, 0x40f6a4
mov edx, 0x88
call fcn.00404154
cmp byte [0x40fa1e], 0
jne 0x40acc7
mov eax, dword [0x40e0f0]
call fcn.00402e94
call fcn.0040258c
mov eax, dword [0x40e0f0]
mov edx, 0x40d250
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
mov eax, 0x40d268
mov ax, word [eax]
mov word [0x40f664], ax
mov word [0x40f666], 0x50
mov word [0x40f668], 2
mov word [0x40f66c], 4
mov word [0x40f66e], 0xf
mov word [0x40f670], 0xffff
mov word [0x40f674], 0xb8
mov word [0x40f67c], 0x40
mov word [0x40f67e], 0x1a
mov dword [0x40f6a0], 0x100
cmp byte [0x40fa1e], 0
jne 0x40ad49
mov eax, dword [0x40e0f0]
mov edx, 0x40d274
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
mov eax, 0x40d28c
mov eax, dword [eax]
mov dword [0x40f72c], eax
mov word [0x40f730], 0x14c
mov word [0x40f732], 2
cmp byte [0x40fa1c], 0
je 0x40ad77
inc word [0x40f732]
cmp byte [0x40fa1d], 0
je 0x40ad87
inc word [0x40f732]
cmp byte [0x40fa20], 0
je 0x40ad97
inc word [0x40f732]
cmp byte [0x40fa1e], 0
jne 0x40adc5
mov eax, dword [0x40e0f0]
mov edx, 0x40d298
call fcn.00403ac4
movzx edx, word [0x40f732]
call fcn.00402e64
call fcn.00402e94
call fcn.0040258c
mov eax, 0x20000000
call fcn.00402b84
add eax, 0x20000000
test eax, eax
jns 0x40addd
call fcn.00402fe4
mov dword [0x40f734], eax
mov word [0x40f740], 0xe0
mov word [0x40f742], 0x10e
mov al, byte [0x40fa58]
sub al, 1
jb 0x40ae01
je 0x40ae0b
jmp 0x40ae14
or word [0x40f742], 1
jmp 0x40ae14
or word [0x40f742], 0x2000
mov eax, 0xa
call fcn.00402b84
test eax, eax
jns 0x40ae27
call fcn.00402fe4
mov dword [0x40f870], eax
cmp dword [0x40f870], 5
jbe 0x40ae49
mov ax, word [0x40f742]
or ax, 0x80
or ax, 0x8000
mov word [0x40f742], ax
mov word [0x40f744], 0x10b
mov eax, 9
call fcn.00402b84
inc eax
cmp eax, 0xff
jbe 0x40ae69
call fcn.00402fe4
mov byte [0x40f746], al
mov eax, 0x63
call fcn.00402b84
inc eax
cmp eax, 0xff
jbe 0x40ae85
call fcn.00402fe4
mov byte [0x40f747], al
mov dword [0x40f758], 0x1000
cmp dword [0x40f86c], 0
je 0x40aeb3
mov edx, 0x10000
mov eax, dword [0x40f86c]
call fcn.00404688
mov dword [0x40f760], eax
jmp 0x40aeea
cmp dword [0x40f864], 0x400000
jne 0x40aee0
mov eax, dword [0x40f864]
add eax, dword [0x40f868]
add eax, 0x100000
mov edx, 0x10000
call fcn.00404688
mov dword [0x40f760], eax
jmp 0x40aeea
mov dword [0x40f760], 0x400000
cmp byte [0x40fa1e], 0
jne 0x40af25
lea ecx, [ebp - 0x18]
mov dl, 8
mov eax, dword [0x40f760]
call fcn.004088fc
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [0x40e0f0]
mov edx, 0x40d2b8
call fcn.00403ac4
pop edx
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
mov dword [0x40f764], 0x1000
mov dword [0x40f768], 0x200
mov word [0x40f76c], 4
mov word [0x40f774], 4
mov dword [0x40f780], 0x400
mov ax, word [0x40f9d2]
mov word [0x40f788], ax
mov dword [0x40f78c], 0x100000
mov dword [0x40f790], 0x10000
mov dword [0x40f794], 0x100000
mov dword [0x40f798], 0x10000
mov dword [0x40f7a0], 0x10
cmp byte [0x40fa1e], 0
jne 0x40afc4
mov eax, dword [0x40e0f0]
call fcn.00402e94
call fcn.0040258c
mov eax, dword [0x40e0f0]
mov edx, 0x40d2cc
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
mov eax, 0x40f8d0
mov edx, 0x28
call fcn.00404154
mov edx, 0x40d2e4
mov eax, 0x40f8d0
mov ecx, 5
call fcn.0040414c
mov eax, dword [0x40f758]
mov dword [0x40f8dc], eax
mov eax, dword [0x40f780]
mov dword [0x40f8e4], eax
mov eax, 0x280
call fcn.00402b84
add eax, 0x280
test eax, eax
jns 0x40b013
call fcn.00402fe4
mov dword [0x40f84c], eax
mov eax, dword [0x40f858]
add eax, dword [0x40f83c]
movzx edx, word [0x40f9d0]
add eax, edx
add eax, dword [0x40f84c]
add eax, esi
mov edx, 0x200
call fcn.00404688
mov dword [0x40f8e0], eax
mov edx, dword [0x40f764]
mov eax, dword [0x40f8e0]
call fcn.00404688
mov dword [0x40f8a4], eax
mov eax, dword [0x40f8a4]
cmp eax, dword [0x40f868]
jae 0x40b07a
mov edx, dword [0x40f764]
mov eax, dword [0x40f868]
call fcn.00404688
mov dword [0x40f8a4], eax
mov eax, dword [0x40f8a4]
mov dword [0x40f8d8], eax
mov eax, dword [0x40f8e0]
mov dword [0x40f748], eax
mov dword [0x40f8f4], 0xe0000020
cmp byte [0x40fa1e], 0
jne 0x40b105
lea ecx, [ebp - 0x1c]
mov dl, 8
mov eax, dword [0x40f8dc]
call fcn.004088fc
mov eax, dword [ebp - 0x1c]
push eax
mov eax, dword [0x40e0f0]
mov edx, 0x40d2f4
call fcn.00403ac4
pop edx
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
lea ecx, [ebp - 0x20]
mov dl, 8
mov eax, dword [0x40f8d8]
call fcn.004088fc
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [0x40e0f0]
mov edx, 0x40d31c
call fcn.00403ac4
pop edx
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
cmp byte [0x40fa1e], 0
jne 0x40b136
mov eax, dword [0x40e0f0]
call fcn.00402e94
call fcn.0040258c
mov eax, dword [0x40e0f0]
mov edx, 0x40d344
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
mov eax, dword [0x40f8dc]
add eax, dword [0x40f8d8]
mov dword [0x40f7ac], eax
mov eax, 0x40f948
mov edx, 0x28
call fcn.00404154
mov eax, dword [0x40f7ac]
mov dword [0x40f954], eax
mov eax, dword [0x40f894]
add eax, 0x70
call fcn.00408dd4
mov dword [0x40f9f8], eax
mov edx, dword [0x40f894]
add edx, 0x70
mov eax, dword [0x40f9f8]
call fcn.00404154
mov dword [0x40f898], 1
cmp dword [0x40f894], 0
je 0x40b2cb
cmp byte [0x40fa58], 1
jne 0x40b2cb
cmp byte [0x40fa1f], 0
jne 0x40b2cb
mov eax, dword [0x40f9f0]
mov edx, dword [eax + 0x34]
add edx, dword [0x40f89c]
mov eax, dword [0x40f9f0]
call fcn.004045fc
mov edi, eax
add edi, dword [0x40f9d4]
mov dword [0x40f9c0], edi
jmp 0x40b281
mov eax, dword [0x40f9c0]
mov edx, dword [eax + 0xc]
mov eax, dword [0x40f9f0]
add edx, dword [eax + 0x34]
mov eax, dword [0x40f9f0]
call fcn.004045fc
mov dword [0x40fa0c], eax
mov eax, dword [0x40f9d4]
add dword [0x40fa0c], eax
lea eax, [ebp - 0x28]
mov edx, dword [0x40fa0c]
call fcn.00403898
mov eax, dword [ebp - 0x28]
lea edx, [ebp - 0x24]
call fcn.00408874
mov eax, dword [ebp - 0x24]
push eax
lea edx, [ebp - 0x2c]
mov eax, 0x40d364
call fcn.00408874
mov edx, dword [ebp - 0x2c]
pop eax
call fcn.004038e8
je 0x40b27a
lea eax, [ebp - 0x34]
mov edx, dword [0x40fa0c]
call fcn.00403898
mov eax, dword [ebp - 0x34]
lea edx, [ebp - 0x30]
call fcn.00408874
mov eax, dword [ebp - 0x30]
push eax
lea edx, [ebp - 0x38]
mov eax, 0x40d37c
call fcn.00408874
mov edx, dword [ebp - 0x38]
pop eax
call fcn.004038e8
je 0x40b27a
inc dword [0x40f898]
add dword [0x40f9c0], 0x14
mov eax, dword [0x40f9c0]
cmp dword [eax], 0
jne 0x40b1e0
mov eax, dword [0x40f9c0]
cmp dword [eax + 4], 0
jne 0x40b1e0
mov eax, dword [0x40f9c0]
cmp dword [eax + 8], 0
jne 0x40b1e0
mov eax, dword [0x40f9c0]
cmp dword [eax + 0xc], 0
jne 0x40b1e0
mov eax, dword [0x40f9c0]
cmp dword [eax + 0x10], 0
jne 0x40b1e0
mov eax, dword [0x40f9f0]
mov edx, dword [eax + 0x34]
add edx, dword [0x40f89c]
mov eax, dword [0x40f9f0]
call fcn.004045fc
mov edi, eax
add edi, dword [0x40f9d4]
mov dword [0x40f9c0], edi
mov eax, dword [0x40f9f8]
mov dword [0x40fa0c], eax
mov eax, 0x40f998
mov edx, 0x14
call fcn.00404154
mov eax, dword [0x40f898]
inc eax
shl eax, 2
lea eax, [eax + eax*4]
add eax, dword [0x40f954]
mov dword [0x40f998], eax
mov eax, dword [0x40f898]
inc eax
shl eax, 2
lea eax, [eax + eax*4]
add eax, dword [0x40f954]
mov edx, dword [0x40f898]
dec edx
add edx, edx
add edx, 3
shl edx, 2
add edx, edx
add eax, edx
mov dword [0x40f9a4], eax
mov eax, dword [0x40f898]
dec eax
add eax, eax
add eax, 3
shl eax, 2
add eax, dword [0x40f998]
mov dword [0x40f9a8], eax
mov eax, dword [0x40f9a8]
mov dword [0x40f8a0], eax
mov edx, 0x40f998
mov ecx, 0x14
mov eax, dword [0x40fa0c]
call fcn.0040414c
add dword [0x40fa0c], 0x14
mov eax, dword [0x40f9f8]
mov dword [0x40fa10], eax
mov eax, dword [0x40f898]
inc eax
shl eax, 2
lea eax, [eax + eax*4]
add dword [0x40fa10], eax
mov eax, dword [0x40f9f8]
mov dword [0x40fa14], eax
mov eax, dword [0x40f9a4]
sub eax, dword [0x40f954]
add dword [0x40fa14], eax
mov edx, 0x40d388
mov ecx, 0xc
mov eax, dword [0x40fa14]
call fcn.0040414c
mov edx, 2
mov eax, 0xd
call fcn.00404688
add dword [0x40fa14], eax
mov eax, dword [0x40fa14]
sub eax, dword [0x40f9f8]
add eax, dword [0x40f954]
sub eax, 2
mov edx, dword [0x40fa10]
mov dword [edx], eax
mov edx, 0x40d398
mov ecx, 0xe
mov eax, dword [0x40fa14]
call fcn.0040414c
mov edx, 2
mov eax, 0xf
call fcn.00404688
add dword [0x40fa14], eax
add dword [0x40fa10], 4
mov eax, dword [0x40fa14]
sub eax, dword [0x40f9f8]
add eax, dword [0x40f954]
sub eax, 2
mov edx, dword [0x40fa10]
mov dword [edx], eax
mov edx, 0x40d3a8
mov ecx, 0xc
mov eax, dword [0x40fa14]
call fcn.0040414c
mov edx, 2
mov eax, 0xd
call fcn.00404688
add dword [0x40fa14], eax
add dword [0x40fa10], 4
add dword [0x40fa10], 4
cmp dword [0x40f894], 0
je 0x40b72b
cmp byte [0x40fa58], 1
jne 0x40b72b
cmp byte [0x40fa1f], 0
jne 0x40b72b
mov eax, dword [0x40f898]
test eax, eax
jns 0x40b4bd
call fcn.00402fe4
sub eax, 2
jl 0x40b72b
inc eax
mov dword [ebp - 0x14], eax
mov eax, 0x40f998
mov edx, 0x14
call fcn.00404154
mov eax, dword [0x40fa10]
sub eax, dword [0x40f9f8]
add eax, dword [0x40f954]
mov dword [0x40f998], eax
mov eax, dword [0x40fa14]
sub eax, dword [0x40f9f8]
add eax, dword [0x40f954]
mov dword [0x40f9a4], eax
mov eax, dword [0x40f898]
dec eax
add eax, eax
add eax, 3
shl eax, 2
add eax, dword [0x40f998]
mov dword [0x40f9a8], eax
mov edx, 0x40f998
mov ecx, 0x14
mov eax, dword [0x40fa0c]
call fcn.0040414c
add dword [0x40fa0c], 0x14
mov eax, dword [0x40f9c0]
mov edx, dword [eax + 0xc]
mov eax, dword [0x40f9f0]
add edx, dword [eax + 0x34]
mov eax, dword [0x40f9f0]
call fcn.004045fc
mov edi, eax
add edi, dword [0x40f9d4]
lea eax, [ebp - 0x40]
mov edx, edi
call fcn.00403898
mov eax, dword [ebp - 0x40]
lea edx, [ebp - 0x3c]
call fcn.00408874
mov eax, dword [ebp - 0x3c]
push eax
mov eax, 0x40d364
lea edx, [ebp - 0x44]
call fcn.00408874
mov edx, dword [ebp - 0x44]
pop eax
call fcn.004038e8
je 0x40b5bd
lea eax, [ebp - 0x4c]
mov edx, edi
call fcn.00403898
mov eax, dword [ebp - 0x4c]
lea edx, [ebp - 0x48]
call fcn.00408874
mov eax, dword [ebp - 0x48]
push eax
mov eax, 0x40d37c
lea edx, [ebp - 0x50]
call fcn.00408874
mov edx, dword [ebp - 0x50]
pop eax
call fcn.004038e8
jne 0x40b5c9
add dword [0x40f9c0], 0x14
jmp 0x40b539
lea eax, [ebp - 0x54]
mov edx, edi
call fcn.00403898
mov eax, dword [ebp - 0x54]
call fcn.004038e0
test eax, eax
jns 0x40b5e4
call fcn.00402fe4
mov dword [0x40f854], eax
mov ecx, dword [0x40f854]
mov edx, edi
mov eax, dword [0x40fa14]
call fcn.0040414c
mov eax, dword [0x40f854]
inc eax
mov edx, 2
call fcn.00404688
add dword [0x40fa14], eax
mov eax, dword [0x40f9c0]
mov ecx, dword [eax + 0x10]
mov edx, dword [0x40f9d4]
mov eax, dword [0x40f9f0]
call fcn.00404650
mov edi, eax
test byte [edi + 3], 0x80
jne 0x40b703
mov ecx, dword [edi]
mov edx, dword [0x40f9d4]
mov eax, dword [0x40f9f0]
call fcn.00404650
mov edi, eax
test edi, edi
jne 0x40b692
mov eax, dword [0x40f9c0]
mov ecx, dword [eax]
mov edx, dword [0x40f9d4]
mov eax, dword [0x40f9f0]
call fcn.00404650
mov edi, eax
test edi, edi
je 0x40b692
test byte [edi + 3], 0x80
je 0x40b67e
mov eax, dword [edi]
mov edx, dword [0x40fa10]
mov dword [edx], eax
xor edi, edi
jmp 0x40b692
mov ecx, dword [edi]
mov edx, dword [0x40f9d4]
mov eax, dword [0x40f9f0]
call fcn.00404650
mov edi, eax
test edi, edi
je 0x40b70d
add edi, 2
lea eax, [ebp - 0x58]
mov edx, edi
call fcn.00403898
mov eax, dword [ebp - 0x58]
call fcn.004038e0
test eax, eax
jns 0x40b6b4
call fcn.00402fe4
mov dword [0x40f854], eax
mov eax, dword [0x40fa14]
sub eax, dword [0x40f9f8]
add eax, dword [0x40f954]
mov edx, dword [0x40fa10]
mov dword [edx], eax
add dword [0x40fa14], 2
mov ecx, dword [0x40f854]
mov edx, edi
mov eax, dword [0x40fa14]
call fcn.0040414c
mov eax, dword [0x40f854]
inc eax
mov edx, 2
call fcn.00404688
add dword [0x40fa14], eax
jmp 0x40b70d
mov eax, dword [edi]
mov edx, dword [0x40fa10]
mov dword [edx], eax
add dword [0x40f9c0], 0x14
add dword [0x40fa10], 4
add dword [0x40fa10], 4
dec dword [ebp - 0x14]
jne 0x40b4ca
mov eax, dword [0x40f9f8]
mov dword [0x40fa10], eax
mov eax, dword [0x40f898]
inc eax
shl eax, 2
lea eax, [eax + eax*4]
add dword [0x40fa10], eax
mov edi, dword [0x40fa10]
mov eax, dword [0x40f898]
dec eax
add eax, eax
add eax, 3
shl eax, 2
mov dword [0x40f854], eax
add edi, dword [0x40f854]
mov ecx, dword [0x40f854]
mov edx, dword [0x40fa10]
mov eax, edi
call fcn.0040414c
mov eax, dword [0x40fa14]
sub eax, dword [0x40f9f8]
mov dword [0x40f890], eax
mov edx, 0x40d3b8
mov eax, 0x40f948
mov ecx, 6
call fcn.0040414c
mov edx, dword [0x40f764]
mov eax, dword [0x40f890]
call fcn.00404688
mov dword [0x40f950], eax
mov edx, 0x200
mov eax, dword [0x40f890]
call fcn.00404688
mov dword [0x40f958], eax
mov eax, dword [0x40f8e4]
add eax, dword [0x40f8e0]
mov dword [0x40f95c], eax
mov eax, dword [0x40f958]
mov dword [0x40f7b0], eax
mov dword [0x40f96c], 0xc0000060
mov eax, dword [0x40f954]
add eax, dword [0x40f950]
mov dword [0x40f878], eax
mov eax, dword [0x40f95c]
add eax, dword [0x40f958]
mov dword [0x40f87c], eax
cmp byte [0x40fa1e], 0
jne 0x40b877
lea ecx, [ebp - 0x5c]
mov dl, 8
mov eax, dword [0x40f954]
call fcn.004088fc
mov eax, dword [ebp - 0x5c]
push eax
mov eax, dword [0x40e0f0]
mov edx, 0x40d3c8
call fcn.00403ac4
pop edx
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
lea ecx, [ebp - 0x60]
mov dl, 8
mov eax, dword [0x40f950]
call fcn.004088fc
mov eax, dword [ebp - 0x60]
push eax
mov eax, dword [0x40e0f0]
mov edx, 0x40d3f4
call fcn.00403ac4
pop edx
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
cmp byte [0x40fa1c], 0
je 0x40bb8c
cmp byte [0x40fa1e], 0
jne 0x40b8b5
mov eax, dword [0x40e0f0]
call fcn.00402e94
call fcn.0040258c
mov eax, dword [0x40e0f0]
mov edx, 0x40d41c
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
mov eax, dword [0x40f9f0]
add eax, 0xc0
mov dword [0x40fa24], eax
mov eax, dword [0x40fa24]
mov ecx, dword [eax]
mov edx, dword [0x40f9d4]
mov eax, dword [0x40f9f0]
call fcn.00404650
mov dword [0x40fa28], eax
cmp dword [0x40fa28], 0
je 0x40baf2
mov eax, dword [0x40fa28]
mov eax, dword [eax + 4]
mov edx, dword [0x40fa28]
sub eax, dword [edx]
mov dword [0x40fa30], eax
mov eax, dword [0x40fa30]
call fcn.00408dd4
mov dword [0x40fa2c], eax
mov eax, dword [0x40fa28]
mov ecx, dword [eax]
sub ecx, dword [0x40f864]
mov edx, dword [0x40f9d4]
mov eax, dword [0x40f9f0]
call fcn.00404650
mov edi, eax
test edi, edi
je 0x40b948
mov ecx, dword [0x40fa30]
mov edx, edi
mov eax, dword [0x40fa2c]
call fcn.0040414c
jmp 0x40b958
mov edx, dword [0x40fa30]
mov eax, dword [0x40fa2c]
call fcn.00404154
mov eax, dword [0x40fa28]
mov ecx, dword [eax + 0xc]
sub ecx, dword [0x40f864]
mov edx, dword [0x40f9d4]
mov eax, dword [0x40f9f0]
call fcn.00404650
mov edi, eax
test edi, edi
jne 0x40b9a7
mov eax, 4
mov dword [0x40fa3c], eax
mov eax, dword [0x40fa3c]
call fcn.00408dd4
mov dword [0x40fa38], eax
mov edx, dword [0x40fa3c]
mov eax, dword [0x40fa38]
call fcn.00404154
jmp 0x40b9d4
mov eax, edi
call fcn.00404670
mov dword [0x40fa3c], eax
mov eax, dword [0x40fa3c]
call fcn.00408dd4
mov dword [0x40fa38], eax
mov ecx, dword [0x40fa3c]
mov edx, edi
mov eax, dword [0x40fa38]
call fcn.0040414c
mov eax, 0x40f920
mov edx, 0x28
call fcn.00404154
mov edx, 0x40d434
mov eax, 0x40f920
mov ecx, 4
call fcn.0040414c
mov eax, dword [0x40f878]
mov dword [0x40f92c], eax
mov eax, dword [0x40f87c]
mov dword [0x40f934], eax
mov dword [0x40f944], 0xc0000000
mov eax, 0x40fa40
mov edx, 0x18
call fcn.00404154
mov edx, 0x10
mov eax, 0x18
call fcn.00404688
mov edx, dword [0x40f760]
add edx, dword [0x40f92c]
add eax, edx
mov dword [0x40fa40], eax
mov eax, dword [0x40fa40]
add eax, dword [0x40fa30]
mov dword [0x40fa44], eax
mov edx, 0x10
mov eax, dword [0x40fa44]
call fcn.00404688
mov dword [0x40fa4c], eax
mov eax, dword [0x40fa4c]
add eax, dword [0x40fa3c]
mov edx, 8
call fcn.00404688
mov dword [0x40fa48], eax
mov eax, dword [0x40fa48]
sub eax, dword [0x40f92c]
sub eax, dword [0x40f760]
add eax, 0x10
mov edx, 0x200
call fcn.00404688
mov dword [0x40f930], eax
mov edx, dword [0x40f764]
mov eax, dword [0x40f930]
call fcn.00404688
mov dword [0x40f928], eax
mov eax, dword [0x40f878]
mov dword [0x40f7ec], eax
mov eax, dword [0x40f930]
mov dword [0x40f7f0], eax
mov eax, dword [0x40f92c]
add eax, dword [0x40f928]
mov dword [0x40f878], eax
mov eax, dword [0x40f934]
add eax, dword [0x40f930]
mov dword [0x40f87c], eax
jmp 0x40baf9
mov byte [0x40fa1c], 0
cmp byte [0x40fa1e], 0
jne 0x40bb8c
lea ecx, [ebp - 0x64]
mov dl, 8
mov eax, dword [0x40f92c]
call fcn.004088fc
mov eax, dword [ebp - 0x64]
push eax
mov eax, dword [0x40e0f0]
mov edx, 0x40d444
call fcn.00403ac4
pop edx
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
lea ecx, [ebp - 0x68]
mov dl, 8
mov eax, dword [0x40f928]
call fcn.004088fc
mov eax, dword [ebp - 0x68]
push eax
mov eax, dword [0x40e0f0]
mov edx, 0x40d46c
call fcn.00403ac4
pop edx
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
cmp byte [0x40fa1c], 0
jne 0x40bb8c
mov eax, dword [0x40e0f0]
mov edx, 0x40d490
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
cmp byte [0x40fa1d], 0
je 0x40bdf5
cmp byte [0x40fa1e], 0
jne 0x40bbca
mov eax, dword [0x40e0f0]
call fcn.00402e94
call fcn.0040258c
mov eax, dword [0x40e0f0]
mov edx, 0x40d4d0
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
mov eax, 0x40f8f8
mov edx, 0x28
call fcn.00404154
mov edx, 0x40d4e8
mov eax, 0x40f8f8
mov ecx, 6
call fcn.0040414c
mov eax, dword [0x40f878]
mov dword [0x40f904], eax
mov eax, dword [0x40f87c]
mov dword [0x40f90c], eax
mov dword [0x40f91c], 0xc0000000
mov edx, 0x200
mov eax, dword [0x40f874]
call fcn.00404688
mov dword [0x40f908], eax
mov edx, dword [0x40f764]
mov eax, dword [0x40f908]
call fcn.00404688
mov dword [0x40f900], eax
mov eax, dword [0x40f878]
mov dword [0x40f7a4], eax
mov eax, dword [0x40f908]
mov dword [0x40f7a8], eax
mov eax, dword [0x40f904]
add eax, dword [0x40f900]
mov dword [0x40f878], eax
mov eax, dword [0x40f90c]
add eax, dword [0x40f908]
mov dword [0x40f87c], eax
mov eax, dword [0x40f900]
call fcn.00408dd4
mov dword [0x40f9f4], eax
mov edx, dword [0x40f900]
mov eax, dword [0x40f9f4]
call fcn.00404154
mov eax, dword [0x40f9f0]
mov edx, dword [eax + 0x78]
mov eax, dword [0x40f9f0]
add edx, dword [eax + 0x34]
mov eax, dword [0x40f9f0]
call fcn.004045fc
mov edi, eax
test edi, edi
je 0x40bcad
add edi, dword [0x40f9d4]
mov ecx, dword [0x40f874]
mov edx, edi
mov eax, dword [0x40f9f4]
call fcn.0040414c
mov eax, dword [0x40f9f4]
mov eax, dword [eax + 0x20]
mov dword [0x40f888], eax
mov eax, dword [0x40f9f4]
mov eax, dword [eax + 0x1c]
mov dword [0x40f88c], eax
mov eax, dword [0x40f904]
sub eax, dword [0x40f884]
mov dword [0x40f880], eax
mov eax, dword [0x40f9f4]
mov edx, dword [0x40f880]
add dword [eax + 0xc], edx
mov eax, dword [0x40f9f4]
mov edx, dword [0x40f880]
add dword [eax + 0x1c], edx
mov eax, dword [0x40f9f4]
mov edx, dword [0x40f880]
add dword [eax + 0x20], edx
mov eax, dword [0x40f9f4]
mov edx, dword [0x40f880]
add dword [eax + 0x24], edx
mov eax, dword [0x40f9f0]
mov edx, dword [eax + 0x34]
add edx, dword [0x40f888]
mov eax, dword [0x40f9f0]
call fcn.004045fc
mov dword [0x40fa0c], eax
sub edi, dword [0x40f9d4]
sub dword [0x40fa0c], edi
mov eax, dword [0x40f9f4]
add dword [0x40fa0c], eax
mov eax, dword [0x40f9f4]
mov eax, dword [eax + 0x18]
dec eax
test eax, eax
jns 0x40bd67
call fcn.00402fe4
test eax, eax
jl 0x40bd88
inc eax
mov dword [ebp - 0x14], eax
mov eax, dword [0x40fa0c]
mov edx, dword [0x40f880]
add dword [eax], edx
add dword [0x40fa0c], 4
dec dword [ebp - 0x14]
jne 0x40bd6f
cmp byte [0x40fa1e], 0
jne 0x40bdf5
lea ecx, [ebp - 0x6c]
mov dl, 8
mov eax, dword [0x40f904]
call fcn.004088fc
mov eax, dword [ebp - 0x6c]
push eax
mov eax, dword [0x40e0f0]
mov edx, 0x40d4f8
call fcn.00403ac4
pop edx
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
lea ecx, [ebp - 0x70]
mov dl, 8
mov eax, dword [0x40f900]
call fcn.004088fc
mov eax, dword [ebp - 0x70]
push eax
mov eax, dword [0x40e0f0]
mov edx, 0x40d524
call fcn.00403ac4
pop edx
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
cmp byte [0x40fa20], 0
je 0x40bf43
cmp byte [0x40fa1e], 0
jne 0x40be33
mov eax, dword [0x40e0f0]
call fcn.00402e94
call fcn.0040258c
mov eax, dword [0x40e0f0]
mov edx, 0x40d54c
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
mov eax, 0x40f970
mov edx, 0x28
call fcn.00404154
mov edx, 0x40d564
mov eax, 0x40f970
mov ecx, 5
call fcn.0040414c
mov eax, dword [0x40f878]
mov dword [0x40f97c], eax
call fcn.00408e04
mov eax, dword [0x40f87c]
mov dword [0x40f984], eax
mov dword [0x40f994], 0x40000000
mov edx, 0x200
mov eax, dword [0x40f8c0]
call fcn.00404688
mov dword [0x40f980], eax
mov edx, dword [0x40f764]
mov eax, dword [0x40f980]
call fcn.00404688
mov dword [0x40f978], eax
mov eax, dword [0x40f878]
mov dword [0x40f7b4], eax
mov eax, dword [0x40f980]
mov dword [0x40f7b8], eax
mov eax, dword [0x40f97c]
add eax, dword [0x40f978]
mov dword [0x40f878], eax
mov eax, dword [0x40f984]
add eax, dword [0x40f980]
mov dword [0x40f87c], eax
cmp byte [0x40fa1e], 0
jne 0x40bf43
lea ecx, [ebp - 0x74]
mov dl, 8
mov eax, dword [0x40f97c]
call fcn.004088fc
mov eax, dword [ebp - 0x74]
push eax
mov eax, dword [0x40e0f0]
mov edx, 0x40d574
call fcn.00403ac4
pop edx
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
lea ecx, [ebp - 0x78]
mov dl, 8
mov eax, dword [0x40f978]
call fcn.004088fc
mov eax, dword [ebp - 0x78]
push eax
mov eax, dword [0x40e0f0]
mov edx, 0x40d5a0
call fcn.00403ac4
pop edx
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
mov eax, dword [0x40f878]
mov dword [0x40f77c], eax
cmp byte [0x40fa1e], 0
jne 0x40bf7e
mov eax, dword [0x40e0f0]
call fcn.00402e94
call fcn.0040258c
mov eax, dword [0x40e0f0]
mov edx, 0x40d5c8
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
mov eax, 0x40f998
mov edx, 0x14
call fcn.00404154
mov eax, dword [0x40f954]
add eax, 0x28
mov dword [0x40f998], eax
mov eax, dword [0x40f954]
add eax, 0x28
add eax, 0x18
mov dword [0x40f9a4], eax
mov eax, dword [0x40f998]
add eax, 0xc
mov dword [0x40f9a8], eax
mov eax, dword [0x40f954]
add eax, 0x28
add eax, 0x18
add eax, 0xc
add eax, 2
mov dword [0x40f9c4], eax
mov eax, dword [0x40f9c4]
add eax, 0xe
add eax, 2
add eax, 2
mov dword [0x40f9c8], eax
mov eax, 0x40f9ac
mov edx, 0x14
call fcn.00404154
mov edx, dword [0x40f768]
mov eax, dword [0x40f87c]
call fcn.00404688
mov dword [0x40f838], eax
cmp byte [0x40fa23], 0
je 0x40c018
mov eax, dword [0x40f8cc]
add dword [0x40f838], eax
cmp byte [0x40fa1e], 0
jne 0x40c049
mov eax, dword [0x40e0f0]
call fcn.00402e94
call fcn.0040258c
mov eax, dword [0x40e0f0]
mov edx, 0x40d5f0
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
mov eax, dword [0x40f850]
cmp eax, 0xffff
jbe 0x40c05a
call fcn.00402fe4
mov word [0x40f9ce], ax
cmp byte [0x40fa1e], 0
jne 0x40c11b
lea ecx, [ebp - 0x7c]
mov dl, 8
mov eax, dword [0x40f850]
call fcn.004088fc
mov eax, dword [ebp - 0x7c]
push eax
mov eax, dword [0x40e0f0]
mov edx, 0x40d618
call fcn.00403ac4
pop edx
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
lea ecx, [ebp - 0x80]
mov dl, 8
mov eax, dword [0x40f858]
call fcn.004088fc
mov eax, dword [ebp - 0x80]
push eax
mov eax, dword [0x40e0f0]
mov edx, 0x40d630
call fcn.00403ac4
pop edx
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
mov eax, dword [0x40e0f0]
mov edx, 0x40d64c
call fcn.00403ac4
movzx edx, word [0x40f9ce]
call fcn.00402e64
call fcn.00402e94
call fcn.0040258c
mov eax, dword [0x40e0f0]
mov edx, 0x40d668
call fcn.00403ac4
movzx edx, word [0x40f9d0]
call fcn.00402e64
call fcn.00402e94
call fcn.0040258c
movzx eax, word [0x40f9ce]
call fcn.00408dd4
mov dword [0x40f9e8], eax
movzx eax, word [0x40f9d0]
call fcn.00408dd4
mov dword [0x40f9ec], eax
cmp dword [0x40f9e8], 0
je 0x40cdeb
cmp dword [0x40f9ec], 0
je 0x40cdeb
movzx edx, word [0x40f9ce]
mov eax, dword [0x40f9e8]
call fcn.0040469c
movzx edx, word [0x40f9d0]
mov eax, dword [0x40f9ec]
call fcn.0040469c
mov eax, dword [0x40f8dc]
add eax, dword [0x40f858]
add eax, dword [0x40f83c]
movzx edx, word [0x40f9d0]
add eax, edx
mov dword [0x40f754], eax
cmp byte [0x40fa1e], 0
jne 0x40c1d9
lea ecx, [ebp - 0x84]
mov dl, 8
mov eax, dword [0x40f754]
call fcn.004088fc
mov eax, dword [ebp - 0x84]
push eax
mov eax, dword [0x40e0f0]
mov edx, 0x40d684
call fcn.00403ac4
pop edx
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
mov eax, dword [0x40f84c]
call fcn.00408dd4
mov dword [0x40f9e4], eax
cmp dword [0x40f9e4], 0
je 0x40cdcb
mov eax, dword [0x40f760]
add eax, dword [0x40f8dc]
add eax, dword [0x40f858]
mov dword [0x40f840], eax
mov eax, dword [0x40f760]
add eax, dword [0x40f8dc]
add eax, dword [0x40f858]
add eax, dword [0x40f83c]
movzx edx, word [0x40f9d0]
add eax, edx
add eax, dword [0x40f84c]
mov dword [0x40f844], eax
mov eax, dword [0x40f760]
add eax, dword [0x40f8dc]
add eax, dword [0x40f850]
mov dword [0x40f848], eax
mov edi, dword [0x40f9dc]
add edi, dword [0x40f83c]
jmp 0x40c25b
dec edi
cmp dword [edi], 0xc0dec0de
jne 0x40c25a
sub edi, 5
mov eax, dword [0x40f8ac]
mov dword [edi], eax
sub edi, 7
mov eax, dword [0x40f754]
mov dword [edi], eax
sub edi, 7
mov eax, dword [0x40f77c]
mov dword [edi], eax
sub edi, 7
mov al, byte [0x40fa58]
sub al, 1
jb 0x40c295
je 0x40c29b
dec al
je 0x40c2a3
jmp 0x40c2ab
xor eax, eax
mov dword [edi], eax
jmp 0x40c2b1
mov dword [edi], 1
jmp 0x40c2b1
mov dword [edi], 2
jmp 0x40c2b1
mov dword [edi], 0xffffffff
mov eax, dword [0x40f760]
add eax, dword [0x40f8dc]
mov dword [0x40f8b8], eax
mov eax, dword [0x40f760]
add eax, dword [0x40f8a0]
mov dword [0x40f8bc], eax
mov eax, dword [0x40f9dc]
mov dword [0x40fa18], eax
inc dword [0x40fa18]
mov eax, dword [0x40f8bc]
add eax, 4
sub eax, dword [0x40f8b8]
mov edx, dword [0x40fa18]
mov dword [edx], eax
add dword [0x40fa18], 5
mov eax, dword [0x40f8bc]
sub eax, dword [0x40f8b8]
mov edx, dword [0x40fa18]
mov dword [edx], eax
add dword [0x40fa18], 5
mov eax, dword [0x40f844]
sub eax, dword [0x40f8b8]
mov edx, dword [0x40fa18]
mov dword [edx], eax
mov eax, dword [0x40f9e0]
push eax
mov eax, dword [0x40f83c]
push eax
mov eax, dword [0x40f9dc]
push eax
call fcn.004045d0
cmp byte [0x40fa1e], 0
jne 0x40c364
mov eax, dword [0x40e0f0]
mov edx, 0x40d6a8
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
mov eax, dword [0x40f83c]
push eax
mov eax, dword [0x40f858]
add eax, dword [0x40f83c]
movzx edx, word [0x40f9d0]
add eax, edx
add eax, dword [0x40f84c]
push eax
mov eax, dword [0x40f8ac]
push eax
mov eax, dword [0x40f760]
add eax, dword [0x40f8dc]
add eax, dword [0x40f858]
push eax
mov eax, dword [0x40f844]
push eax
mov eax, dword [0x40f760]
add eax, dword [0x40f754]
push eax
mov eax, dword [0x40f8bc]
push eax
mov ecx, dword [0x40f858]
mov edx, dword [0x40f850]
mov eax, dword [0x40f8b8]
call fcn.004078dc
cmp byte [0x40fa1e], 0
jne 0x40c3fc
mov eax, dword [0x40e0f0]
call fcn.00402e94
call fcn.0040258c
mov eax, dword [0x40e0f0]
mov edx, 0x40d6cc
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
push 0
push 0x80
push 2
push 0
push 0
push 0x40000000
mov eax, dword [0x40f82c]
call fcn.0040399c
push eax
call sub.kernel32.dll_CreateFileA_1
mov dword [0x40f824], eax
cmp dword [0x40f824], 0xffffffff
je 0x40cdb5
push 0
push 0
mov eax, dword [0x40f838]
test eax, eax
jns 0x40c442
call fcn.00402fe4
push eax
mov eax, dword [0x40f824]
push eax
call sub.kernel32.dll_SetFilePointer_1
mov eax, dword [0x40f824]
push eax
call sub.kernel32.dll_SetEndOfFile_1
cmp byte [0x40fa1e], 0
jne 0x40c975
mov eax, dword [0x40f838]
xor edx, edx
push edx
push eax
mov eax, dword [0x40e0f0]
mov edx, 0x40d6ec
call fcn.00403ac4
mov edx, dword [0x40f82c]
call fcn.00403ac4
mov edx, 0x40cef8
call fcn.00403ac4
call fcn.00403cd4
mov dl, 0x29
call fcn.00402de8
call fcn.00402e94
call fcn.0040258c
mov eax, dword [0x40f838]
sub eax, dword [0x40f8ac]
xor edx, edx
push edx
push eax
mov eax, dword [0x40e0f0]
mov edx, 0x40d704
call fcn.00403ac4
call fcn.00403cd4
mov edx, 0x40d720
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
mov eax, dword [0x40e0f0]
call fcn.00402e94
call fcn.0040258c
mov eax, dword [0x40e0f0]
mov edx, 0x40d730
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
xor edi, edi
lea ecx, [ebp - 0x88]
mov dl, 8
mov eax, edi
call fcn.004088fc
mov edx, dword [ebp - 0x88]
mov eax, dword [0x40e0f0]
call fcn.00403ac4
mov edx, 0x40d74c
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
add edi, 0x40
lea ecx, [ebp - 0x8c]
mov dl, 8
mov eax, edi
call fcn.004088fc
mov edx, dword [ebp - 0x8c]
mov eax, dword [0x40e0f0]
call fcn.00403ac4
mov edx, 0x40d764
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
add edi, 0x38
lea ecx, [ebp - 0x90]
mov dl, 8
mov eax, edi
call fcn.004088fc
mov edx, dword [ebp - 0x90]
mov eax, dword [0x40e0f0]
call fcn.00403ac4
mov edx, 0x40d778
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
add edi, 0x88
lea ecx, [ebp - 0x94]
mov dl, 8
mov eax, edi
call fcn.004088fc
mov edx, dword [ebp - 0x94]
mov eax, dword [0x40e0f0]
call fcn.00403ac4
mov edx, 0x40d790
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
add edi, 0xf8
lea ecx, [ebp - 0x98]
mov dl, 8
mov eax, edi
call fcn.004088fc
mov edx, dword [ebp - 0x98]
mov eax, dword [0x40e0f0]
call fcn.00403ac4
mov edx, 0x40d7a8
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
add edi, 0x28
lea ecx, [ebp - 0x9c]
mov dl, 8
mov eax, edi
call fcn.004088fc
mov edx, dword [ebp - 0x9c]
mov eax, dword [0x40e0f0]
call fcn.00403ac4
mov edx, 0x40d7c8
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
add edi, 0x28
cmp byte [0x40fa1d], 0
je 0x40c693
lea ecx, [ebp - 0xa0]
mov dl, 8
mov eax, edi
call fcn.004088fc
mov edx, dword [ebp - 0xa0]
mov eax, dword [0x40e0f0]
call fcn.00403ac4
mov edx, 0x40d7e8
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
add edi, 0x28
cmp byte [0x40fa1c], 0
je 0x40c6cf
lea ecx, [ebp - 0xa4]
mov dl, 8
mov eax, edi
call fcn.004088fc
mov edx, dword [ebp - 0xa4]
mov eax, dword [0x40e0f0]
call fcn.00403ac4
mov edx, 0x40d808
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
mov edi, dword [0x40f8e4]
lea ecx, [ebp - 0xa8]
mov dl, 8
mov eax, edi
call fcn.004088fc
mov edx, dword [ebp - 0xa8]
mov eax, dword [0x40e0f0]
call fcn.00403ac4
mov edx, 0x40d828
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
movzx eax, word [0x40f9ce]
add edi, eax
lea ecx, [ebp - 0xac]
mov dl, 8
mov eax, edi
call fcn.004088fc
mov edx, dword [ebp - 0xac]
mov eax, dword [0x40e0f0]
call fcn.00403ac4
mov edx, 0x40d840
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
movzx eax, word [0x40f9cc]
add edi, eax
lea ecx, [ebp - 0xb0]
mov dl, 8
mov eax, edi
call fcn.004088fc
mov edx, dword [ebp - 0xb0]
mov eax, dword [0x40e0f0]
call fcn.00403ac4
mov edx, 0x40d854
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
add edi, dword [0x40f83c]
lea ecx, [ebp - 0xb4]
mov dl, 8
mov eax, edi
call fcn.004088fc
mov edx, dword [ebp - 0xb4]
mov eax, dword [0x40e0f0]
call fcn.00403ac4
mov edx, 0x40d870
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
movzx eax, word [0x40f9d0]
add edi, eax
lea ecx, [ebp - 0xb8]
mov dl, 8
mov eax, edi
call fcn.004088fc
mov edx, dword [ebp - 0xb8]
mov eax, dword [0x40e0f0]
call fcn.00403ac4
mov edx, 0x40d888
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
add edi, dword [0x40f84c]
lea ecx, [ebp - 0xbc]
mov dl, 8
mov eax, edi
call fcn.004088fc
mov edx, dword [ebp - 0xbc]
mov eax, dword [0x40e0f0]
call fcn.00403ac4
mov edx, 0x40d8a4
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
mov edi, dword [0x40f95c]
lea ecx, [ebp - 0xc0]
mov dl, 8
mov eax, edi
call fcn.004088fc
mov edx, dword [ebp - 0xc0]
mov eax, dword [0x40e0f0]
call fcn.00403ac4
mov edx, 0x40d8c0
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
cmp byte [0x40fa1c], 0
je 0x40c8a9
mov edi, dword [0x40f934]
lea ecx, [ebp - 0xc4]
mov dl, 8
mov eax, edi
call fcn.004088fc
mov edx, dword [ebp - 0xc4]
mov eax, dword [0x40e0f0]
call fcn.00403ac4
mov edx, 0x40d8d4
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
cmp byte [0x40fa1d], 0
je 0x40c8eb
mov edi, dword [0x40f90c]
lea ecx, [ebp - 0xc8]
mov dl, 8
mov eax, edi
call fcn.004088fc
mov edx, dword [ebp - 0xc8]
mov eax, dword [0x40e0f0]
call fcn.00403ac4
mov edx, 0x40d8e4
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
cmp byte [0x40fa20], 0
je 0x40c92d
mov edi, dword [0x40f984]
lea ecx, [ebp - 0xcc]
mov dl, 8
mov eax, edi
call fcn.004088fc
mov edx, dword [ebp - 0xcc]
mov eax, dword [0x40e0f0]
call fcn.00403ac4
mov edx, 0x40d8f8
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
cmp byte [0x40fa23], 0
je 0x40c975
mov edi, dword [0x40f838]
sub edi, dword [0x40f8cc]
lea ecx, [ebp - 0xd0]
mov dl, 8
mov eax, edi
call fcn.004088fc
mov edx, dword [ebp - 0xd0]
mov eax, dword [0x40e0f0]
call fcn.00403ac4
mov edx, 0x40d908
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
push 0
push 0
push 0
mov eax, dword [0x40f824]
push eax
call sub.kernel32.dll_SetFilePointer_1
push 0
push 0x40f834
push 0x40
push 0x40f664
mov eax, dword [0x40f824]
push eax
call sub.kernel32.dll_WriteFile_1
push 0
push 0x40f834
push 0x38
push 0x40e0a8
mov eax, dword [0x40f824]
push eax
call sub.kernel32.dll_WriteFile_1
push 0
push 0x40f834
push 0x88
push 0x40f6a4
mov eax, dword [0x40f824]
push eax
call sub.kernel32.dll_WriteFile_1
push 0
push 0x40f834
push 0xf8
push 0x40f72c
mov eax, dword [0x40f824]
push eax
call sub.kernel32.dll_WriteFile_1
push 0
push 0x40f834
push 0x28
push 0x40f8d0
mov eax, dword [0x40f824]
push eax
call sub.kernel32.dll_WriteFile_1
push 0
push 0x40f834
push 0x28
push 0x40f948
mov eax, dword [0x40f824]
push eax
call sub.kernel32.dll_WriteFile_1
cmp byte [0x40fa1c], 0
je 0x40ca44
push 0
push 0x40f834
push 0x28
push 0x40f920
mov eax, dword [0x40f824]
push eax
call sub.kernel32.dll_WriteFile_1
cmp byte [0x40fa1d], 0
je 0x40ca66
push 0
push 0x40f834
push 0x28
push 0x40f8f8
mov eax, dword [0x40f824]
push eax
call sub.kernel32.dll_WriteFile_1
cmp byte [0x40fa20], 0
je 0x40ca88
push 0
push 0x40f834
push 0x28
push 0x40f970
mov eax, dword [0x40f824]
push eax
call sub.kernel32.dll_WriteFile_1
push 0
push 0
mov eax, dword [0x40f95c]
test eax, eax
jns 0x40ca9a
call fcn.00402fe4
push eax
mov eax, dword [0x40f824]
push eax
call sub.kernel32.dll_SetFilePointer_1
push 0
push 0x40f834
mov eax, dword [0x40f958]
push eax
mov eax, dword [0x40f9f8]
push eax
mov eax, dword [0x40f824]
push eax
call sub.kernel32.dll_WriteFile_1
push 0
push 0
mov eax, dword [0x40f8e4]
test eax, eax
jns 0x40cad6
call fcn.00402fe4
push eax
mov eax, dword [0x40f824]
push eax
call sub.kernel32.dll_SetFilePointer_1
push 0
push 0x40f834
movzx eax, word [0x40f9ce]
push eax
mov eax, dword [0x40f9e8]
push eax
mov eax, dword [0x40f824]
push eax
call sub.kernel32.dll_WriteFile_1
push 0
push 0x40f834
movzx eax, word [0x40f9cc]
push eax
mov eax, dword [0x40f9e0]
push eax
mov eax, dword [0x40f824]
push eax
call sub.kernel32.dll_WriteFile_1
push 0
push 0x40f834
mov eax, dword [0x40f83c]
push eax
mov eax, dword [0x40f9dc]
push eax
mov eax, dword [0x40f824]
push eax
call sub.kernel32.dll_WriteFile_1
push 0
push 0x40f834
movzx eax, word [0x40f9d0]
push eax
mov eax, dword [0x40f9ec]
push eax
mov eax, dword [0x40f824]
push eax
call sub.kernel32.dll_WriteFile_1
push 0
push 0x40f834
mov eax, dword [0x40f84c]
push eax
mov eax, dword [0x40f9e4]
push eax
mov eax, dword [0x40f824]
push eax
call sub.kernel32.dll_WriteFile_1
push 0
push 0x40f834
push esi
mov eax, dword [0x40f9d8]
push eax
mov eax, dword [0x40f824]
push eax
call sub.kernel32.dll_WriteFile_1
cmp byte [0x40fa1c], 0
je 0x40cc8b
push 0
push 0
mov eax, dword [0x40f934]
test eax, eax
jns 0x40cbb6
call fcn.00402fe4
push eax
mov eax, dword [0x40f824]
push eax
call sub.kernel32.dll_SetFilePointer_1
push 0
push 0x40f834
push 0x18
push 0x40fa40
mov eax, dword [0x40f824]
push eax
call sub.kernel32.dll_WriteFile_1
mov eax, dword [0x40fa40]
sub eax, dword [0x40f92c]
sub eax, dword [0x40f760]
mov dword [0x40f860], eax
push 0
push 0
mov eax, dword [0x40f934]
add eax, dword [0x40f860]
test eax, eax
jns 0x40cc09
call fcn.00402fe4
push eax
mov eax, dword [0x40f824]
push eax
call sub.kernel32.dll_SetFilePointer_1
push 0
push 0x40f834
mov eax, dword [0x40fa30]
push eax
mov eax, dword [0x40fa2c]
push eax
mov eax, dword [0x40f824]
push eax
call sub.kernel32.dll_WriteFile_1
mov eax, dword [0x40fa4c]
sub eax, dword [0x40f92c]
sub eax, dword [0x40f760]
mov dword [0x40f860], eax
push 0
push 0
mov eax, dword [0x40f934]
add eax, dword [0x40f860]
test eax, eax
jns 0x40cc61
call fcn.00402fe4
push eax
mov eax, dword [0x40f824]
push eax
call sub.kernel32.dll_SetFilePointer_1
push 0
push 0x40f834
mov eax, dword [0x40fa3c]
push eax
mov eax, dword [0x40fa38]
push eax
mov eax, dword [0x40f824]
push eax
call sub.kernel32.dll_WriteFile_1
cmp byte [0x40fa1d], 0
je 0x40cce3
push 0
push 0
mov eax, dword [0x40f90c]
test eax, eax
jns 0x40cca6
call fcn.00402fe4
push eax
mov eax, dword [0x40f824]
push eax
call sub.kernel32.dll_SetFilePointer_1
push 0
push 0x40f834
mov eax, dword [0x40f908]
push eax
mov eax, dword [0x40f9f4]
push eax
mov eax, dword [0x40f824]
push eax
call sub.kernel32.dll_WriteFile_1
cmp dword [0x40f9f4], 0
je 0x40cce3
mov eax, dword [0x40f9f4]
call fcn.00408de4
cmp byte [0x40fa20], 0
je 0x40cd3b
push 0
push 0
mov eax, dword [0x40f984]
test eax, eax
jns 0x40ccfe
call fcn.00402fe4
push eax
mov eax, dword [0x40f824]
push eax
call sub.kernel32.dll_SetFilePointer_1
push 0
push 0x40f834
mov eax, dword [0x40f980]
push eax
mov eax, dword [0x40f9fc]
push eax
mov eax, dword [0x40f824]
push eax
call sub.kernel32.dll_WriteFile_1
cmp dword [0x40f9fc], 0
je 0x40cd3b
mov eax, dword [0x40f9fc]
call fcn.00408de4
cmp byte [0x40fa23], 0
je 0x40cd86
push 0
push 0
mov eax, dword [0x40f838]
sub eax, dword [0x40f8cc]
test eax, eax
jns 0x40cd5c
call fcn.00402fe4
push eax
mov eax, dword [0x40f824]
push eax
call sub.kernel32.dll_SetFilePointer_1
push 0
push 0x40f834
mov eax, dword [0x40f8cc]
push eax
mov eax, dword [0x40fa08]
push eax
mov eax, dword [0x40f824]
push eax
call sub.kernel32.dll_WriteFile_1
cmp byte [0x40fa1e], 0
jne 0x40cda8
mov eax, dword [0x40e0f0]
mov edx, 0x40d920
call fcn.00403ac4
call fcn.00402e94
call fcn.0040258c
mov eax, dword [0x40f824]
push eax
call main
jmp 0x40cdbf
mov eax, 0x40d938
call fcn.004087d8
mov eax, dword [0x40f9e4]
call fcn.00408de4
jmp 0x40cdd5
mov eax, 0x40d960
call fcn.004087d8
mov eax, dword [0x40f9e8]
call fcn.00408de4
mov eax, dword [0x40f9ec]
call fcn.00408de4
jmp 0x40cdf5
mov eax, 0x40d990
call fcn.004087d8
cmp byte [0x40fa1c], 0
je 0x40ce12
mov eax, dword [0x40fa2c]
call fcn.00408de4
mov eax, dword [0x40fa38]
call fcn.00408de4
mov eax, dword [0x40f9e0]
call fcn.00408de4
cmp dword [0x40f9f8], 0
je 0x40ce3b
mov eax, dword [0x40f9f8]
call fcn.00408de4
jmp 0x40ce3b
mov eax, 0x40d9c4
call fcn.004087d8
mov eax, dword [0x40f9dc]
call fcn.00408de4
jmp 0x40ce81
mov eax, 0x40d9fc
call fcn.004087d8
jmp 0x40ce81
mov eax, 0x40da2c
call fcn.004087d8
jmp 0x40ce81
mov eax, 0x40da58
call fcn.004087d8
jmp 0x40ce81
mov eax, 0x40da78
call fcn.004087d8
jmp 0x40ce81
mov eax, 0x40daa0
call fcn.004087d8
mov eax, dword [0x40f9d4]
call fcn.00408de4
jmp 0x40ce97
mov eax, 0x40dac0
call fcn.004087d8
cmp ebx, 0xffffffff
je 0x40ceae
push ebx
call main
jmp 0x40ceae
mov eax, 0x40daf8
call fcn.004087d8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x40ced3
lea eax, [ebp - 0xd0]
mov edx, 0x2f
call fcn.0040379c
ret