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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov eax, dword [esp + 0x74]
mov ebp, dword [esp + 0x80]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x48], eax
lea eax, [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call sym.__gfortrani_read_block_form
mov dword [esp + 0x4c], eax
test eax, eax
je 0x4516e1
mov esi, dword [esp + 0x48]
test esi, esi
je 0x45196d
cmp byte [eax], 0x20
jne 0x451974
lea edx, [eax + esi]
mov ebx, eax
lea eax, [eax + esi - 1]
jmp 0x4516aa
cmp byte [ebx], 0x20
jne 0x4516f0
mov esi, eax
sub esi, ebx
add ebx, 1
mov dword [esp + 0x48], esi
cmp ebx, edx
jne 0x4516a5
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x4c], edx
mov dword [esp], eax
call sym.__gfortrani_set_integer
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x10], esi
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x4c], ebx
mov edi, ebp
mov dword [esp], eax
call sym.__gfortrani_si_max
mov dword [esp + 0x20], ebp
mov esi, dword [esp + 0x20]
shld edx, eax, 1
add eax, eax
add eax, 1
mov dword [esp + 8], esi
adc edx, 0
sar edi, 0x1f
mov dword [esp], eax
mov dword [esp + 0x24], edi
mov edi, dword [esp + 0x24]
mov dword [esp + 4], edx
mov dword [esp + 0xc], edi
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
call dbg.__udivdi3
mov dword [esp + 0x2c], eax
movzx eax, byte [ebx]
mov dword [esp + 0x38], edx
cmp al, 0x2b
je 0x451910
cmp al, 0x2d
je 0x4518d0
mov dword [esp + 0x3c], 0
mov eax, dword [esp + 0x70]
xor esi, esi
xor edi, edi
mov dword [esp + 0x10], esi
add eax, 0xa8
mov dword [esp + 0x14], edi
mov dword [esp + 0x28], eax
lea esi, [esi]
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x48]
lea edx, [esp + 0x4c]
call sym._next_char.isra.0
test al, al
je 0x451935
cmp al, 0x20
je 0x451831
cmp ebp, 8
je 0x4518b3
cmp ebp, 0x10
je 0x4518a1
cmp ebp, 2
je 0x451893
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x38]
cmp dword [esp + 0x2c], ebx
sbb edi, dword [esp + 0x14]
jb 0x451920
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
sub eax, 0x30
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov byte [esp + 0x1f], al
mov eax, dword [esp + 0x10]
movsx esi, byte [esp + 0x1f]
imul edx, ebx
imul edi, ecx
lea edi, [edx + edi]
mul ecx
mov ecx, eax
mov ebx, edx
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
add ebx, edi
mov edi, esi
sar edi, 0x1f
sub eax, esi
sbb edx, edi
cmp eax, ecx
mov eax, edx
sbb eax, ebx
jb 0x451920
add esi, ecx
adc edi, ebx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], edi
jmp 0x451780
mov edi, dword [esp + 0x70]
mov edx, dword [edi + 0xa8]
test edx, edx
je 0x451780
cmp edx, 1
je 0x4518c1
cmp ebp, 8
je case.0x4518ac.10
cmp ebp, 0x10
je case.0x4518ac.10
cmp ebp, 2
jne case.0x4518ac.0
mov dword [esp + 8], str.Bad_value_during_integer_read
mov dword [esp + 4], 0x1392
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call sym.__gfortran_generate_error
mov eax, dword [esp + 0x70]
mov dword [esp + 4], 1
mov dword [esp], eax
call sym.__gfortrani_next_record
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
lea edx, [eax - 0x30]
cmp dl, 1
jbe case.0x4518ac.0
jmp case.0x4518ac.10
lea edx, [eax - 0x30]
cmp dl, 0x36
ja case.0x4518ac.10
movzx edx, dl
jmp dword [edx*4 + 0x46ec98]
lea edx, [eax - 0x30]
cmp dl, 7
jbe case.0x4518ac.0
jmp case.0x4518ac.10
mov eax, 0x30
jmp case.0x4518ac.0
mov dword [esp + 0x3c], 1
mov esi, dword [esp + 0x10]
add ebx, 1
mov dword [esp + 0x4c], ebx
sub esi, 1
mov dword [esp + 0x48], esi
jne 0x451764
jmp case.0x4518ac.10
sub eax, 0x27
jmp case.0x4518ac.0
sub eax, 7
jmp case.0x4518ac.0
mov dword [esp + 0x3c], 0
jmp 0x4518d8
mov dword [esp + 8], str.Value_overflowed_during_integer_read
mov dword [esp + 4], 0x1393
jmp 0x45186b
mov ebx, dword [esp + 0x3c]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
test ebx, ebx
je 0x45194c
neg esi
adc edi, 0
neg edi
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x78]
mov dword [esp], eax
call sym.__gfortrani_set_integer
jmp 0x4516e1
mov edx, eax
jmp 0x4516b9
mov ebx, eax
mov dword [esp + 0x10], esi
jmp 0x4516f4