Function at 0x438a80
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov dword [ebp - 4], ebx
mov ebx, dword [ebp + 8]
test ebx, ebx
mov dword [ebp - 8], edi
je 0x438e23
push str.libicaf.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test eax, eax
je 0x438abc
push str.for_rtl_ICAF_INIT
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, eax
test edx, edx
jne 0x438e0f
call fcn.004103b0
push 0x512940
call fcn.00410180
add esp, 4
mov eax, dword [0x512944]
test eax, eax
je 0x438ae8
mov ebx, dword [ebp - 4]
mov dword [0x512940], 0
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x14]
push eax
push 0
push 0xc
call fcn.00431e20
add esp, 0xc
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x438b0b
mov dword [0x518660], 0
jmp 0x438b31
xor edx, edx
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x14]
push 0x437170
mov dword [eax + 8], edx
mov ecx, dword [ebp - 0x14]
mov dword [ecx], edx
mov ebx, dword [ebp - 0x14]
mov dword [0x518660], ebx
call fcn.0047fbb0
add esp, 4
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
push 1
push 0x4376f0
call dword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
push 0x44dbb0
call fcn.004d2740
push 0x44dbe0
call fcn.004d2750
push str.FOR_NOERROR_DIALOGS
call fcn.00439910
add esp, 0xc
test eax, eax
jne 0x438dff
call fcn.00485a20
call dword [sym.imp.KERNEL32.dll_GetACP]
push eax
call fcn.004d2670
add esp, 4
mov dword [0x518658], 0
mov dword [0x51865c], 0x512948
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov ebx, eax
mov ecx, ebx
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x438bb8
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x438ba3
dec eax
mov edx, eax
lea eax, [ebp - 0xc]
push eax
push 0
inc edx
push edx
call fcn.00431e20
add esp, 0xc
mov ecx, ebx
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x438be3
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x438bce
dec eax
lea edx, [ebx + eax - 1]
cmp ebx, edx
ja 0x438d28
mov eax, dword [ebp - 0xc]
xor ecx, ecx
mov edi, 1
cmp ebx, edx
ja 0x438d28
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x18], esi
mov esi, edx
movsx edx, byte [ebx]
cmp edx, 0x20
je 0x438dec
cmp edx, 9
je 0x438dec
mov ecx, dword [0x518658]
inc ecx
mov dword [0x518658], ecx
cmp ecx, edi
jle 0x438c69
cmp edi, 1
je 0x438cec
add edi, 0xa
lea eax, [edi*4 - 0x28]
push eax
push 0x51865c
lea edx, [edi*4]
push edx
call fcn.00431e60
add esp, 0xc
test eax, eax
jne 0x438d25
mov eax, dword [ebp - 0xc]
mov ecx, dword [0x518658]
mov edx, dword [0x51865c]
mov dword [edx + ecx*4 - 4], eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
movsx eax, byte [ebx]
cmp eax, 0x22
je 0x438c98
test edx, edx
jne 0x438cb5
cmp eax, 0x20
je 0x438db8
cmp eax, 9
jne 0x438cb5
jmp 0x438db8
inc ebx
test edx, edx
movsx eax, byte [ebx]
je 0x438cda
cmp eax, 0x22
je 0x438dca
xor edx, edx
cmp eax, 0x20
je 0x438cc3
cmp eax, 9
je 0x438cc3
mov byte [ecx], al
inc ebx
mov ecx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0xc], ecx
cmp ebx, esi
jbe 0x438c79
mov dword [ebp - 0x10], edx
mov byte [ecx], 0
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp ebx, esi
jbe 0x438c09
jmp 0x438d25
lea esi, [esi]
mov edx, 1
cmp eax, 0x22
je 0x438c98
jmp 0x438cb5
add edi, 0xa
push 0x51865c
push 0
lea eax, [edi*4]
push eax
call fcn.00431e20
add esp, 0xc
test eax, eax
jne 0x438d25
mov edx, dword [0x51865c]
mov eax, dword [0x512948]
mov dword [edx], eax
mov eax, dword [ebp - 0xc]
mov ecx, dword [0x518658]
jmp 0x438c69
mov esi, dword [ebp - 0x18]
mov ebx, dword [0x51294c]
mov eax, ebx
and eax, 1
mov edx, ebx
add eax, eax
and edx, 2
mov ecx, ebx
xor eax, 0x1f
add edx, edx
and ecx, 4
mov edi, ebx
xor eax, edx
add ecx, ecx
and edi, 8
mov edx, ebx
xor eax, ecx
add edi, edi
and edx, 0x10
shr edx, 4
xor eax, edi
xor eax, edx
test ebx, 0x10000
je 0x438d75
test ebx, 0x200
lea edx, [eax + 0x1000000]
jne 0x438d75
mov eax, edx
push 0x308001f
push eax
call fcn.00485b10
push ebx
push 1
call fcn.00437530
add esp, 0x10
call fcn.0044e040
call fcn.0043def0
call fcn.0044e220
mov dword [0x512944], 1
mov ebx, dword [ebp - 4]
mov edi, dword [ebp - 8]
mov dword [0x512940], 0
mov esp, ebp
pop ebp
ret
mov byte [ecx], 0
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0x10], edx
mov dword [ebp - 0xc], eax
jmp 0x438c09
cmp ebx, esi
ja 0x438de5
inc ebx
mov byte [ecx], 0x22
mov ecx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0xc], ecx
movsx eax, byte [ebx]
cmp eax, 0x22
jne 0x438ca9
xor edx, edx
jmp 0x438c98
nop
lea esi, [esi]
mov ecx, dword [ebp - 0x10]
mov edx, esi
mov esi, dword [ebp - 0x18]
inc ebx
jmp 0x438bf9
push 0x8003
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
jmp 0x438b6f
push fcn.0040b430
lea eax, [ebp + 0xc]
push eax
push ebx
call edx
add esp, 0xc
jmp 0x438abc
cmp dword [ebp + 0xc], 0
jne 0x438a97
jmp 0x438abc