Function at 0x5dfad0
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x4c
mov esi, ecx
call sub.KERNEL32.dll_GetCommandLineW
mov ecx, dword [0x6d6b64]
test eax, eax
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
je 0x5dff5b
movzx edi, word [eax]
test di, di
je 0x5dff5b
mov ecx, dword [0x6dd42c]
add eax, 2
xor esi, esi
xor edx, edx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
jmp 0x5dfb43
mov word [ecx + esi*2], di
inc esi
mov dword [ebp - 0x3c], esi
movzx edi, word [ebx]
lea eax, [ebx + 2]
test di, di
je 0x5dfb93
mov ebx, eax
cmp di, 9
je 0x5dfb60
cmp di, 0x20
je 0x5dfb60
cmp di, 0x22
jne 0x5dfb65
not dl
and dl, 1
jmp 0x5dfb38
test dl, 1
je 0x5dfb93
cmp esi, dword [ebp - 0x40]
jne 0x5dfb30
mov dword [ebp - 0x10], edx
lea ecx, [ebp - 0x44]
mov edx, esi
call fcn.005d9750
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x3c]
jmp 0x5dfb30
add ebx, 2
movzx eax, word [ebx]
cmp ax, 0x20
je 0x5dfb90
cmp ax, 9
je 0x5dfb90
mov edx, dword [ebp - 0x44]
lea ecx, [ebp - 0x54]
push esi
call fcn.005c2940
add esp, 4
mov edx, dword [ebp - 0x28]
cmp edx, dword [ebp - 0x2c]
jne 0x5dfbc4
lea ecx, [ebp - 0x30]
call fcn.005d6580
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
mov esi, dword [ebp - 0x4c]
lea ecx, [edx + edx*2]
inc edx
mov dword [eax + ecx*4 + 8], esi
movsd xmm0, qword [ebp - 0x54]
movsd qword [eax + ecx*4], xmm0
mov dword [ebp - 0x28], edx
mov edx, dword [0x6dd42c]
xor ecx, ecx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
movzx edi, word [ebx]
test di, di
je 0x5e0010
movaps xmm0, xmmword [0x6074b0]
xor eax, eax
jmp 0x5dfc2b
test al, 1
jne 0x5dfdbb
movzx edi, word [esi]
mov al, 1
nop dword [eax]
test di, di
mov ebx, esi
je 0x5e0012
lea esi, [ebx + 2]
cmp di, 0x21
jg 0x5dfcd0
cmp di, 9
je 0x5dfc48
cmp di, 0x20
jne 0x5dfd60
test al, 1
jne 0x5dfd60
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x10], eax
mov eax, ecx
lea ecx, [ebp - 0x54]
mov ebx, edx
push eax
call fcn.005c2940
add esp, 4
mov edx, dword [ebp - 0x28]
cmp edx, dword [ebp - 0x2c]
jne 0x5dfc79
lea ecx, [ebp - 0x30]
call fcn.005d6580
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
mov edi, dword [ebp - 0x4c]
lea ecx, [edx + edx*2]
inc edx
mov dword [eax + ecx*4 + 8], edi
movsd xmm0, qword [ebp - 0x54]
movsd qword [eax + ecx*4], xmm0
mov eax, dword [ebp - 0x10]
movaps xmm0, xmmword [0x6074b0]
mov dword [ebp - 0x28], edx
mov edx, ebx
mov dword [ebp - 0x18], 0
jmp 0x5dfcb3
add esi, 2
movzx edi, word [esi]
cmp di, 0x20
je 0x5dfcb0
cmp di, 9
je 0x5dfcb0
xor ecx, ecx
jmp 0x5dfc20
cmp di, 0x22
je 0x5dfc10
cmp di, 0x5c
jne 0x5dfd60
mov dword [ebp - 0x14], ecx
movzx ecx, word [esi]
xor ebx, ebx
mov dword [ebp - 0x10], eax
cmp cx, 0x5c
jne 0x5dfd0e
xor ebx, ebx
nop word [eax + eax]
movzx ecx, word [esi + 2]
inc ebx
add esi, 2
cmp cx, 0x5c
je 0x5dfd00
inc ebx
cmp cx, 0x22
jne 0x5dfd90
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x14]
mov edi, ebx
shr edi, 1
mov dword [ebp - 0x24], edi
sub eax, ecx
cmp eax, edi
jb 0x5dff1c
cmp ebx, 2
jb 0x5dfea3
mov edi, dword [ebp - 0x20]
mov eax, ecx
cmp ebx, 0x20
mov dword [ebp - 0x14], eax
lea ecx, [edi + ecx*2]
jae 0x5dfe57
mov edx, dword [ebp - 0x24]
jmp 0x5dfe90
cmp ecx, dword [ebp - 0x1c]
jne 0x5dfd7d
mov edx, ecx
lea ecx, [ebp - 0x20]
mov ebx, eax
call fcn.005d9750
movaps xmm0, xmmword [0x6074b0]
mov ecx, dword [ebp - 0x18]
mov eax, ebx
mov edx, dword [ebp - 0x20]
mov word [edx + ecx*2], di
inc ecx
mov dword [ebp - 0x18], ecx
movzx edi, word [esi]
jmp 0x5dfc20
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x14]
sub eax, ecx
cmp eax, ebx
jb 0x5dff3b
mov eax, dword [ebp - 0x10]
test ebx, ebx
je 0x5dfe26
mov edi, ecx
lea ecx, [edx + ecx*2]
cmp ebx, 0x10
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x14], edi
jae 0x5dfdd4
mov edx, ebx
jmp 0x5dfe10
movzx edi, word [esi]
cmp di, 0x22
je 0x5dfe31
test di, di
je 0x5e0012
xor eax, eax
jmp 0x5dfc20
mov eax, ebx
mov edx, ebx
and eax, 0xfffffff0
and edx, 0xf
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x34]
lea edi, [eax + edi*2 + 0x10]
mov eax, dword [ebp - 0x24]
nop dword [eax + eax]
movups xmmword [edi - 0x10], xmm0
movups xmmword [edi], xmm0
add edi, 0x20
add eax, 0xfffffff0
jne 0x5dfdf0
mov eax, dword [ebp - 0x24]
cmp ebx, eax
je 0x5dfe1b
lea ecx, [ecx + eax*2]
nop dword [eax]
mov word [ecx], 0x5c
add ecx, 2
dec edx
jne 0x5dfe10
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x34]
add ecx, ebx
mov dword [ebp - 0x18], ecx
movzx edi, word [esi]
jmp 0x5dfc20
cmp ecx, dword [ebp - 0x1c]
jne 0x5dfef4
mov edx, ecx
lea ecx, [ebp - 0x20]
mov edi, eax
call fcn.005d9750
movaps xmm0, xmmword [0x6074b0]
mov edx, dword [ebp - 0x18]
mov eax, edi
jmp 0x5dfef6
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x34], edi
lea edi, [edi + eax*2 + 0x10]
mov dword [ebp - 0x38], edx
and dword [ebp - 0x38], 0xfffffff0
and edx, 0xf
mov eax, dword [ebp - 0x38]
nop
movups xmmword [edi - 0x10], xmm0
movups xmmword [edi], xmm0
add edi, 0x20
add eax, 0xfffffff0
jne 0x5dfe70
mov eax, dword [ebp - 0x38]
mov edi, dword [ebp - 0x34]
cmp dword [ebp - 0x24], eax
je 0x5dfe9b
lea ecx, [ecx + eax*2]
nop dword [eax]
mov word [ecx], 0x5c
add ecx, 2
dec edx
jne 0x5dfe90
mov ecx, dword [ebp - 0x14]
mov edx, edi
add ecx, dword [ebp - 0x24]
test bl, 1
mov dword [ebp - 0x18], ecx
jne 0x5dfeb6
mov eax, dword [ebp - 0x10]
movzx edi, word [esi]
jmp 0x5dfc20
xor ebx, ebx
cmp word [esi], 0
setne dl
cmp ecx, dword [ebp - 0x1c]
jne 0x5dfede
mov byte [ebp - 0x14], dl
mov edx, ecx
lea ecx, [ebp - 0x20]
call fcn.005d9750
mov dl, byte [ebp - 0x14]
movaps xmm0, xmmword [0x6074b0]
mov ecx, dword [ebp - 0x18]
mov bl, dl
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
lea esi, [esi + ebx*2]
mov word [edx + ecx*2], 0x22
jmp 0x5dfd84
mov edx, ecx
mov ecx, dword [ebp - 0x20]
lea edi, [ebx + 4]
mov word [ecx + edx*2], 0x22
inc edx
mov dword [ebp - 0x18], edx
cmp word [ebx + 2], 0
cmovne esi, edi
mov edi, ecx
mov ecx, edx
mov edx, edi
movzx edi, word [esi]
jmp 0x5dfc20
mov edx, ecx
lea ecx, [ebp - 0x20]
push dword [ebp - 0x24]
call fcn.005d96d0
movaps xmm0, xmmword [0x6074b0]
add esp, 4
mov ecx, dword [ebp - 0x18]
jmp 0x5dfd35
mov edx, ecx
lea ecx, [ebp - 0x20]
push ebx
call fcn.005d96d0
movaps xmm0, xmmword [0x6074b0]
add esp, 4
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
jmp 0x5dfda7
lea ecx, [ebp - 0x54]
call fcn.005df950
mov eax, dword [ebp - 0x50]
mov edi, dword [ebp - 0x4c]
cmp dword [ebp - 0x54], 1
jne 0x5dffc1
mov ebx, dword [0x6dd4e0]
cmp al, 3
mov dword [ebp - 0x14], ebx
jne 0x5dffb6
mov eax, dword [edi + 4]
push dword [edi]
call dword [eax]
add esp, 4
mov ecx, dword [edi + 4]
cmp dword [ecx + 4], 0
je 0x5dffa8
mov eax, dword [edi]
cmp dword [ecx + 8], 9
jb 0x5dff9a
mov eax, dword [eax - 4]
push eax
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
push edi
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
xor ebx, ebx
mov dword [ebp - 0x10], 0
jmp 0x5dffcc
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x14], eax
mov ebx, edi
mov dword [ebp - 0x10], ecx
lea ecx, [ebp - 0x30]
xor edx, edx
call fcn.005d6580
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
lea eax, [edi + edi*2]
inc edi
mov dword [esi + eax*4], ecx
mov dword [esi + eax*4 + 4], ebx
mov dword [esi + eax*4 + 8], edx
mov ebx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x58]
lea eax, [edi + edi*2]
lea eax, [esi + eax*4]
mov dword [ecx], esi
mov dword [ecx + 4], ebx
mov dword [ecx + 8], esi
mov dword [ecx + 0xc], eax
add esp, 0x4c
pop esi
pop edi
pop ebx
pop ebp
ret
xor eax, eax
test ecx, ecx
jne 0x5e002f
and al, 1
jne 0x5e002f
mov edx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x30]
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x2c]
test eax, eax
jne 0x5e007b
jmp 0x5e0094
mov edx, dword [ebp - 0x20]
mov eax, ecx
lea ecx, [ebp - 0x54]
mov esi, edx
push eax
call fcn.005c2940
add esp, 4
mov edi, dword [ebp - 0x28]
cmp edi, dword [ebp - 0x2c]
jne 0x5e0057
lea ecx, [ebp - 0x30]
mov edx, edi
call fcn.005d6580
mov edi, dword [ebp - 0x28]
mov edx, esi
mov esi, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x4c]
lea eax, [edi + edi*2]
inc edi
mov dword [esi + eax*4 + 8], ecx
movsd xmm0, qword [ebp - 0x54]
movsd qword [esi + eax*4], xmm0
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x2c]
test eax, eax
je 0x5e0094
test edx, edx
je 0x5e0094
and eax, 0x7fffffff
je 0x5e0094
push edx
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x5dfff4
mov ecx, dword [ebp - 0x44]
test ecx, ecx
je 0x5dfff4
and eax, 0x7fffffff
je 0x5dfff4
push ecx
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
jmp 0x5dfff4