Function at 0x10024d80
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push esi
push edi
push ebx
sub esp, 0x574
mov esi, eax
xor eax, eax
mov edi, edx
mov edx, dword [0x10234e38]
lea ebx, [ebp - 0x413]
xor edx, ebp
push eax
push 0x400
push ebx
push eax
push edi
push eax
push 0x1200
mov dword [ebp - 0x10], edx
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
test eax, eax
je 0x10024dc9
mov byte [ebp + eax - 0x413], 0
jmp 0x10024f14
cmp dword [0x10237140], 0
je 0x10024ed6
mov dword [0x10237140], 0
call dword [sym.imp.KERNEL32.dll_GetThreadLocale]
mov dword [ebp - 0x574], eax
cmp dword [0x102372a0], 0
je 0x10025119
mov edx, dword [0x10237310]
push str.ifcore_msg.dll
push dword [ebp - 0x574]
push str._lu__s
lea eax, [ebp - 0x463]
push eax
call edx
add esp, 0x10
lea eax, [ebp - 0x463]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x1024e6b8], eax
test eax, eax
je 0x10025107
mov dword [0x10237144], 0
xor eax, eax
mov dword [ebp - 0x574], esi
mov dword [ebp - 0x570], edi
mov edi, eax
mov edx, 0x10240688
lea eax, [edi + 0x1c2]
lea ecx, [ebp - 0x56c]
call fcn.10024680
jmp 0x10024e7c
mov eax, 0x30b
mov edx, 0x10240688
lea ecx, [ebp - 0x56c]
call fcn.10024430
mov ecx, dword [ebp - 0x56c]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x10024e99
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x10024e84
dec eax
mov esi, eax
lea edx, [edi*4 + 0x10237148]
push edx
push 0
inc esi
push esi
call fcn.10025750
push esi
push dword [ebp - 0x56c]
push dword [edi*4 + 0x10237148]
call fcn.101c8c50
add esp, 0x18
inc edi
cmp edi, 6
jge 0x100250a5
cmp edi, 5
je 0x10024e67
jmp 0x10024e4f
xor edx, edx
lea eax, [edx + edx*2]
cmp dword [eax*4 + 0x10235840], 0x1f8
je 0x10025180
inc edx
cmp edx, 0x20f
jl 0x10024ed8
cmp dword [0x102372a0], 0
je 0x10025176
mov eax, dword [0x10237310]
push edi
push dword [0x1024068c]
push ebx
call eax
add esp, 0xc
push 0x1024069c
call fcn.1003e800
add esp, 4
mov eax, dword [0x102406a0]
test eax, eax
jne 0x10024f97
push 0x105
mov dword [0x102406a0], 1
lea eax, [ebp - 0x568]
push eax
push str.FORT0
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
jbe 0x10024f90
cmp eax, 0x105
jae 0x10024f90
cmp byte [ebp - 0x568], 0
je 0x10024f97
cmp dword [0x102372a0], 0
je 0x10025123
mov edi, dword [0x10237408]
mov eax, dword [0x102372b8]
call eax
add eax, 0x40
push eax
push 0x102138c0
lea eax, [ebp - 0x568]
push eax
call edi
add esp, 0xc
jmp 0x10024f97
mov byte [ebp - 0x568], 0
mov dword [0x1024069c], 0
cmp dword [0x1024c380], 0
jne 0x10024fd9
cmp dword [0x102372a0], 0
je 0x10025145
mov edi, dword [0x102372e0]
mov eax, dword [0x102372b8]
call eax
push ebx
push esi
push str._s:__s
add eax, 0x40
push eax
call edi
add esp, 0x10
jmp 0x10025085
mov ecx, esi
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x10024ff2
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x10024fdd
dec eax
mov ecx, ebx
mov edi, eax
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x1002500d
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x10024ff8
dec eax
lea edx, [ebp - 0x570]
push edx
push 0
lea edi, [edi + eax + 1]
push edi
call fcn.10025750
add esp, 0xc
test eax, eax
je 0x10025031
mov dword [ebp - 0x570], ebx
xor esi, esi
jmp 0x10025060
cmp dword [0x102372a0], 0
je 0x1002516c
mov eax, dword [0x10237310]
push ebx
push esi
push str._s:__s
push dword [ebp - 0x570]
call eax
add esp, 0x10
mov ebx, dword [ebp - 0x570]
mov esi, 1
push 0x2010
push str.Intel_r__Visual_Fortran_run_time_error
push ebx
call fcn.10066b20
add esp, 0xc
test esi, esi
je 0x10025085
push dword [ebp - 0x570]
call fcn.10025800
add esp, 4
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x10234e38]
jne 0x10025167
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov eax, 0x1c7
mov edx, 0x10240688
mov esi, dword [ebp - 0x574]
lea ecx, [ebp - 0x56c]
mov edi, dword [ecx - 4]
call fcn.100248e0
push 0x10
push dword [ebp - 0x56c]
push str.forrtl
call fcn.101c8c50
add esp, 0xc
mov eax, 0x1f9
mov edx, 0x10240688
lea ecx, [ebp - 0x56c]
call fcn.10024b30
push 0x40
push dword [ebp - 0x56c]
push str.Intel_r__Visual_Fortran_run_time_error
call fcn.101c8c50
add esp, 0xc
jmp 0x10024ed6
cmp dword [0x10237144], 0
je 0x10024e3f
jmp 0x10024ed6
call fcn.10061c60
jmp 0x10024df9
call fcn.10061c60
mov edi, dword [0x10237408]
cmp dword [0x102372a0], 0
jne 0x10024f72
call fcn.10061c60
jmp 0x10024f72
call fcn.10061c60
mov edi, dword [0x102372e0]
cmp dword [0x102372a0], 0
jne 0x10024fbd
call fcn.10061c60
jmp 0x10024fbd
call fcn.101a6152
call fcn.10061c60
jmp 0x1002503e
call fcn.10061c60
jmp 0x10024f02
mov edx, dword [eax*4 + 0x10235844]
mov dword [0x10240688], edx
cmp dword [0x10237144], 0
je 0x100251a7
mov eax, dword [eax*4 + 0x10235848]
mov dword [0x1024068c], eax
jmp 0x10024ef5
push 0
push 0x200
mov ecx, dword [eax*4 + 0x10235848]
lea eax, [ebp - 0x574]
push eax
push 0x409
push 0x800001f8
push dword [0x1024e6b8]
mov dword [eax + 4], ecx
push 0x900
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
mov ecx, dword [ebp - 0x570]
test eax, eax
je 0x1002520d
mov ecx, dword [ebp - 0x574]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x10025201
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x100251ec
dec eax
cmp eax, 1
jbe 0x1002520d
cmp byte [ecx + eax - 2], 0xd
je 0x10025218
mov dword [0x1024068c], ecx
jmp 0x10024ef5
cmp byte [ecx + eax - 1], 0xa
jne 0x1002520d
mov byte [ecx + eax - 2], 0
jmp 0x1002520d