Function at 0x100149ac
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x354
mov dword [ebp - 0x10], edi
mov dword [ebp - 0xc], esi
mov dword [ebp - 8], ebx
mov edi, dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
test eax, eax
jne 0x100149e9
push str.FOR__IS_DEBUGGER_PRESENT
call sym.libifcoremd.dll_for_check_env_name
pop ecx
test eax, eax
jne 0x100149e9
push str.FOR_DEBUGGER_IS_PRESENT
call sym.libifcoremd.dll_for_check_env_name
pop ecx
test eax, eax
je 0x100149f0
mov esi, 1
jmp 0x100149f2
xor esi, esi
push str.FOR_DISABLE_STACK_TRACE
call sym.libifcoremd.dll_for_check_env_name
pop ecx
test eax, eax
jne 0x10014a05
test esi, esi
je 0x10014a0f
mov eax, 1
mov dword [ebp - 0x20], eax
jmp 0x10014a14
xor eax, eax
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x1c]
push eax
push 0
push 0x4000
call fcn.1004970c
add esp, 0xc
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0x14]
xor ebx, ebx
test eax, eax
sete bl
movzx eax, di
mov dword [ebp - 4], eax
call fcn.10014f80
test eax, eax
jne 0x10014acf
lea eax, [ebp - 0x348]
xor edx, edx
push edx
push 0x189
push eax
push edx
push edx
push dword [ebp - 0x14]
push 0x600
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
test eax, eax
jne 0x10014acf
mov eax, dword [0x100ce518]
test eax, eax
je 0x10014a82
mov dword [0x100ce518], 0
call fcn.1001509c
xor eax, eax
mov dword [ebp - 0x30], eax
mov ecx, eax
lea eax, [ecx*8]
mov edx, dword [eax + ecx*4 + 0x100cd0a0]
cmp edx, 0x1f4
je 0x10014da1
add ecx, 1
cmp ecx, 0x1ad
jl 0x10014a89
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x348]
push eax
push 0x100bb300
push edx
call fcn.100907f2
add esp, 0xc
lea eax, [ebp - 0x348]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x10014af5
lea eax, [ebp + 0x10]
lea edx, [ebp - 0x1bc]
push eax
push dword [ebp - 0x14]
push edx
call fcn.10090a64
add esp, 0xc
lea eax, [ebp - 0x1bc]
mov dword [ebp - 0x14], eax
call fcn.10015d7c
mov eax, dword [ebp - 0x18]
mov edx, dword [eax*4 + 0x100ce504]
mov dword [ebp - 0x2c], edx
test ebx, ebx
je 0x10014b37
mov eax, dword [ebp - 4]
push eax
push edx
push 0x100d00e0
call fcn.100907f2
push dword [ebp - 0x14]
push 0x100d00e0
push str._s_s_r_n
push dword [ebp - 0x1c]
call fcn.100907f2
add esp, 0x1c
jmp 0x10014c15
mov ecx, edx
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x10014b52
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x10014b3b
add eax, 0xffffffff
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x30], eax
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x10014b71
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x10014b5a
add eax, 0xffffffff
mov edx, dword [ebp - 0x30]
lea ecx, [ebp - 0x1c]
push ecx
lea eax, [edx + eax + 0x15]
push 0
push eax
call fcn.1004970c
add esp, 0xc
test eax, eax
je 0x10014be6
mov dword [ebp - 0x30], 0x1f6
mov dword [ebp - 0x28], edi
mov eax, 0x1f6
mov dword [ebp - 0x2c], 1
lea ecx, [ebp - 0x24]
mov edx, 0x100d01e0
call fcn.10014f80
mov eax, dword [ebp - 0x2c]
test eax, eax
jle 0x10014c57
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x24]
push 0x100cffe0
call fcn.10090a64
add esp, 0xc
push 0x100cffe0
push 0x100bb300
push 0x100cf080
call fcn.10090c52
add esp, 0xc
jmp 0x10014c15
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
push eax
push edx
push 0x100d00e0
call fcn.100907f2
push dword [ebp - 0x14]
push 0x100d00e0
push str._s_s_r_n
push dword [ebp - 0x1c]
call fcn.100907f2
add esp, 0x1c
mov ebx, 2
mov ecx, dword [ebp - 0x18]
cmp ecx, 4
je 0x10014d91
mov eax, dword [0x100da008]
test eax, eax
je 0x10014c36
mov edx, dword [ebp - 0x20]
test edx, edx
jne 0x10014c36
cmp ebx, 1
je 0x10014c6e
test ebx, ebx
jne 0x10014cb2
test esi, esi
je 0x10014c4a
mov eax, dword [ebp - 0x18]
cmp eax, 3
je 0x10014d8b
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 0x10]
mov esp, ebp
pop ebp
ret
push pe_nt_image_headers32
push dword [ebp - 0x24]
push 0x100cffe0
call fcn.10090940
jmp 0x10014bca
mov edx, dword [eax + 4]
test edx, edx
jne 0x10014c9d
cmp ecx, 3
je 0x10014c9d
mov edx, dword [ebp - 4]
cmp edx, 0x197
je 0x10014c9d
cmp edx, 0x196
je 0x10014c9d
cmp edx, 0x195
je 0x10014c9d
cmp edx, 0x194
jne 0x10014cb2
push dword [ebp - 0x1c]
push dword [eax]
call fcn.100758cc
add esp, 8
mov eax, dword [ebp - 0x18]
cmp eax, 4
je 0x10014cc8
mov eax, dword [ebp - 0x1c]
call fcn.10015dd0
push dword [ebp - 0x1c]
call fcn.10049680
pop ecx
jmp 0x10014c3a
mov eax, dword [0x100da008]
test eax, eax
je 0x10014cda
cmp ebx, 1
je 0x10014d7c
test ebx, ebx
jne 0x10014d66
mov eax, dword [0x100da008]
test eax, eax
je 0x10014cff
mov eax, dword [eax + 4]
test eax, eax
je 0x10014cff
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 0x10]
mov esp, ebp
pop ebp
ret
call fcn.10017fdc
mov eax, dword [0x100da008]
test eax, eax
je 0x10014d1e
push eax
call fcn.10049680
pop ecx
mov dword [0x100da008], 0
test esi, esi
je 0x10014d23
int3
push str.f77_dump_flag
call sym.libifcoremd.dll_for_check_env_name
pop ecx
test eax, eax
jne 0x10014d61
push str.decfort_dump_flag
call sym.libifcoremd.dll_for_check_env_name
pop ecx
test eax, eax
jne 0x10014d61
mov eax, dword [0x100d9158]
test eax, eax
je 0x10014d57
push 1
call fcn.1007ee4c
pop ecx
jmp 0x10014c4a
mov eax, dword [ebp - 4]
push eax
call fcn.10090e55
pop ecx
call fcn.10090e95
mov eax, dword [ebp - 0x1c]
call fcn.10015dd0
push dword [ebp - 0x1c]
call fcn.10049680
pop ecx
jmp 0x10014ce2
push dword [ebp - 0x1c]
push dword [eax]
call fcn.100758cc
add esp, 8
jmp 0x10014d66
int3
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x10014cc8
jmp 0x10014cda
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x30], ecx
mov edx, ecx
mov ecx, dword [eax + edx*4 + 0x100cd0a4]
mov eax, dword [0x100ce500]
mov dword [ebp - 0x18], ecx
test eax, eax
je 0x10014dce
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + edx*4 + 0x100cd0a8]
mov dword [ebp - 0x14], eax
jmp 0x10014ab1
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + edx*4 + 0x100cd0a8]
mov eax, 0x1f4
call fcn.1001501c
mov dword [ebp - 0x14], eax
jmp 0x10014ab1