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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
and esp, 0xfffffff0
sub esp, 0x230
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
mov dword [esp + 0x2c], ecx
test byte [eax + 0xc9], 4
jne 0x7450ef
mov edi, dword [esp + 0x3c]
mov esi, dword [edi + 0x14]
test esi, esi
jne 0x745100
mov eax, 1
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x38]
add dword [eax + 0xa0], 1
mov dword [eax + 0xd4], 0
call fcn.0073ce30
mov esi, dword [edi + 0x18]
mov eax, dword [edi]
mov dword [esp + 0x28], esi
cmp eax, 4
je 0x745806
ja 0x7452de
cmp eax, 3
jne 0x7457f6
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.00736e90
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
mov edi, dword [esp + 0x3c]
mov ecx, eax
and ecx, 0xfffffffd
mov esi, dword [edi + 0x1c]
mov edx, dword [edi + 8]
cmp ecx, 5
jne 0x745688
lea esi, [esi]
mov edi, dword [esp + 0x3c]
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x745688
cmp eax, 7
jne 0x745186
mov edx, dword [edx]
mov dword [esp + 0x54], edx
test esi, esi
jle 0x7451cb
mov eax, dword [esp + 0x3c]
shl esi, 4
mov ebx, dword [eax + 0x2c]
mov edi, dword [eax + 0x20]
mov eax, dword [eax + 0x28]
add esi, ebx
mov dword [esp + 0x34], eax
lea ecx, [eax + 4]
lea esi, [esi]
nop
mov eax, dword [ebx]
sub eax, dword [ecx]
add ebx, 0x10
add ecx, 0xc
imul eax, dword [ecx - 0x10]
imul eax, edi
add edx, eax
cmp esi, ebx
jne 0x7451b0
mov dword [esp + 0x54], edx
xor edi, edi
mov esi, dword [esp + 0x38]
mov eax, dword [esi + 0xd4]
mov dword [esp + 0x34], eax
sub eax, 1
mov dword [esi + 0xd4], eax
test eax, eax
jle 0x745380
mov eax, dword [ebp + 8]
mov esi, dword [esp + 0x3c]
mov dword [eax], esi
mov eax, dword [esp + 0x38]
test byte [eax + 0xc9], 4
jne 0x7457ea
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0xe0]
test eax, eax
je 0x745600
cmp eax, 4
ja 0x745620
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x30]
mov dword [esp], edi
add eax, 0xfc
mov dword [esp + 8], esi
mov dword [esp + 4], eax
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x38]
test byte [eax + 0xca], 2
je 0x745252
xor byte [eax + 0xca], 2
mov eax, dword [esp + 0x3c]
mov esi, dword [eax + 0x1c]
test esi, esi
je 0x7452a0
test esi, esi
jle 0x7452a0
mov eax, dword [esp + 0x3c]
mov edi, esi
shl edi, 4
mov ebx, dword [eax + 0x2c]
mov edx, ebx
add edi, ebx
mov eax, 1
mov ecx, dword [edx + 0xc]
neg eax
and eax, ecx
add eax, dword [edx]
mov dword [edx], eax
test ecx, ecx
jle 0x745308
cmp dword [edx + 8], eax
jge 0x745313
mov eax, dword [edx + 4]
add edx, 0x10
mov dword [edx - 0x10], eax
cmp edi, edx
jne 0x745271
nop
mov eax, dword [esp + 0x38]
cmp dword [eax + 0xd4], 1
jle 0x7450ef
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 4]
mov dword [esp + 8], str.Repeat_count_too_large_for_namelist_object__s
mov dword [esp + 4], 0xc8
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.0070b5d0
xor eax, eax
jmp 0x7450f4
cmp eax, 6
jne 0x745831
mov ebx, dword [ebp + 0x14]
test ebx, ebx
je 0x745821
mov edx, dword [ebp + 0x14]
sub edx, dword [ebp + 0x10]
lea ebx, [edx + 1]
mov dword [esp + 0x30], ebx
jmp 0x745151
je 0x745313
cmp dword [edx + 8], eax
jg 0x745292
add edx, 0x10
cmp edi, edx
je 0x745328
xor eax, eax
jmp 0x745276
mov edi, dword [esp + 0x3c]
mov eax, dword [edi]
mov edx, dword [edi + 8]
mov ecx, eax
and ecx, 0xfffffffd
cmp ecx, 5
je 0x745170
mov eax, dword [esp + 0x2c]
lea edi, [edx + eax]
mov eax, dword [esp + 0x3c]
shl esi, 4
add esi, ebx
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x28]
mov dword [esp + 0x34], eax
lea edx, [eax + 4]
lea esi, [esi]
mov eax, dword [ebx]
sub eax, dword [edx]
add ebx, 0x10
add edx, 0xc
imul eax, dword [edx - 0x10]
imul eax, ecx
add edi, eax
cmp esi, ebx
jne 0x745360
jmp 0x7451cd
movzx eax, byte [esi + 0xc8]
test al, 0x40
jne 0x7450ef
test al, al
js 0x745708
mov eax, dword [esp + 0x38]
mov dword [eax + 0xe0], 0
mov eax, dword [eax + 0xe4]
test eax, eax
je 0x7453cf
mov dword [esp], eax
call fcn.00719704
mov eax, dword [esp + 0x38]
mov dword [eax + 0xe4], 0
mov dword [eax + 0xdc], 0
mov eax, dword [esp + 0x3c]
cmp dword [eax], 7
ja case.0x7453de.0
mov eax, dword [eax]
jmp dword [eax*4 + 0x7bc8f0]
mov eax, dword [esp + 0x3c]
mov esi, dword [eax + 0xc]
test esi, esi
je 0x74583e
mov edi, dword [esp + 0x38]
mov ebx, 1
pxor xmm0, xmm0
xor ecx, ecx
mov eax, dword [edi + 0x9c]
mov edx, dword [eax]
mov dword [esp + 0x7c], ebx
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x4b], 0x454d414e
mov dword [esp + 0x40], edx
mov edx, dword [ebx + 0x10]
mov dword [esp + 0x78], ecx
lea ebx, [esp + 0x44]
mov dword [esp + 0x4f], 0x5453494c
mov byte [esp + 0x53], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], 0
mov dword [esp + 0x44], 0
movups xmmword [esp + 0x130], xmm0
movups xmmword [esp + 0x140], xmm0
movups xmmword [esp + 0x150], xmm0
movups xmmword [esp + 0x160], xmm0
movups xmmword [esp + 0x170], xmm0
movups xmmword [esp + 0x180], xmm0
movups xmmword [esp + 0x190], xmm0
movups xmmword [esp + 0x1a0], xmm0
movups xmmword [esp + 0x1b0], xmm0
movups xmmword [esp + 0x1c0], xmm0
movups xmmword [esp + 0x1d0], xmm0
movups xmmword [esp + 0x1e0], xmm0
movups xmmword [esp + 0x1f0], xmm0
movups xmmword [esp + 0x200], xmm0
movups xmmword [esp + 0x210], xmm0
movups xmmword [esp + 0x220], xmm0
mov edx, dword [edi]
test dl, 0x20
je 0x7454eb
mov ebx, dword [edi + 0x18]
and edx, 0x40
je 0x7457d9
mov edi, dword [esp + 0x38]
mov edx, dword [edi + 0x14]
mov ecx, dword [edi + 0x10]
add dword [eax + 0x1bc], 1
lea eax, [esp + 0x60]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x4b]
mov dword [esp + 8], eax
lea eax, [esp + 0x40]
mov dword [esp + 4], eax
lea eax, [esp + 0x54]
mov dword [esp], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], 8
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ebx
call esi
mov eax, dword [ebx]
mov edi, dword [esp + 0x38]
mov dword [edi + 0xcc], eax
mov eax, dword [edi + 0x9c]
sub dword [eax + 0x1bc], 1
mov eax, dword [esp + 0x3c]
mov esi, dword [eax + 0x1c]
jmp 0x74525d
mov esi, dword [esp + 0x30]
mov ebx, dword [esp + 0x38]
mov edx, edi
mov ecx, dword [esp + 0x28]
mov dword [esp], esi
mov eax, ebx
call fcn.00748ae0
mov eax, ebx
mov dword [esp + 8], esi
add eax, 0xfc
mov dword [esp + 4], edi
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
jmp 0x7451ec
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x38]
call fcn.00749380
jmp 0x7451ec
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x38]
call fcn.00748f10
jmp 0x7451ec
mov esi, dword [esp + 0x38]
mov ecx, dword [esp + 0x28]
mov edx, edi
mov eax, esi
call fcn.00749b80
mov eax, esi
mov esi, dword [esp + 0x30]
mov dword [esp + 4], edi
add eax, 0xfc
mov dword [esp + 8], esi
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
jmp 0x7451ec
mov eax, dword [esp + 0x38]
call fcn.00748600
jmp 0x7451ec
mov eax, dword [esp + 0x38]
and byte [eax + 0xca], 0xfd
mov eax, dword [esp + 0x3c]
mov esi, dword [eax + 0x1c]
jmp 0x74525d
cmp eax, 6
jne 0x74523e
mov eax, dword [esp + 0x38]
mov ebx, dword [eax + 0xdc]
cmp dword [esp + 0x30], ebx
jge 0x7456a8
mov ebx, dword [0x76bea0]
test ebx, ebx
jne 0x74579b
mov eax, dword [esp + 0x38]
mov edx, dword [eax + 0xe4]
mov eax, dword [eax + 0x9c]
mov ecx, dword [eax + 0x5c]
test ecx, ecx
je 0x745725
mov eax, dword [ebp + 0x10]
mov ebx, dword [esp + 0x30]
mov dword [esp + 4], edx
lea eax, [edi + eax - 1]
mov dword [esp + 8], ebx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
jmp 0x74523e
mov eax, dword [esp + 0x2c]
lea edi, [edx + eax]
test esi, esi
jle 0x7451cd
mov eax, dword [esp + 0x3c]
mov ebx, dword [eax + 0x2c]
jmp 0x745346
mov eax, dword [esp + 0x38]
mov edx, dword [eax + 0xe4]
mov eax, dword [eax + 0x9c]
mov eax, dword [eax + 0x5c]
test eax, eax
je 0x745729
mov eax, dword [ebp + 0x10]
mov dword [esp + 8], ebx
mov dword [esp + 4], edx
lea esi, [edi + eax - 1]
mov dword [esp], esi
call sub.msvcrt.dll_memcpy
cmp dword [esp + 0x30], ebx
jle 0x74523e
mov eax, dword [esp + 0x30]
add esi, ebx
mov dword [esp + 4], 0x20
mov dword [esp], esi
sub eax, ebx
mov dword [esp + 8], eax
call sub.msvcrt.dll_memset
jmp 0x74523e
mov esi, dword [esp + 0x38]
mov eax, esi
call fcn.0073de10
test byte [esi + 0xc8], 0x40
je 0x745397
jmp 0x7450ef
mov ebx, dword [esp + 0x30]
mov eax, dword [ebp + 0x10]
lea ecx, [edi + eax*4 - 4]
test ebx, ebx
jle 0x745750
xor eax, eax
lea esi, [esi]
lea esi, [esi]
mov esi, dword [edx + eax*4]
mov dword [ecx + eax*4], esi
add eax, 1
cmp eax, ebx
jne 0x745740
lea ecx, [ecx + ebx*4]
cmp dword [esp + 0x30], ebx
jle 0x74523e
mov eax, dword [esp + 0x30]
xor edx, edx
sub eax, ebx
test al, 1
je 0x745780
mov edx, 1
mov dword [ecx], 0x20
cmp edx, eax
je 0x74523e
lea esi, [esi]
mov dword [ecx + edx*4], 0x20
mov dword [ecx + edx*4 + 4], 0x20
add edx, 2
cmp edx, eax
jne 0x745780
jmp 0x74523e
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 4]
mov dword [esp + 8], str.Namelist_object__s_truncated_on_read.
mov dword [esp + 4], 0xc8
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.0070b5d0
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.007308e0
jmp 0x745647
mov ecx, 0x100
lea edx, [esp + 0x130]
jmp 0x7454fe
and byte [eax + 0xca], 0xfd
jmp 0x7450ef
xor edx, edx
test eax, eax
cmovne edx, esi
mov dword [esp + 0x30], edx
jmp 0x745151
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.00736e40
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
jmp 0x745151
mov ebx, dword [esp + 0x3c]
mov ebx, dword [ebx + 0x24]
mov dword [esp + 0x30], ebx
jmp 0x745151
mov dword [esp + 0x30], 0
jmp 0x745151
mov esi, dword [esp + 0x3c]
mov eax, dword [esi + 4]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov ebx, eax
lea eax, [eax + 1]
mov dword [esp + 0x34], eax
lea eax, [ebx + 2]
mov dword [esp], eax
call fcn.00738d50
mov edx, eax
mov eax, dword [esi + 4]
mov dword [esp + 8], ebx
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 0x24], edx
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x24]
mov eax, 0x25
mov word [edx + ebx], ax
mov eax, dword [esp + 0x38]
and byte [eax + 0xca], 0xfd
mov ebx, dword [esi + 0x30]
test ebx, ebx
je 0x74593d
mov dword [esp + 0x24], edi
mov edi, ebx
mov ebx, edx
jmp 0x7458b2
mov edi, dword [edi + 0x30]
test edi, edi
je 0x74593b
mov esi, dword [edi + 4]
mov eax, dword [esp + 0x34]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp], esi
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x74593b
mov eax, dword [esp + 0x34]
mov dword [esp + 4], 0x25
lea ecx, [esi + eax]
mov dword [esp], ecx
call sub.msvcrt.dll_strchr
test eax, eax
jne 0x7458a7
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x24]
mov edx, edi
sub ecx, dword [eax + 8]
mov eax, dword [ebp + 0x14]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov eax, dword [esp + 0x38]
call fcn.007450c0
test al, al
je 0x745951
mov eax, dword [esp + 0x38]
test byte [eax + 0xc8], 0x40
je 0x7458a7
mov dword [esp], ebx
call fcn.00719704
jmp 0x7450ef
mov edx, ebx
mov dword [esp], edx
call fcn.00719704
mov eax, dword [esp + 0x3c]
mov esi, dword [eax + 0x1c]
jmp 0x74525d
mov dword [esp], ebx
call fcn.00719704
xor eax, eax
jmp 0x7450f4
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 4]
mov dword [esp + 8], str.Bad_type_for_namelist_object__s
mov dword [esp + 4], 0xc8
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.0070b5d0
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.00731650
nop
nop
nop
nop
nop
nop
nop