Function at 0x14033fee0
Capabilities:
Accept command line arguments
Query environment variable

Disassembly:
push rbx
push rsi
push rdi
push r12
push r14
push r15
push rbp
sub rsp, 0x460
mov rbx, rcx
pxor xmm0, xmm0
mov rax, qword [0x14194d6d8]
xor rax, rsp
mov qword [rsp + 0x4a8], rdx
mov qword [rsp + 0x450], rax
ucomisd xmm0, qword [0x141a4fa40]
jp 0x14033ff22
je 0x140340634
test rbx, rbx
je 0x140340620
lea rcx, str.libicaf.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
je 0x14033ff56
mov rcx, rax
lea rdx, str.for_rtl_ICAF_INIT
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x140340606
mov eax, 0x3c0
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x420], xmm0
movdqu xmmword [rsp + 0x430], xmm0
movq qword [rsp + 0x440], xmm0
mov byte [rsp + 0x448], 0
movdqu xmmword [rsp + rax + 0x50], xmm0
movdqu xmmword [rsp + rax + 0x40], xmm0
movdqu xmmword [rsp + rax + 0x30], xmm0
movdqu xmmword [rsp + rax + 0x20], xmm0
sub rax, 0x40
jne 0x14033ff82
lea rcx, str.PIN_VM_LD_LIBRARY_PATH
lea rdx, [rsp + 0x60]
mov r8d, 0x3e8
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
mov ebx, eax
test rbx, rbx
jbe 0x14033ffcd
cmp rbx, 0x3e8
jae 0x14033ffcd
inc rbx
jmp 0x14033ffd2
mov byte [rsp + 0x60], 0
call fcn.140450614
xor ebp, ebp
test rbx, rbx
mov edx, dword [rax]
sete bpl
or edx, ebp
je 0x140340027
lea rcx, str.PIN_APP_LD_LIBRARY_PATH
lea rdx, [rsp + 0x60]
mov r8d, 0x3e8
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
mov ebx, eax
test rbx, rbx
jbe 0x140340019
cmp rbx, 0x3e8
jae 0x140340651
inc rbx
xor ebp, ebp
jmp 0x140340027
mov ebp, 0
mov byte [rsp + 0x60], 0
sete bpl
call fcn.140450614
or ebp, dword [rax]
je 0x140340062
lea rcx, str.PIN_CRT_TZDATA
lea rdx, [rsp + 0x60]
mov r8d, 0x3e8
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
mov ebx, eax
test rbx, rbx
jbe 0x14034005d
cmp rbx, 0x3e8
jae 0x14034005d
inc rbx
jmp 0x140340062
mov byte [rsp + 0x60], 0
call fcn.140450614
xor edx, edx
cmp dword [rax], 0
sete dl
test rdx, rbx
je 0x1403401e2
xor edx, edx
lea rcx, [rsp + 0x40]
xor r8d, r8d
call fcn.14044fd54
nop
fnstcw word [rsp + 0x50]
xor edx, edx
lea rcx, [rsp + 0x44]
xor r8d, r8d
movzx eax, word [rcx + 0xc]
and eax, 0xffffffc0
mov word [rcx + 0xc], ax
call fcn.14044fd54
mov edi, dword [rsp + 0x40]
mov r15d, edi
not edi
and r15d, 0x1000000
mov ecx, edi
mov ebx, edi
and ecx, 2
and ebx, 4
shr r15d, 8
mov ebp, edi
shr ecx, 1
and ebp, 8
shr ebx, 1
or r15d, ecx
mov esi, edi
or r15d, ebx
shr ebp, 1
and esi, 0x10
shr esi, 1
or r15d, ebp
and edi, 1
or r15d, esi
shl edi, 4
lea rdx, [0x141a4fa60]
or r15d, edi
mov eax, r15d
xchg dword [rdx], eax
mov r12d, r15d
mov edi, r15d
and r12d, 1
and edi, 2
mov esi, r15d
mov ebp, r15d
and esi, 4
and ebp, 8
mov ebx, r15d
and ebx, 0x10
lea r14d, [r12 + r12]
xor r14d, 0x1f
lea ecx, [rdi + rdi]
xor r14d, ecx
lea r8d, [rsi + rsi]
xor r14d, r8d
lea r9d, [rbp + rbp]
mov r10d, ebx
xor r14d, r9d
shr r10d, 4
xor r14d, r10d
and r15d, 0x10000
je 0x14034014d
add r14d, 0x1000000
xor edx, edx
lea rcx, [rsp + 0x48]
xor r8d, r8d
call fcn.14044fd54
mov edx, r14d
lea rcx, [rsp + 0x28]
mov r8d, 0x308001f
call fcn.14044fd54
mov ecx, 0x3f
mov word [rsp + 0x52], cx
fnstcw word [rsp + 0x54]
shl r12d, 4
xor edx, edx
movzx r10d, word [rsp + 0x52]
mov r9d, r10d
shl edi, 2
xor r10d, r12d
xor r10d, edi
add ebx, ebx
shr ebp, 3
xor r10d, esi
xor r10d, ebp
not r9d
xor r8d, r8d
lea rcx, [rsp + 0x4c]
xor r10d, ebx
and word [rcx + 8], r9w
mov word [rcx + 6], r10w
call fcn.14044fd54
shl r15d, 8
lea rcx, [rsp + 0x2c]
mov edx, r15d
mov r8d, 0x3000000
call fcn.14044fd54
movzx eax, word [rsp + 0x54]
or word [rsp + 0x52], ax
fldcw word [rsp + 0x52]
call fcn.140341090
lea rcx, [0x141a4fa58]
call fcn.140340e60
mov eax, dword [0x141a4fa5c]
test eax, eax
je 0x140340230
mov dword [0x141a4fa58], 0
mov rcx, qword [rsp + 0x450]
mov qword [rsp + 0x450], 0
xor rcx, rsp
cmp rcx, qword [0x14194d6d8]
je 0x140340520
call fcn.14043dac0
mov ecx, 0x10
xor edx, edx
lea r8, [rsp + 0x30]
call fcn.14035a450
mov rdx, qword [rsp + 0x30]
test rdx, rdx
jne 0x140340258
mov qword [0x141a6db00], 0
jmp 0x140340289
xor eax, eax
mov dword [rdx + 8], eax
mov rcx, qword [rsp + 0x30]
mov dword [rcx + 0xc], eax
lea rcx, [0x14033e390]
mov rbx, qword [rsp + 0x30]
mov qword [rbx], 0
mov rbp, qword [rsp + 0x30]
mov qword [0x141a6db00], rbp
call fcn.14043def0
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea rcx, str.FOR_DISABLE_CONSOLE_CTRL_HANDLER
call fcn.1403b89a0
test eax, eax
jne 0x1403402b3
lea rcx, [0x14033e7b0]
mov edx, 1
call qword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
lea rcx, [0x1403b9480]
call fcn.14043d2f0
lea rcx, [0x1403b97b0]
call fcn.14043d300
lea rcx, str.FOR_NOERROR_DIALOGS
call fcn.1403b89a0
test eax, eax
jne 0x1403405f6
call fcn.140450848
call qword [sym.imp.KERNEL32.dll_GetACP]
mov ecx, eax
call fcn.14043d220
lea rax, [0x141a4fa48]
xor sil, sil
mov dword [0x141a6daf4], 0
mov edi, 1
mov qword [0x141a6daf8], rax
call qword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov rbp, rax
mov rdx, rbp
mov rcx, rdx
and rdx, 0xfffffffffffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [rdx]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x140340345
mov rax, rdx
add rdx, rcx
call fcn.14042af70
inc rax
xor edx, edx
mov rcx, rax
lea r8, [rsp + 0x38]
call fcn.14035a450
mov r8, qword [rsp + 0x38]
test r8, r8
je 0x1403405c5
mov rdx, rbp
mov rcx, rdx
and rdx, 0xfffffffffffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [rdx]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x140340390
mov rax, rdx
add rdx, rcx
call fcn.14042af70
movsxd rcx, eax
lea rbx, [rbp + rcx - 1]
cmp rbp, rbx
ja 0x140340486
cmp rbp, rbx
ja 0x140340486
mov al, byte [rbp]
cmp al, 0x20
je 0x14034057c
cmp al, 9
je 0x14034057c
mov eax, dword [0x141a6daf4]
inc eax
mov dword [0x141a6daf4], eax
cmp eax, edi
jle 0x14034040d
cmp edi, 1
je 0x140340584
add edi, 0xa
lea rdx, [0x141a6daf8]
movsxd rdi, edi
lea rcx, [rdi*8]
lea r8, [rdi*8 - 0x50]
call fcn.14035a4b0
test eax, eax
jne 0x140340486
mov r8, qword [rsp + 0x38]
mov eax, dword [0x141a6daf4]
movsxd rax, eax
mov rcx, qword [0x141a6daf8]
mov qword [rcx + rax*8 - 8], r8
mov rax, qword [rsp + 0x38]
mov cl, byte [rbp]
cmp cl, 0x22
jne 0x140340450
inc rbp
test sil, sil
jne 0x14034043f
mov cl, byte [rbp]
mov sil, 1
cmp cl, 0x22
jne 0x140340467
inc rbp
xor sil, sil
mov cl, byte [rbp]
cmp cl, 0x22
je 0x140340550
jmp 0x140340455
test sil, sil
jne 0x140340467
cmp cl, 0x20
je 0x140340532
cmp cl, 9
je 0x140340532
mov byte [rax], cl
inc rbp
mov rax, qword [rsp + 0x38]
inc rax
mov qword [rsp + 0x38], rax
cmp rbp, rbx
jbe 0x140340421
mov byte [rax], 0
inc qword [rsp + 0x38]
call fcn.1403ba690
call fcn.1403bed80
call fcn.1403bee20
lea rcx, str.FOR_FASTMEM_NORETRY
call fcn.1403b89a0
test eax, eax
je 0x1403404af
mov ecx, 1
call fcn.14035cd20
lea rcx, str.FOR_FASTMEM_RETRY_WARN
call fcn.1403b89a0
test eax, eax
je 0x1403404c9
mov ecx, 2
call fcn.14035cd20
lea rcx, str.FOR_FASTMEM_RETRY
call fcn.1403b89a0
test eax, eax
je 0x1403404e3
mov ecx, 3
call fcn.14035cd20
call fcn.14035cd40
mov dword [0x141a4fa5c], 1
mov dword [0x141a4fa58], 0
mov rcx, qword [rsp + 0x450]
mov qword [rsp + 0x450], 0
xor rcx, rsp
cmp rcx, qword [0x14194d6d8]
jne 0x14034022b
add rsp, 0x460
pop rbp
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
ret
mov byte [rax], 0
mov r8, qword [rsp + 0x38]
inc r8
mov qword [rsp + 0x38], r8
cmp rbp, rbx
jbe 0x1403403aa
jmp 0x140340486
cmp rbp, rbx
ja 0x140340574
inc rbp
mov byte [rax], 0x22
mov rax, qword [rsp + 0x38]
inc rax
mov qword [rsp + 0x38], rax
mov cl, byte [rbp]
cmp cl, 0x22
jne 0x140340455
inc rbp
jmp 0x140340431
inc rbp
jmp 0x1403403a1
mov ecx, 0x58
xor edx, edx
lea r8, [0x141a6daf8]
mov edi, 0xb
call fcn.14035a450
test eax, eax
jne 0x140340486
mov rcx, qword [0x141a6daf8]
mov rax, qword [0x141a4fa48]
mov qword [rcx], rax
mov r8, qword [rsp + 0x38]
mov eax, dword [0x141a6daf4]
jmp 0x14034040d
mov rcx, qword [rsp + 0x450]
xor rcx, rsp
cmp rcx, qword [0x14194d6d8]
jne 0x14034022b
lea rcx, str.to_ptr
lea rdx, str.for_init.c
mov r8d, 0xdc2
call fcn.1404520a0
mov ecx, 0x8003
call qword [sym.imp.KERNEL32.dll_SetErrorMode]
jmp 0x1403402df
lea r8, [fcn.140383960]
lea rdx, [rsp + 0x4a8]
mov rcx, rbx
call rax
nop
jmp 0x14033ff56
cmp qword [rsp + 0x4a8], 0
jne 0x14033ff2b
jmp 0x14033ff56
movsd qword [rsp + 0x20], xmm0
lea rcx, [rsp + 0x20]
call fcn.140370d60
movsd qword [0x141a4fa40], xmm0
jmp 0x14033ff22
test rbx, rbx
jmp 0x140340019