Function at 0x480570
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push esi
push edi
push ebx
sub esp, 0x49c
mov ebx, edx
xor edx, edx
mov esi, eax
mov edi, dword [0x52ec00]
lea eax, [ebp - 0x410]
xor edi, ebp
push edx
push 0x400
push eax
push edx
push ebx
push edx
push 0x1200
mov dword [ebp - 0x10], edi
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
test eax, eax
je 0x4805b9
mov byte [ebp + eax - 0x410], 0
jmp 0x480697
cmp dword [0x52c540], 0
je 0x48063b
mov dword [0x52c540], 0
call dword [sym.imp.KERNEL32.dll_GetThreadLocale]
mov edi, str._lu__s
mov dword [ebp - 0x4a8], edi
mov dword [ebp - 0x4a4], eax
mov dword [ebp - 0x4a0], str.ifcore_msg.dll
call fcn.0044f1b0
mov edx, eax
lea eax, [ebp - 0x4a4]
push eax
push 0
push edi
push 0xffffffffffffffff
mov eax, dword [edx]
lea edi, [ebp - 0x460]
push edi
push dword [edx + 4]
or eax, 1
push eax
call fcn.004d7b10
add esp, 0x1c
push edi
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x5e4e618], eax
test eax, eax
je 0x480872
mov dword [0x52c544], 0
call fcn.0047fb40
xor edx, edx
lea eax, [edx + edx*2]
cmp dword [eax*4 + 0x52aa80], 0x1f8
je 0x480889
inc edx
cmp edx, 0x234
jl 0x48063d
mov edi, dword [0x21fa7cc]
mov dword [ebp - 0x484], edi
mov dword [ebp - 0x480], ebx
call fcn.0044f1b0
mov edx, eax
lea eax, [ebp - 0x480]
push eax
push 0
push edi
push 0xffffffffffffffff
mov ebx, dword [edx]
lea edi, [ebp - 0x410]
push edi
push dword [edx + 4]
or ebx, 1
push ebx
call fcn.004d7b10
add esp, 0x1c
push 0x21fa7fc
call fcn.0044a8c0
add esp, 4
mov eax, dword [0x21fa800]
test eax, eax
jne 0x480726
mov dword [0x21fa800], 1
lea eax, [ebp - 0x468]
push eax
push 0
push 0x1001
call fcn.00480eb0
add esp, 0xc
push 0x105
mov ebx, dword [ebp - 0x468]
push ebx
push str.FORT0
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
jbe 0x4806ef
cmp eax, 0x105
jb 0x4806f6
test ebx, ebx
je 0x4806f6
mov byte [ebx], 0
mov ebx, dword [ebp - 0x468]
cmp byte [ebx], 0
je 0x48071d
push 2
call fcn.004d82c4
push eax
push 0x505bfc
push ebx
call fcn.004d8494
add esp, 0x10
mov ebx, dword [ebp - 0x468]
push ebx
call fcn.00480f70
add esp, 4
mov dword [0x21fa7fc], 0
cmp dword [0x22072dc], 0
jne 0x48077d
push 2
call fcn.004d82c4
mov edi, eax
add esp, 4
mov ebx, str._s:__s
lea eax, [ebp - 0x410]
mov dword [eax - 0x68], ebx
mov dword [eax - 0x64], esi
mov dword [eax - 0x60], eax
call fcn.0044f1b0
mov edx, eax
lea eax, [ebp - 0x474]
push eax
push 0
push ebx
push edi
push dword [edx + 4]
push dword [edx]
call fcn.004d7984
add esp, 0x18
jmp 0x480856
mov ecx, esi
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x480796
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x480781
dec eax
mov ebx, eax
lea ecx, [ebp - 0x410]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x4807b5
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x4807a0
dec eax
lea edx, [ebp - 0x464]
push edx
push 0
lea ebx, [ebx + eax + 1]
push ebx
call fcn.00480eb0
add esp, 0xc
test eax, eax
jne 0x4807d9
mov edi, dword [ebp - 0x464]
test edi, edi
jne 0x4807f7
push 0x2010
push str.Intel_r__Visual_Fortran_run_time_error
lea eax, [ebp - 0x410]
mov dword [eax - 0x54], eax
push eax
call fcn.004cb4d0
add esp, 0xc
jmp 0x480856
mov ebx, str._s:__s
lea eax, [ebp - 0x410]
mov dword [ebp - 0x498], ebx
mov dword [ebp - 0x494], esi
mov dword [eax - 0x80], eax
call fcn.0044f1b0
mov edx, eax
lea eax, [ebp - 0x494]
push eax
push 0
push ebx
push 0xffffffffffffffff
push edi
mov ecx, dword [edx]
push dword [edx + 4]
or ecx, 1
push ecx
call fcn.004d7b10
push 0x2010
push str.Intel_r__Visual_Fortran_run_time_error
push dword [ebp - 0x464]
call fcn.004cb4d0
push dword [ebp - 0x464]
call fcn.00480f70
add esp, 0x2c
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x52ec00]
jne 0x480884
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
cmp dword [0x52c544], 0
je 0x480636
jmp 0x48063b
call fcn.004cba1b
mov edx, dword [eax*4 + 0x52aa84]
mov dword [0x21fa7c8], edx
cmp dword [0x52c544], 0
je 0x4808b1
mov edi, dword [eax*4 + 0x52aa88]
mov dword [0x21fa7cc], edi
jmp 0x480660
push 0
push 0x200
mov edi, dword [eax*4 + 0x52aa88]
lea eax, [ebp - 0x488]
push eax
push 0x409
push 0x800001f8
push dword [0x5e4e618]
push 0x900
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
test eax, eax
je 0x480910
mov edi, dword [ebp - 0x488]
mov ecx, edi
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x480904
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x4808ef
dec eax
cmp eax, 1
jbe 0x480910
cmp byte [edi + eax - 2], 0xd
je 0x48091b
mov dword [0x21fa7cc], edi
jmp 0x480660
cmp byte [edi + eax - 1], 0xa
jne 0x480910
mov byte [edi + eax - 2], 0
jmp 0x480910