Function at 0x40299c
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push edi
push esi
push ebx
sub esp, 0xe4
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0xd0], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0xd4], edx
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xc8], eax
mov eax, dword [ebp + 0x18]
mov ecx, 0x4afe30
mov edx, str.PC_NT
mov dword [esp + 0xc4], eax
mov eax, dword [edx]
mov dword [ecx], eax
movzx eax, word [edx + 4]
mov word [ecx + 4], ax
mov ecx, dword [esp + 0xd0]
mov eax, dword [esp + 0xd4]
mov esi, dword [esp + 0xcc]
mov edi, dword [esp + 0xc8]
mov edx, 5
mov word [ecx], dx
mov ecx, dword [esp + 0xc4]
mov ebx, 6
mov word [eax], bx
xor edx, edx
mov word [esi], dx
mov word [edi], dx
mov word [ecx], dx
lea ecx, [esp + 0xde]
mov edx, 1
mov word [esp + 0xde], dx
mov edx, 0xa
mov word [esp + 0xe0], dx
lea edx, [esp + 0xe0]
push edx
push ecx
push eax
call fcn.00404f0a
xor eax, eax
push eax
push 2
push eax
push 1
push 0x48f7e4
push eax
push 0x80
push str.________________________________________________________________________________________________________________________________6
call fcn.004160fc
add esp, 0x20
test eax, eax
jne 0x40319a
mov ecx, 0x80
mov edi, 1
movzx eax, byte [edi + 0x4a063f]
mov edx, edi
cmp eax, 0x2c
jne 0x402abd
movsx eax, word [0x4a560c]
test al, 1
jne 0x402caa
mov eax, 0xffffffff
mov word [0x4a560c], ax
jmp 0x402ac6
cmp eax, 0x20
jne 0x40313c
add edx, 1
movsx edi, dx
add ecx, 0xffffffff
test ecx, ecx
jg 0x402a93
movsx esi, word [0x4a06ec]
xor ebx, ebx
xor edi, edi
test esi, esi
jl 0x403085
mov word [esp + 0xdc], di
add edi, 0xffffffff
mov eax, esi
sub eax, edi
test eax, eax
jle 0x403135
mov edx, dword [esp + 0xd0]
mov dword [esp + 0x80], 0
mov dword [esp + 0x50], eax
mov dword [esp + 0x58], 3
lea eax, [edi + str.________________________________________________________________________________________________________________________________6]
movsx edi, word [edx]
mov dword [esp + 0x5c], 0x48f7f0
mov dword [esp + 0x54], eax
mov dword [esp + 0x60], 0xa
lea eax, [esp + 0x80]
mov dword [esp + 0x64], 0x48f7f4
lea ecx, [esp + 0x50]
mov dword [esp + 0x68], 9
mov dword [esp + 0x6c], 0x48f800
mov dword [esp + 0x70], 4
mov dword [esp + 0x74], 0x48f80c
mov dword [esp + 0x78], 6
mov dword [esp + 0x7c], 0x48f814
push ecx
push 0x48f6fc
push 0x384ff03
push edi
push eax
call fcn.0041a82c
add esp, 0x14
movsx edi, ax
test eax, eax
jle 0x403085
mov eax, dword [esp + 0xd4]
movsx ecx, word [eax]
mov dword [esp + 0x80], 0
mov dword [esp + 0xa8], 6
lea ebx, [esp + 0x80]
lea edx, [esp + 0xa8]
mov dword [esp + 0xac], 0x48f83c
push 0x4a06c0
push edx
push 0x48f734
push 0x384ff00
push ecx
push ebx
call fcn.00410740
mov word [esp + 0xd8], di
lea edx, [esp + 0x98]
lea eax, [esp + 0xd8]
push eax
push 0x48f73c
push edx
call fcn.0041101c
mov dword [esp + 0xd4], 0xf
lea edx, [esp + 0xa4]
lea eax, [esp + 0xd4]
mov dword [esp + 0xd8], str._opening_file_:
push eax
push 0x48f744
push edx
call fcn.0041101c
add esp, 0x30
movsx edx, word [esp + 0xdc]
lea eax, [edx - 1]
sub esi, eax
test esi, esi
jle 0x40307e
mov dword [esp + 0xb8], esi
lea eax, [edx + 0x4a063f]
mov dword [esp + 0xbc], eax
lea ecx, [esp + 0x80]
lea edx, [esp + 0xb8]
push edx
push 0x48f74c
push ecx
call fcn.0041101c
xor eax, eax
push eax
push eax
push 0x384ff00
push 0x10
push str.MPAR_:_I_O_error
call fcn.00417e28
add esp, 0x20
add esp, 0xe4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret 0x14
movsx esi, word [0x4a06ec]
xor edi, edi
add edx, 1
movsx ebx, dx
mov dword [esp + 0xa0], ebx
cmp ebx, 0x80
jle 0x402ccf
xor ebx, ebx
jmp 0x402ade
mov ecx, ebx
neg ecx
add ecx, 0x81
test ecx, ecx
jle 0x402cc8
mov dword [esp + 0xd8], edi
movzx edi, byte [ebx + 0x4a063f]
mov edx, ebx
cmp edi, 0x2c
jne 0x402d03
test al, 1
jne 0x402d27
mov eax, 0xffffffff
mov word [0x4a560c], ax
jmp 0x402d0c
cmp edi, 0x20
jne 0x402ef3
add edx, 1
movsx ebx, dx
add ecx, 0xffffffff
test ecx, ecx
jg 0x402ce4
mov edi, dword [esp + 0xd8]
xor ebx, ebx
jmp 0x402ade
mov edi, dword [esp + 0xd8]
mov dword [esp + 0x2c], edx
xor ebx, ebx
mov eax, dword [esp + 0x2c]
cmp eax, 0x80
jge 0x402ade
mov eax, dword [esp + 0xa0]
mov edx, dword [esp + 0x2c]
mov word [esp + 0xdc], ax
lea edx, [edx - 1]
mov eax, edx
neg eax
add eax, 0x80
test eax, eax
jle 0x402eec
mov dword [esp + 0x20], ebx
lea ecx, [edx + str.________________________________________________________________________________________________________________________________6]
cdq
xor ebx, ebx
push ebx
push 2
push ebx
push 1
push 0x48f7ec
push edx
push eax
push ecx
mov ebx, dword [esp + 0x40]
call fcn.004160fc
add esp, 0x20
test eax, eax
jne 0x402ade
mov ecx, dword [esp + 0x2c]
mov eax, ecx
neg eax
add eax, 0x80
mov edx, 3
add ecx, 1
mov word [esp + 0xdc], ax
mov word [esp + 0x1c], dx
movsx edx, cx
lea eax, [edx - 1]
neg eax
add eax, 0x80
mov dword [esp + 0x28], eax
test eax, eax
jle 0x402ee1
lea eax, [edx + 0x4a063f]
lea ecx, [esp + 0xdc]
lea edx, [esp + 0x1c]
push edx
push 0x4a5600
push ecx
mov edx, dword [esp + 0x34]
push edx
push eax
call fcn.00405c80
mov edx, dword [0x4a5600]
fld dword [0x48f868]
fcom dword [0x4a5600]
fnstsw ax
sahf
jbe 0x402e4a
push edx
fstp st(0)
call fcn.0041c520
fld dword [0x48f868]
add esp, 4
mov edx, dword [esp + 0xcc]
fxch st(1)
fnstcw word [esp]
movzx eax, word [esp]
or eax, 0xc00
mov dword [esp + 8], eax
fldcw word [esp + 8]
fistp dword [esp + 0x10]
fldcw word [esp]
mov eax, dword [esp + 0x10]
mov word [edx], ax
fcom dword [0x4a5604]
fnstsw ax
sahf
mov edx, dword [0x4a5604]
jbe 0x402e97
push edx
fstp st(0)
call fcn.0041c520
fld dword [0x48f868]
add esp, 4
mov edx, dword [esp + 0xc8]
fxch st(1)
fnstcw word [esp]
movzx eax, word [esp]
or eax, 0xc00
mov dword [esp + 8], eax
fldcw word [esp + 8]
fistp dword [esp + 0x10]
fldcw word [esp]
mov eax, dword [esp + 0x10]
mov word [edx], ax
fcomp dword [0x4a5608]
fnstsw ax
sahf
mov edx, dword [0x4a5608]
jbe 0x402ade
push edx
call fcn.0041c520
pop ecx
mov edx, dword [esp + 0xc4]
fnstcw word [esp]
movzx eax, word [esp]
or eax, 0xc00
mov dword [esp + 8], eax
fldcw word [esp + 8]
fistp dword [esp + 0x10]
fldcw word [esp]
mov eax, dword [esp + 0x10]
mov word [edx], ax
jmp 0x402ade
xor eax, eax
mov dword [esp + 0x28], eax
jmp 0x402dd4
xor eax, eax
jmp 0x402d6a
mov edi, dword [esp + 0xd8]
lea eax, [ebx + 1]
movsx edx, ax
mov dword [esp + 0xa0], edx
cmp edx, 0x80
mov word [esp + 0xdc], dx
jg 0x402f71
mov eax, edx
neg eax
add eax, 0x81
test eax, eax
jle 0x402f71
mov dword [esp + 0x20], ebx
mov dword [esp + 0x18], esi
mov dword [esp + 0xd8], edi
mov edi, edx
lea edx, [edi + 0x4a063f]
movzx esi, byte [edx]
mov ebx, edi
lea ecx, [edi - 1]
cmp esi, 0x20
je 0x403057
cmp esi, 0x2c
je 0x403057
add edi, 1
movsx edi, di
add eax, 0xffffffff
test eax, eax
jg 0x402f35
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0xd8]
mov eax, 0x81
mov dword [esp + 0xa0], eax
mov edx, 0x81
mov ecx, 0x80
mov eax, 0x4a06c0
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], eax
mov eax, ecx
mov word [0x4a06f0], ax
neg eax
add eax, 0x80
test eax, eax
jle 0x403050
cdq
xor ecx, ecx
push ecx
push 2
push ecx
push 1
push 0x48f7e8
push edx
push eax
mov eax, dword [esp + 0x40]
push eax
call fcn.004160fc
add esp, 0x20
test eax, eax
jne 0x402ade
mov eax, dword [esp + 0x2c]
neg eax
add eax, 0x81
test eax, eax
jle 0x402ade
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0xd8], edi
mov edi, dword [esp + 0x28]
jmp 0x402ffb
lea edi, [ecx - 1]
movzx edx, byte [edi + str.________________________________________________________________________________________________________________________________6]
cmp edx, 0x2c
je 0x403040
cmp edx, 0x20
jne 0x403025
add ecx, 1
movsx ecx, cx
add eax, 0xffffffff
test eax, eax
jg 0x402ff8
mov edi, dword [esp + 0xd8]
jmp 0x402ade
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0xd8]
mov eax, dword [esp + 0x28]
movsx edx, ax
mov dword [esp + 0x2c], edx
jmp 0x402d34
mov edi, dword [esp + 0xd8]
mov dword [esp + 0x2c], ecx
jmp 0x402d34
xor eax, eax
jmp 0x402faf
mov esi, dword [esp + 0x18]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], ecx
mov dword [esp + 0xa0], edi
mov edi, dword [esp + 0xd8]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x20]
jmp 0x402f98
xor esi, esi
jmp 0x402c55
movsx esi, word [0x4a06f0]
test esi, esi
jl 0x402c9b
mov word [esp + 0xdc], bx
add ebx, 0xffffffff
mov eax, esi
sub eax, ebx
test eax, eax
jle 0x40312e
mov edx, dword [esp + 0xd4]
mov dword [esp + 0x80], 0
mov dword [esp + 0x30], eax
mov dword [esp + 0x38], 7
lea eax, [ebx + str.________________________________________________________________________________________________________________________________6]
movsx ebx, word [edx]
mov dword [esp + 0x3c], 0x48f81c
mov dword [esp + 0x34], eax
mov dword [esp + 0x40], 0xa
lea edi, [esp + 0x80]
mov dword [esp + 0x44], 0x48f824
lea ecx, [esp + 0x30]
mov dword [esp + 0x48], 9
mov dword [esp + 0x4c], 0x48f830
push ecx
push 0x48f71c
push 0x384ff03
push ebx
push edi
call fcn.0041a82c
add esp, 0x14
movsx edi, ax
test eax, eax
jg 0x402b9b
jmp 0x402c9b
xor eax, eax
jmp 0x4030ab
xor eax, eax
jmp 0x402afd
lea eax, [edi + 1]
movsx edx, ax
cmp edx, 0x80
jg 0x403179
mov ecx, edx
neg ecx
add ecx, 0x81
test ecx, ecx
jle 0x403179
lea eax, [edx - 1]
movzx ebx, byte [eax + str.________________________________________________________________________________________________________________________________6]
cmp ebx, 0x20
je 0x403183
cmp ebx, 0x2c
je 0x403183
add edx, 1
movsx edx, dx
add ecx, 0xffffffff
test ecx, ecx
jg 0x403158
mov edx, 0x81
mov eax, 0x80
movsx esi, ax
mov word [0x4a06ec], si
xor eax, eax
mov word [0x4a560c], ax
jmp 0x402cb3
movsx esi, word [0x4a06ec]
xor ebx, ebx
xor edi, edi
jmp 0x402ade