Function at 0x41ff34
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
movsx eax, byte [0x43bbd0]
push ebx
push esi
push edi
push eax
push 0x5f79ffff
call fcn.00411e04
mov word [0x43bbda], ax
movsx eax, byte [0x43bbcd]
push eax
push 0xc5dffff
call fcn.00411e4a
mov esi, dword [ebp + 0x18]
add dword [0x43bc04], eax
xor ebx, ebx
add esp, 0x10
mov eax, dword [esi]
cmp eax, ebx
je 0x41ff80
push eax
call dword [sym.imp.MSVCRT.dll_free]
pop ecx
movsx eax, byte [0x43bbd1]
push eax
push dword [0x43bc08]
call fcn.00411cd8
mov dword [0x43bbfc], eax
xor eax, eax
cmp word [0x43bbd6], bx
setne al
add word [0x43bbd8], ax
movsx eax, byte [0x43bbce]
push eax
push 0xb7e5ffff
call fcn.00411e04
add dword [0x43bbfc], eax
add esp, 0x10
cmp dword [ebp + 0x20], ebx
jne 0x42007c
movsx eax, byte [0x43bbcb]
push 0x9b5ffff
push eax
call fcn.00411e04
mov edi, dword [ebp + 0x14]
mov byte [0x43bbd0], al
push edi
call dword [sym.imp.MSVCRT.dll_malloc]
push 0x117ffff
push 0xda3fffff
mov dword [esi], eax
call fcn.00411e4a
add byte [0x43bbd1], al
add esp, 0x14
cmp dword [esi], ebx
je 0x420649
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
mov dword [0x43bbf8], eax
push edi
movsx eax, byte [0x43bbca]
push dword [ebp + 8]
and eax, 0x91b9ffff
add dword [0x43bbe8], eax
mov eax, dword [ebp + 0x1c]
mov dword [eax], edi
dec byte [0x43bbc9]
push dword [esi]
call sub.MSVCRT.dll_memcpy
push 0x4111ffff
push dword [0x43bc00]
call fcn.00411e04
add word [0x43bbe4], ax
movsx eax, byte [0x43bbd0]
push eax
push 0xd87dffff
call fcn.00411cac
add esp, 0x1c
add byte [0x43bbce], al
jmp 0x420732
mov ebx, dword [ebp + 8]
xor edi, edi
cmp ebx, edi
mov dword [0x43bbec], 0x934e0001
jne 0x420204
push 0x2747ffff
push 0x5b15ffff
call fcn.00411d58
test byte [ebp + 0x20], 1
pop ecx
mov byte [0x43bbcc], al
pop ecx
je 0x420196
movsx ax, byte [0x43bbcf]
and ax, word [0x43bbe4]
push 0xcf95ffff
add word [0x43bbd2], ax
movsx eax, word [0x43bbe0]
push eax
call fcn.00411c25
push dword [ebp + 0xc]
add dword [0x43bc04], eax
call sub.MSVCRT.dll_strlen
push dword [ebp + 0x10]
mov edi, eax
call sub.MSVCRT.dll_strlen
lea edi, [edi + eax + 3]
mov al, byte [0x43bbe0]
inc al
push 0xef6fffff
push 0x2d61ffff
mov byte [0x43bbcf], al
call fcn.00411d90
push dword [0x43bc00]
mov byte [0x43bbce], al
movsx eax, byte [0x43bbc8]
push eax
call fcn.00411dc3
add word [0x43bbe0], ax
push edi
call dword [sym.imp.MSVCRT.dll_malloc]
push dword [ebp + 0xc]
mov dword [esi], eax
push eax
call sub.MSVCRT.dll_strcpy
push dword [ebp + 0x10]
push dword [esi]
call sub.MSVCRT.dll_strcat
mov edi, dword [0x43532c]
add esp, 0x34
mov al, byte [edi]
add al, 0x79
movzx eax, al
add eax, 3
and al, 0xfc
call fcn.00430020
mov ecx, esp
mov edx, edi
call fcn.0042c1e6
push eax
push dword [esi]
call sub.MSVCRT.dll_strcat
push 0xbc81ffff
push 0x2da9ffff
call fcn.00411e4a
add esp, 0x10
add word [0x43bbde], ax
jmp 0x42072c
push dword [0x43bc04]
push 0x62b7ffff
call fcn.00411e04
mov byte [0x43bbca], al
movsx eax, word [0x43bbde]
push eax
push 0xfa2fffff
call fcn.00411d1f
mov word [0x43bbde], ax
mov dword [esi], edi
movsx ax, byte [0x43bbc9]
sub word [0x43bbde], ax
mov eax, dword [ebp + 0x1c]
or dword [eax], 0xffffffff
push dword [0x43bc00]
push 0x5619ffff
call fcn.00411d90
add dword [0x43bbe8], eax
add esp, 0x18
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
add byte [0x43bbc8], al
jmp 0x420732
mov eax, dword [ebp + 0x14]
cmp eax, 0xffffffff
jne 0x420213
push ebx
call sub.MSVCRT.dll_strlen
pop ecx
push 0x7ef3ffff
push 0x4a9ffff
mov dword [ebp + 0x14], eax
call fcn.00411e04
add word [0x43bbd6], ax
push 0x2bc9ffff
movsx eax, byte [0x43bbce]
push eax
call fcn.00411d58
add word [0x43bbe4], ax
mov eax, dword [ebp + 0x20]
add esp, 0x10
and eax, 8
mov dword [ebp + 0x18], eax
je 0x420259
mov eax, dword [ebp + 0x14]
inc eax
jmp 0x420279
push dword [ebp + 0xc]
call sub.MSVCRT.dll_strlen
push dword [ebp + 0x10]
mov ebx, eax
call sub.MSVCRT.dll_strlen
pop ecx
pop ecx
mov ecx, dword [ebp + 0x14]
add ecx, ebx
mov ebx, dword [ebp + 8]
lea eax, [eax + ecx + 3]
mov ecx, dword [0x43bbe8]
dec word [0x43bbda]
imul ecx, ecx, 0x8583ffff
push eax
mov dword [0x43bc00], ecx
call dword [sym.imp.MSVCRT.dll_malloc]
test eax, eax
pop ecx
mov dword [esi], eax
je 0x420649
cmp byte [0x43bbcc], 0
je 0x4202bb
cmp byte [0x43bbd1], 0
je 0x4202bb
push 1
pop eax
jmp 0x4202bd
xor eax, eax
add dword [0x43bc0c], eax
movsx eax, byte [0x43bbcd]
push eax
push 0xee67ffff
call fcn.00411d90
push dword [0x43bc08]
add word [0x43bbd6], ax
push 0xc03dffff
call fcn.00411cac
mov dword [0x43bbf0], eax
mov eax, dword [esi]
and byte [ebp + 0xb], 0
and byte [eax], 0
push dword [0x43bbe8]
mov byte [0x43bbc9], 1
push 0xf367ffff
call fcn.00411d90
add word [0x43bbdc], ax
add esp, 0x18
test byte [ebp + 0x20], 0xe
je 0x4205a2
movsx eax, byte [0x43bbc8]
push eax
movsx eax, byte [0x43bbd1]
push eax
call fcn.00411c25
add byte [0x43bbc8], al
movsx eax, byte [0x43bbc9]
push eax
movsx eax, word [0x43bbd6]
push eax
call fcn.00411d90
add dword [0x43bbec], eax
add esp, 0x10
cmp dword [ebp + 0x14], 0
jbe 0x4205a2
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
push dword [0x43bc00]
mov dword [0x43bbf8], eax
push 0x5d1fffff
call fcn.00411d58
push dword [ebp + 0xc]
mov word [0x43bbe4], ax
call sub.MSVCRT.dll_strlen
push eax
lea eax, [edi + ebx]
push dword [ebp + 0xc]
push eax
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0x18
test eax, eax
je 0x420439
push 0x70c7ffff
push 0x2977ffff
call fcn.00411e04
pop ecx
mov word [0x43bbda], ax
pop ecx
cmp edi, dword [ebp + 0x14]
jae 0x4203d4
mov al, byte [edi + ebx]
cmp al, 0xa
je 0x4203d4
cmp al, 0xd
je 0x4203d4
inc edi
jmp 0x4203c1
movsx eax, word [0x43bbd8]
push eax
push dword [0x43bbf0]
call fcn.00411d58
mov word [0x43bbe4], ax
mov eax, dword [0x43bc08]
inc eax
push 0xd65fffff
add word [0x43bbd6], ax
push 0x3bdfffff
call fcn.00411d58
add esp, 0x10
cmp edi, dword [ebp + 0x14]
mov byte [0x43bbd0], al
jae 0x4205a2
mov al, byte [edi + ebx]
cmp al, 0xa
je 0x420425
cmp al, 0xd
jne 0x42042b
inc edi
cmp edi, dword [ebp + 0x14]
jb 0x42041a
cmp edi, dword [ebp + 0x14]
jb 0x420368
jmp 0x4205a2
push edi
push ebx
push dword [esi]
call dword [sym.imp.MSVCRT.dll_strncpy]
mov eax, dword [esi]
push dword [ebp + 0xc]
and byte [eax + edi], 0
mov al, byte [0x43bbfc]
mov byte [0x43bbc9], al
movsx eax, word [0x43bbd4]
and eax, 0xdfedffff
mov dword [0x43bc0c], eax
call sub.MSVCRT.dll_strlen
movsx ecx, byte [0x43bbca]
add edi, eax
mov ax, word [0x43bbd8]
add word [0x43bbd4], ax
add esp, 0x10
movsx eax, word [0x43bbd2]
imul eax, ecx
movsx ecx, byte [0x43bbd0]
add ecx, dword [0x43bc0c]
test byte [ebp + 0x20], 0xa
lea eax, [ecx + eax - 0x5e35ffff]
mov dword [0x43bc0c], eax
je 0x42052d
test byte [ebp + 0x20], 2
je 0x4204cb
push dword [ebp + 0xc]
push dword [esi]
call sub.MSVCRT.dll_strcat
push dword [ebp + 0x10]
push dword [esi]
call sub.MSVCRT.dll_strcat
add esp, 0x10
movsx eax, byte [0x43bbca]
push 0x4a27ffff
push eax
call fcn.00411cac
mov word [0x43bbda], ax
push 0x7ae1ffff
movsx ax, byte [0x43bbcf]
sub word [0x43bbde], ax
push 0x209dffff
call fcn.00411cd8
add esp, 0x10
add byte [0x43bbca], al
cmp edi, dword [ebp + 0x14]
jae 0x42051d
mov al, byte [edi + ebx]
cmp al, 0xa
je 0x42051d
cmp al, 0xd
je 0x42051d
inc edi
jmp 0x42050a
or byte [0x43bbce], 0xff
dec word [0x43bbe2]
jmp 0x420556
test byte [ebp + 0x20], 4
je 0x420556
push dword [ebp + 0x10]
push dword [esi]
call sub.MSVCRT.dll_strcat
push dword [0x43bbf4]
push 0x52b9ffff
call fcn.00411dc3
add esp, 0x10
add byte [0x43bbc8], al
movsx eax, byte [0x43bbcd]
push 0x9f13ffff
push eax
call fcn.00411d58
cmp dword [0x43bbe8], 0
mov word [0x43bbe0], ax
mov ecx, 0x72f3ffff
setne al
mov byte [0x43bbcb], al
add edi, ebx
movsx eax, word [0x43bbd6]
sub ecx, eax
push edi
add dword [0x43bbec], ecx
push dword [esi]
call sub.MSVCRT.dll_strcat
add esp, 0x10
mov byte [ebp + 0xb], 1
xor ecx, ecx
cmp word [0x43bbd4], cx
jne 0x4205ba
cmp word [0x43bbe2], cx
jne 0x4205ba
xor eax, eax
jmp 0x4205bd
push 1
pop eax
add byte [0x43bbd1], al
cmp dword [ebp + 0x18], ecx
je 0x420650
cmp byte [ebp + 0xb], 0
jne 0x420650
push dword [esi]
call dword [sym.imp.MSVCRT.dll_free]
xor edi, edi
pop ecx
cmp word [0x43bbd8], di
jne 0x4205f6
cmp byte [0x43bbca], 0
mov word [0x43bbdc], di
je 0x4205ff
mov word [0x43bbdc], 1
push 0x28dffff
push 0x18f1ffff
call fcn.00411d1f
dec byte [0x43bbcd]
mov byte [0x43bbcc], al
mov dword [esi], edi
mov eax, dword [0x43bbf4]
push dword [0x43bbfc]
add eax, 0xaf81ffff
inc dword [0x43bbf4]
mov dword [0x43bc00], eax
push 0x1923ffff
call fcn.00411cac
add esp, 0x10
add dword [0x43bbfc], eax
xor eax, eax
jmp 0x420735
push 0xefb5ffff
push 0x7909ffff
call fcn.00411d90
push dword [0x43bc08]
mov word [0x43bbda], ax
mov word [0x43bbe4], 0xfffe
push dword [0x43bc0c]
call fcn.00411e4a
add byte [0x43bbcd], al
add esp, 0x10
test byte [ebp + 0x20], 1
je 0x4206de
cmp byte [ebp + 0xb], 0
jne 0x4206de
push dword [ebp + 0xc]
push dword [esi]
call sub.MSVCRT.dll_strcpy
push dword [ebp + 0x10]
push dword [esi]
call sub.MSVCRT.dll_strcat
mov edi, dword [0x43532c]
add esp, 0x10
mov al, byte [edi]
add al, 0x79
movzx eax, al
add eax, 3
and al, 0xfc
call fcn.00430020
mov ecx, esp
mov edx, edi
call fcn.0042c1e6
push eax
push dword [esi]
call sub.MSVCRT.dll_strcat
push ebx
push dword [esi]
call sub.MSVCRT.dll_strcat
add esp, 0x10
movsx eax, word [0x43bbde]
push 0x4ce3ffff
push eax
call fcn.00411cd8
add dword [0x43bc08], eax
mov al, byte [0x43bbd6]
or al, byte [0x43bc04]
pop ecx
pop ecx
add byte [0x43bbca], al
xor eax, eax
cmp word [0x43bbd4], ax
jne 0x420722
cmp word [0x43bbdc], ax
mov dword [0x43bc0c], eax
je 0x42072c
mov dword [0x43bc0c], 1
mov eax, dword [ebp + 0x1c]
or dword [eax], 0xffffffff
push 1
pop eax
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret