Function at 0x431040
Capabilities:
Accept command line arguments

Disassembly:
push rbp
push r14
push r13
push rdi
push rsi
push rbx
sub rsp, 0xb8
mov rbp, rsp
mov qword [rbp + 0x50], rcx
mov qword [rbp + 0x58], rdx
mov qword [rbp + 0x38], r8
mov word [rbp + 0x46], r9w
mov qword [rbp + 0x78], 0
mov qword [rbp + 0x88], 0
mov qword [rbp + 0x80], 0
nop
mov rax, qword [rbp + 0x38]
mov dword [rax], 0
mov rax, qword [rbp + 0x58]
mov qword [rbp + 0xa8], rax
jmp 0x4310f0
mov rax, qword [0x004895e8]
cmp byte [rax], 0
je 0x4310d7
mov rax, qword [rbp + 0xa8]
movzx rcx, word [rbp + 0x46]
cmp word [rax], cx
je 0x4310fd
mov rax, qword [rbp + 0xa8]
cmp word [rax], 0x3a
jne 0x4310e8
mov rax, qword [rbp + 0xa8]
movzx rcx, word [rbp + 0x46]
cmp word [rax + 2], cx
jne 0x4310fd
jmp 0x4310e8
mov rax, qword [rbp + 0xa8]
movzx rcx, word [rbp + 0x46]
cmp word [rax], cx
je 0x4310fd
add qword [rbp + 0xa8], 2
mov rax, qword [rbp + 0xa8]
cmp word [rax], 0
jne 0x431099
nop
mov rax, qword [rbp + 0xa8]
cmp word [rax], 0
je 0x43112d
mov rax, qword [rbp + 0xa8]
mov rcx, qword [rbp + 0x58]
neg rcx
lea rax, [rax + rcx]
mov ecx, 2
cqo
idiv rcx
test rax, rax
jne 0x431139
xor rax, rax
mov qword [rbp + 0x68], rax
jmp 0x43164f
mov rax, qword [rbp + 0xa8]
movzx rbx, word [rax]
mov rax, qword [rbp + 0xa8]
mov word [rax], 0
mov rax, qword [rbp + 0x58]
test rax, rax
je 0x431167
mov rax, qword [rbp + 0x58]
mov rcx, rax
call fcn.0040aa60
jmp 0x43116a
xor rax, rax
mov rcx, qword [rbp + 0x38]
mov dword [rcx], eax
movzx rax, word [rbp + 0x46]
cmp bx, ax
jne 0x431181
mov rax, qword [rbp + 0x38]
add dword [rax], 1
mov rcx, qword [rbp + 0x58]
call fcn.00432270
mov qword [rbp + 0x48], rax
mov rax, qword [0x004895e8]
cmp byte [rax], 0
je 0x431219
mov rax, qword [rbp + 0x48]
test rax, rax
jne 0x431219
mov rcx, qword [rbp + 0x58]
lea rdx, [0x004316a8]
call fcn.0041dae0
test eax, eax
jne 0x4311fc
lea rax, [0x004a2704]
mov qword [rbp + 0x48], rax
mov rax, qword [0x00489a80]
mov eax, dword [rax]
mov dword [rbp + 0x90], eax
mov byte [rbp + 0x98], 0
mov rcx, qword [rbp + 0x48]
xor rdx, rdx
lea r8, [0x004316be]
lea r9, [rbp + 0x90]
mov dword [rsp + 0x20], 0
call fcn.00429e10
jmp 0x431219
mov rcx, qword [rbp + 0x58]
lea rdx, [0x004316c4]
call fcn.0041dae0
test eax, eax
jne 0x431219
call sub.kernel32.dll_GetCommandLineW_1
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0xa8]
mov word [rax], bx
movzx rax, word [rbp + 0x46]
cmp bx, ax
je 0x431233
cmp bx, 0x3a
jne 0x43123b
add qword [rbp + 0xa8], 2
mov rax, qword [0x004895e8]
cmp byte [rax], 0
je 0x431646
cmp bx, 0x3a
jne 0x431646
mov rax, qword [rbp + 0x48]
test rax, rax
je 0x431646
mov rax, qword [rbp + 0xa8]
mov qword [rbp + 0x60], rax
mov rax, qword [rbp + 0xa8]
cmp word [rax], 0x7e
jne 0x4313bc
add qword [rbp + 0xa8], 2
mov rcx, qword [rbp + 0xa8]
lea rdx, [rbp + 0xa8]
xor r8, r8
call sub.msvcrt.dll_wcstol
mov ebx, eax
test ebx, ebx
jge 0x4312be
mov rax, qword [rbp + 0x48]
test rax, rax
je 0x4312b9
mov rax, qword [rbp + 0x48]
mov rcx, rax
call fcn.0040aa60
jmp 0x4312bc
xor rax, rax
add ebx, eax
test ebx, ebx
jge 0x4312c5
xor rbx, rbx
mov rax, qword [rbp + 0xa8]
cmp word [rax], 0x2c
jne 0x431343
add qword [rbp + 0xa8], 2
mov rcx, qword [rbp + 0xa8]
lea rdx, [rbp + 0xa8]
xor r8, r8
call sub.msvcrt.dll_wcstol
mov esi, eax
test esi, esi
jge 0x431316
mov rax, qword [rbp + 0x48]
test rax, rax
je 0x43130d
mov rax, qword [rbp + 0x48]
mov rcx, rax
call fcn.0040aa60
jmp 0x431310
xor rax, rax
add eax, esi
sub eax, ebx
mov esi, eax
test esi, esi
jge 0x43131d
xor rsi, rsi
mov rcx, qword [rbp + 0x48]
movsxd rbx, ebx
mov rax, qword [rbp + 0x48]
lea rdx, [rax + rbx*2]
mov r8d, esi
call fcn.00429c40
movsxd rsi, esi
mov rax, qword [rbp + 0x48]
mov word [rax + rsi*2], 0
jmp 0x431357
mov rcx, qword [rbp + 0x48]
movsxd rbx, ebx
mov rax, qword [rbp + 0x48]
lea rdx, [rax + rbx*2]
call fcn.00429d70
mov rax, qword [rbp + 0xa8]
movzx rcx, word [rbp + 0x46]
cmp word [rax], cx
jne 0x431615
add qword [rbp + 0xa8], 2
jmp 0x431615
lea rcx, [rbp + 0x88]
mov rdx, qword [rbp + 0xa8]
call fcn.0040b760
lea rcx, [rbp + 0x80]
movzx rdx, word [rbp + 0x46]
call fcn.0040b710
mov rcx, qword [rbp + 0x88]
mov rdx, qword [rbp + 0x80]
call fcn.0040bc60
test eax, eax
je 0x4313d6
add qword [rbp + 0xa8], 2
mov rax, qword [rbp + 0xa8]
cmp word [rax], 0
je 0x4313d6
mov rax, qword [rbp + 0xa8]
cmp word [rax], 0x3d
jne 0x431379
nop
mov rax, qword [rbp + 0xa8]
cmp word [rax], 0x3d
jne 0x4315ad
mov rax, qword [rbp + 0xa8]
mov word [rax], 0
add qword [rbp + 0xa8], 2
mov rax, qword [rbp + 0x60]
test rax, rax
je 0x431415
mov rax, qword [rbp + 0x60]
mov rcx, rax
call fcn.0040aa60
mov esi, eax
jmp 0x431418
xor rsi, rsi
mov rax, qword [rbp + 0xa8]
mov qword [rbp + 0x70], rax
jmp 0x43142d
add qword [rbp + 0xa8], 2
mov rax, qword [rbp + 0xa8]
cmp word [rax], 0
je 0x43144b
mov rax, qword [rbp + 0xa8]
movzx rcx, word [rbp + 0x46]
cmp word [rax], cx
jne 0x431425
mov rax, qword [rbp + 0xa8]
cmp word [rax], 0
je 0x43159e
mov rax, qword [rbp + 0xa8]
mov word [rax], 0
mov rax, qword [rbp + 0x70]
test rax, rax
je 0x431481
mov rax, qword [rbp + 0x70]
mov rcx, rax
call fcn.0040aa60
mov edi, eax
jmp 0x431484
xor rdi, rdi
mov rbx, qword [rbp + 0x48]
mov rax, qword [rbp + 0x60]
cmp word [rax], 0x2a
jne 0x4314ad
mov r14d, 1
mov rax, qword [rbp + 0x60]
add rax, 2
mov qword [rbp + 0x60], rax
sub esi, 1
jmp 0x43157c
xor r14, r14
jmp 0x43157c
mov rcx, rbx
mov rdx, qword [rbp + 0x60]
mov r8d, esi
call fcn.0041dbe0
test eax, eax
jne 0x431578
test r14d, r14d
je 0x4314ed
mov rax, qword [rbp + 0x48]
neg rax
lea rax, [rbx + rax]
mov ecx, 2
cqo
idiv rcx
add esi, eax
mov rbx, qword [rbp + 0x48]
mov r13d, esi
sub r13d, edi
test r13d, r13d
jge 0x431531
test rbx, rbx
je 0x43150a
mov rax, rbx
mov rcx, rax
call fcn.0040aa60
jmp 0x43150d
xor rax, rax
mov rcx, rbx
movsxd r13, r13d
add r13, r13
neg r13
lea rdx, [rbx + r13]
mov r8d, eax
add r8d, 1
add r8d, r8d
movsxd r8, r8d
call fcn.00405640
jmp 0x431545
test r13d, r13d
jle 0x431545
mov rcx, rbx
movsxd r13, r13d
lea rdx, [rbx + r13*2]
call fcn.00429d70
mov rcx, qword [rbp + 0x70]
mov rdx, rbx
mov r8d, edi
add r8d, r8d
movsxd r8, r8d
call fcn.00405640
test r14d, r14d
je 0x43156d
mov rax, qword [rbp + 0x60]
sub rax, 2
mov qword [rbp + 0x60], rax
jmp 0x431586
movsxd rax, edi
add rax, rax
add rbx, rax
jmp 0x43157c
add rbx, 2
cmp word [rbx], 0
jne 0x4314b5
nop
mov rax, qword [rbp + 0xa8]
movzx rcx, word [rbp + 0x46]
mov word [rax], cx
add qword [rbp + 0xa8], 2
mov rax, qword [rbp + 0x70]
sub rax, 2
mov word [rax], 0x3d
jmp 0x431615
mov rax, qword [rbp + 0xa8]
cmp word [rax], 0
je 0x431615
mov rax, qword [rbp + 0x50]
test rax, rax
je 0x43160c
lea rcx, [rbp + 0x78]
mov rdx, qword [0x00489418]
call fcn.0040eed0
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x90], rax
mov byte [rbp + 0x98], 0xa
mov rcx, qword [rbp + 0x78]
mov edx, 1
lea r8, [rbp + 0x90]
xor r9, r9
call fcn.0043cde0
mov rcx, qword [rbp + 0x50]
or edx, 0xffffffff
call fcn.00429800
jmp 0x431615
xor rax, rax
mov qword [rbp + 0x68], rax
jmp 0x43164f
mov rax, qword [rbp + 0xa8]
mov rcx, qword [rbp + 0x38]
movsxd rcx, dword [rcx]
lea rax, [rax + rcx*2]
mov rcx, qword [rbp + 0x60]
neg rcx
lea rax, [rax + rcx]
mov ecx, 2
cqo
idiv rcx
add eax, 1
mov rcx, qword [rbp + 0x38]
mov dword [rcx], eax
mov rax, qword [rbp + 0x48]
mov qword [rbp + 0x68], rax
nop
lea rcx, [rbp + 0x78]
mov edx, 3
call fcn.0040a350
mov rax, qword [rbp + 0x68]
lea rsp, [rbp + 0xb8]
pop rbx
pop rsi
pop rdi
pop r13
pop r14
pop rbp
ret