Function at 0x10043749
Capabilities:
Accept command line arguments
Allocate thread local storage
Check for time delay via gettickcount
Create process on windows
Delete directory
Delete registry key
Get geographical location
Get memory capacity
Get thread local storage value

Disassembly:
mov eax, 0x100742c5
call fcn.100727e8
sub esp, 0xd9c
movdqa xmm0, xmmword [0x10008860]
lea eax, [ebp - 0xa0c]
push ebx
push esi
push edi
mov dword [ebp - 0xc8], ecx
mov edi, 0xa21e1d82
lea ecx, [ebp - 0xa1c]
mov dword [ebp - 0x20], 0x6326
push ecx
mov dword [ebp - 0x838], edi
push eax
mov dword [ebp - 0x834], edi
push ecx
mov dword [ebp - 0x830], edi
lea ecx, [ebp - 0x8c4]
mov dword [ebp - 0x82c], edi
mov byte [ebp - 0x65], dl
movdqu xmmword [ebp - 0xa1c], xmm0
call fcn.1002d7c0
push 4
xor ebx, ebx
lea ecx, [ebp - 0x4d8]
pop esi
mov dword [ebp - 4], ebx
mov dword [ebp - 0x28], 0xa60915bb
push esi
call fcn.1002d70f
mov dword [ebp - 0x1c], ebx
jmp 0x100437e4
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xb1c], 0xe6bacd79
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x100437d3
xor ecx, ecx
mov dword [ebp - 0x1c], ebx
inc ecx
jmp 0x10043802
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x960], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x100437f1
mov dword [ebp - 0x1c], ebx
jmp 0x1004381f
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x4d8]
mov dword [eax + ecx*4], 0xca0e2c23
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1004380c
mov esi, dword [ebp - 0x20]
xor edx, edx
mov dword [ebp - 0xb1c], esi
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
push 3
setge dl
xor eax, eax
cmp edx, 0x278
pop edx
setne al
cmp esi, eax
jne 0x100438a7
mov eax, dword [ebp - 0x4d8]
xor ecx, ecx
mov dword [ebp - 0x38], 0x2b60
mov dword [ebp - 0x34], 0x6e311378
cmp dword [eax + 0xc], ebx
setne cl
mov dword [ebp - 0x34], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x34]
neg eax
cmp eax, 0x390d
mov eax, dword [ebp - 0x38]
setge cl
xor ebx, ebx
cmp eax, ecx
setg bl
xor edx, edx
imul ebx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x830]
mov ecx, dword [ebp - 0x38]
cmp eax, ebx
mov eax, dword [ebp - 0x8c4]
setge dl
add ecx, edx
xor ebx, ebx
mov dword [eax + 0xc], ecx
jmp 0x100438d7
mov dword [ebp - 0x28], ebx
cmp dword [ebp - 0x28], edx
jg 0x100438d7
push 4
pop esi
mov dword [ebp - 0x20], ebx
jmp 0x100438ca
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x4d8]
mov dword [eax + ecx*4], 0x52275dd3
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x100438b7
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edx
jle 0x100438b2
lea ecx, [ebp - 0x4d8]
call fcn.1002d956
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x8c4]
call fcn.1002d956
movdqa xmm0, xmmword [0x10008860]
lea ecx, [ebp - 0xa3c]
push ecx
mov dword [ebp - 0x20], 0x6326
lea eax, [ebp - 0xa2c]
mov dword [ebp - 0x878], edi
push eax
mov dword [ebp - 0x874], edi
push ecx
mov dword [ebp - 0x870], edi
lea ecx, [ebp - 0x96c]
mov dword [ebp - 0x86c], edi
movdqu xmmword [ebp - 0xa3c], xmm0
call fcn.1002d7c0
push 4
xor eax, eax
lea ecx, [ebp - 0x4f0]
inc eax
pop edi
mov dword [ebp - 4], eax
mov dword [ebp - 0x28], 0xa60915bb
push edi
call fcn.1002d70f
mov dword [ebp - 0x1c], ebx
jmp 0x1004396c
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xb3c], 0xe6bacd79
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1004395b
xor ecx, ecx
mov dword [ebp - 0x1c], ebx
inc ecx
jmp 0x1004398a
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x910], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10043979
mov dword [ebp - 0x1c], ebx
jmp 0x100439a7
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x4f0]
mov dword [eax + ecx*4], 0xca0e2c23
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x10043994
mov esi, dword [ebp - 0x20]
xor edx, edx
mov dword [ebp - 0xb3c], esi
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
setge dl
xor eax, eax
cmp edx, 0x278
setne al
cmp esi, eax
jne 0x10043a2c
mov eax, dword [ebp - 0x4f0]
xor ecx, ecx
mov dword [ebp - 0x38], 0x2b60
mov dword [ebp - 0x34], 0x6e311378
cmp dword [eax + 0xc], ebx
setne cl
mov dword [ebp - 0x34], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x34]
neg eax
cmp eax, 0x390d
mov eax, dword [ebp - 0x38]
setge cl
xor ebx, ebx
cmp eax, ecx
setg bl
xor edx, edx
imul ebx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x870]
mov ecx, dword [ebp - 0x38]
cmp eax, ebx
mov eax, dword [ebp - 0x96c]
setge dl
add ecx, edx
xor ebx, ebx
mov dword [eax + 0xc], ecx
jmp 0x10043a59
push 3
mov dword [ebp - 0x28], ebx
pop edx
jmp 0x10043a54
mov dword [ebp - 0x20], ebx
jmp 0x10043a4c
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x4f0]
mov dword [eax + ecx*4], 0x52275dd3
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x10043a39
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edx
jle 0x10043a34
lea ecx, [ebp - 0x4f0]
call fcn.1002d956
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x96c]
call fcn.1002d956
push edi
lea ecx, [ebp - 0x63c]
call fcn.1002d70f
push 2
xor eax, eax
lea ecx, [ebp - 0x3c4]
pop esi
inc eax
mov dword [ebp - 4], esi
push eax
call fcn.1002d70f
push 3
pop eax
mov byte [ebp - 4], al
mov dword [ebp - 0x1c], ebx
jmp 0x10043ab2
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x63c]
mov dword [eax + ecx*4], 0x7571
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x10043a9f
xor edx, edx
mov dword [ebp - 0x1c], ebx
inc edx
jmp 0x10043ad2
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x3c4]
mov dword [eax + ecx*4], 0x1febaeef
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x10043abf
mov dword [ebp - 0x1c], ebx
jmp 0x10043aed
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x27c], 0xe00f6802
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10043adc
mov eax, dword [ebp - 0x3c4]
mov dword [eax], ebx
mov eax, 0xfffe
mov dword [ebp - 0x2b0], eax
lea ecx, [ebp - 0x508]
mov dword [ebp - 0x2ac], eax
mov dword [ebp - 0x2a8], eax
mov dword [ebp - 0x2a4], eax
push edi
call fcn.1002d70f
mov dword [ebp - 0x18], 0xa2b441a6
mov dword [ebp - 0x10], ebx
jmp 0x10043b3e
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x508]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x10043b2f
mov eax, dword [ebp - 0x2a8]
mov eax, dword [ebp - 0x508]
mov dword [eax], 0x895196ee
mov dword [ebp - 0x18], 0x895196ee
mov eax, dword [ebp - 0x278]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2ac]
mov eax, dword [ebp - 0x278]
cmp eax, dword [ebp - 0x278]
je 0x10043ca7
cmp dword [ebp - 0x2b0], ebx
jne 0x10043ca7
mov dword [ebp - 0x38], 0x60d1
xor ecx, ecx
mov dword [ebp - 0x2c], 0x1d4b4ea6
inc ecx
mov dword [ebp - 0x4c], 8
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x4c], 0x203d7e6d
push 3
mov dword [ebp - 0x278], ecx
pop eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jl 0x10043ccf
mov edi, dword [ebp - 0x63c]
mov esi, dword [ebp - 0x508]
mov dword [ebp - 0x24], 0xc88fed6c
mov dword [ebp - 0x4c], 0x99fffbc9
mov dword [ebp - 0x4c], 0xfc6bf2a6
mov dword [ebp - 0x34], 0x6852
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x38]
neg eax
sbb eax, eax
inc eax
neg eax
cmp eax, 0x6c1d
je 0x10043c06
mov eax, ebx
cmp dword [esi + 0xc], ebx
je 0x10043c08
mov eax, ecx
mov ecx, dword [ebp - 0x24]
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0x3c4]
cmp ecx, dword [eax]
mov eax, dword [ebp - 0x38]
setge dl
xor ecx, ecx
cmp edx, 0x60d4
setge cl
add eax, ecx
je 0x10043c3b
cmp dword [ebp - 0x2a8], ebx
je 0x10043c3b
xor ecx, ecx
inc ecx
mov eax, ecx
jmp 0x10043c40
xor ecx, ecx
mov eax, ebx
inc ecx
cmp eax, dword [ebp - 0x38]
jle 0x10043c4c
mov edx, ecx
cmp dword [ebp - 0x24], ebx
jne 0x10043c4e
mov edx, ebx
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x24]
push 1
setne cl
xor edx, edx
cmp dword [edi + 8], ecx
setge dl
xor ecx, ecx
add eax, edx
mov dword [esi + 0xc], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
imul edx, dword [esi + 0xc], 0xbb35
mov eax, dword [ebp - 0x24]
sub edx, eax
mov eax, dword [ebp - 0x2a8]
add edx, 0x330167c3
cmp edx, eax
setge cl
mov dword [ebp - 0x2c], ecx
dec dword [ebp - 0x34]
dec dword [ebp - 0x18]
pop ecx
jns 0x10043bcc
push 4
pop edi
jmp 0x10043ccf
push 3
mov dword [ebp - 0x18], ebx
pop eax
jmp 0x10043cca
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10043cc7
push ebx
push 0x19b1
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
push 3
pop eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], eax
jle 0x10043caf
lea ecx, [ebp - 0x508]
call fcn.1002d956
mov eax, dword [ebp - 0x3c4]
inc dword [eax]
cmp dword [eax], 3
mov eax, 0xfffe
jle 0x10043aff
lea ecx, [ebp - 0x3c4]
call fcn.1002d956
or esi, 0xffffffff
lea ecx, [ebp - 0x63c]
mov dword [ebp - 4], esi
call fcn.1002d956
xor ecx, ecx
mov dword [ebp - 0x28], 0x6326
inc ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x40], 0xfffffff6
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], ebx
je 0x10043df1
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x2c], 0xc443
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], 0xffffffed
jg 0x10043de8
mov dword [ebp - 0x18], 0xfffffffb
mov dword [ebp - 0x1c], esi
mov eax, dword [ebp - 0x2c]
imul eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x18]
je 0x10043da7
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], ecx
mov eax, ebx
cmp dword [ebp - 0x1c], ebx
je 0x10043d68
mov eax, ecx
mov edx, dword [ebp - 0x24]
xor ecx, ecx
add edx, eax
mov eax, dword [ebp - 0x24]
cmp edx, eax
setge cl
cmp dword [ebp - 0x24], ecx
jge 0x10043da7
mov dword [ebp - 0x18], ebx
jmp 0x10043d93
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10043d90
call dword [sym.imp.KERNEL32.dll_GetTickCount]
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffffb
jne 0x10043d81
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x40], eax
jmp 0x10043dd8
mov dword [ebp - 0x34], ebx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], 0x1b
jne 0x10043dd8
push 3
pop eax
mov dword [ebp - 0x18], eax
jmp 0x10043dc9
cmp dword [ebp - 0x34], ebx
jne 0x10043dcf
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xd
jl 0x10043dc1
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x1b
je 0x10043dbc
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffed
push 1
pop ecx
jle 0x10043d43
inc dword [ebp - 0x24]
jne 0x10043d2c
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10043e02
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
xor eax, eax
mov dword [ebp - 0x1c], 0xa4f833fc
inc eax
lea ecx, [ebp - 0x36c]
push eax
call fcn.1002d70f
mov dword [ebp - 4], edi
xor edx, edx
push 0xfffffffffffffffa
pop eax
mov dword [ebp - 0x58], eax
inc edx
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x3c], 0xffff
mov dword [ebp - 0x18], ebx
jmp 0x10043e4a
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xb8], 0xa8e
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x10043e39
mov dword [ebp - 0x18], ebx
jmp 0x10043e67
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x36c]
mov dword [eax + ecx*4], 0xfffffff7
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x10043e54
mov dword [ebp - 0x1c], ebx
jmp 0x10043f2a
mov dword [ebp - 0x18], 0x77dd6887
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], ebx
jl 0x10043f27
mov dword [ebp - 0x24], 8
mov dword [ebp - 0x34], 0x11e043ee
mov dword [ebp - 0x2c], 0xc9f1
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], ebx
jg 0x10043ede
mov eax, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + eax*4 - 0xb8]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xb8]
cmp ecx, eax
mov eax, dword [ebp - 0x36c]
setl dl
mov dword [eax], edx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jle 0x10043ea4
xor edx, edx
inc edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + eax*4 - 0xb8]
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xb8], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x36c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0x1c], 6
jge 0x10043f19
mov eax, edx
cmp dword [ebp - 0x2c], ebx
jne 0x10043f1b
mov eax, ebx
mov dword [ebp - 0x24], eax
dec dword [ebp - 0x18]
jns 0x10043e87
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jle 0x10043e74
mov dword [ebp - 0x1c], ebx
jmp 0x10044007
mov dword [ebp - 0x24], 0xfffffffd
mov dword [ebp - 0x4c], 0x9909d073
mov dword [ebp - 0x4c], 0xfffffff9
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x4c], 0xfffffffd
mov dword [ebp - 0x4c], 0xfffffff7
mov dword [ebp - 0x4c], 0xfffffff6
mov dword [ebp - 0x24], ebx
jmp 0x10043fac
mov dword [ebp - 0x20], 0xd683a7ef
mov dword [ebp - 0x20], ebx
jmp 0x10043f8c
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x36c]
mov dword [eax + ecx*4], 0xe469209a
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jl 0x10043f79
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10043fa9
push ebx
push 0xe19
call dword [sym.imp.KERNEL32.dll_IsDBCSLeadByteEx]
xor edx, edx
inc edx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jle 0x10043f6d
mov dword [ebp - 0x24], ebx
jmp 0x10043ffc
push 3
pop eax
mov dword [ebp - 0x4c], 0xdd79339b
lea ecx, [ebp - 0x928]
mov dword [ebp - 0x4c], esi
push eax
call fcn.1002d70f
push 3
mov dword [ebp - 0x10], ebx
pop edx
jmp 0x10043fe6
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x928]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x10043fd7
inc dword [ebp - 0x3c]
lea ecx, [ebp - 0x928]
call fcn.1002d956
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jle 0x10043fb6
inc dword [ebp - 0x1c]
push 1
pop edx
cmp dword [ebp - 0x1c], ebx
jle 0x10043f3b
lea ecx, [ebp - 0x36c]
mov dword [ebp - 4], esi
call fcn.1002d956
mov eax, 0xa21e1d82
xor ecx, ecx
mov dword [ebp - 0x848], eax
inc ecx
mov dword [ebp - 0x844], eax
mov dword [ebp - 0x840], eax
mov dword [ebp - 0x83c], eax
mov dword [ebp - 0x30], 0xfffffffd
mov dword [ebp - 0x10], 0x87e3bc4a
mov dword [ebp - 0x5c0], esi
mov dword [ebp - 0x5bc], esi
mov dword [ebp - 0x5b8], esi
mov dword [ebp - 0x5b4], esi
mov dword [ebp - 0x20], 0xa151cd25
mov dword [ebp - 0x2c], 0xc0cb0a75
mov dword [ebp - 0x10], ebx
jmp 0x10044088
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xf0], 9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10044077
cmp dword [ebp - 0x30], ebx
je 0x100440bf
mov eax, dword [ebp - 0x30]
xor ecx, ecx
mov eax, dword [ebp - 0x30]
cmp eax, 0x67d9
setne cl
xor eax, eax
cmp ecx, 0xfffffffa
setg al
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jne 0x100440b5
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
dec eax
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0x30]
xor ecx, ecx
cmp eax, 0x36378284
mov eax, dword [ebp - 0x30]
setne cl
xor edx, edx
cmp ecx, eax
setge dl
sub edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
neg edx
sbb edx, edx
add edx, 2
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x30]
setne cl
xor edx, edx
sub ecx, eax
mov dword [ebp - 0x5b8], ecx
mov eax, dword [ebp - 0x30]
cmp eax, ecx
mov eax, dword [ebp - 0x30]
setl dl
xor ecx, ecx
cmp edx, eax
setle cl
add ecx, dword [ebp - 0x30]
jne 0x10044116
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
xor edx, edx
inc edx
mov ecx, edx
sub ecx, eax
cmp ecx, dword [ebp - 0x20]
jne 0x10044172
mov dword [ebp - 0x34], 0xac369029
mov dword [ebp - 0x2c], 2
mov dword [ebp - 0x3c], 0xf55f5dd
cmp dword [ebp - 0x34], 0x9191d4d0
sbb eax, eax
inc eax
cmp eax, edx
jle 0x1004414f
mov eax, ebx
cmp dword [ebp - 0x30], ebx
je 0x10044151
mov eax, edx
mov edx, dword [ebp - 0x34]
add edx, eax
neg edx
sub edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x3c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setne cl
mov dword [ebp - 0x3c], ecx
jmp 0x100442b2
mov dword [ebp - 0x38], 0xf00bb6e7
mov dword [ebp - 0x3c], 0xfa7f
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x20], 0xffffffee
jmp 0x100442a8
push 2
lea ecx, [ebp - 0x218]
call fcn.1002d70f
xor eax, eax
inc eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x10], ebx
jmp 0x100441b6
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x218]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x100441a7
mov dword [ebp - 0x30], 0x16
cmp dword [ebp - 0x30], edi
jge 0x1004429a
mov esi, dword [ebp - 0x218]
mov dword [ebp - 0x24], 0xfc6c064b
xor edx, edx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x38]
add ecx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0x218]
cmp ecx, dword [eax]
mov eax, dword [ebp - 0x24]
setl dl
xor ecx, ecx
cmp edx, eax
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x218]
setl cl
sub edx, ecx
xor ecx, ecx
cmp edx, dword [eax]
setne cl
mov dword [ebp - 0x5b8], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x218]
imul edx, dword [eax]
mov eax, dword [ebp - 0x38]
cmp eax, edx
setg cl
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x34]
cmp dword [esi + 4], eax
jg 0x1004424d
cmp dword [ebp - 0x30], ebx
je 0x1004424d
xor edx, edx
inc edx
mov ecx, edx
jmp 0x10044252
xor edx, edx
mov ecx, ebx
inc edx
mov eax, dword [ebp - 0x218]
sub ecx, dword [eax]
cmp ecx, dword [ebp - 0x3c]
jl 0x10044266
mov ecx, edx
cmp dword [ebp - 0x3c], ebx
jne 0x10044268
mov ecx, ebx
xor eax, eax
cmp dword [esi + 4], ecx
sete al
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0x24]
inc eax
neg eax
sbb eax, eax
add eax, 0xd1b1671f
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x40], eax
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], edi
jl 0x100441d2
or esi, 0xffffffff
lea ecx, [ebp - 0x218]
call fcn.1002d956
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x35
jle 0x1004418f
movdqa xmm0, xmmword [0x10008860]
lea ecx, [ebp - 0xa5c]
push ecx
lea eax, [ebp - 0xa4c]
push eax
push ecx
lea ecx, [ebp - 0x9c8]
movdqu xmmword [ebp - 0xa5c], xmm0
call fcn.1002d7c0
mov dword [ebp - 4], 5
xor ecx, ecx
mov dword [ebp - 0x1c], 0xfffffff8
inc ecx
mov dword [ebp - 0x4c], 0xac31e13c
mov dword [ebp - 0x10], ebx
jmp 0x1004430a
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xb0], 8
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x100442f9
mov dword [ebp - 0x1c], ebx
jmp 0x10044390
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x20], ebx
jmp 0x10044388
mov dword [ebp - 0x34], 0x91b4956e
xor ecx, ecx
mov dword [ebp - 0x2c], edi
mov eax, dword [ebp - 0x20]
cmp ecx, eax
sbb eax, eax
inc eax
cmp eax, 0xe5b1
mov eax, dword [ebp - 0x1c]
setl cl
xor edx, edx
cmp ecx, 0x790e8648
setle dl
xor ecx, ecx
sub edx, dword [ebp + eax*4 - 0xb0]
mov eax, dword [ebp - 0x1c]
cmp edx, 0x589f
setg cl
imul ecx, dword [ebp + eax*4 - 0xb0]
add ecx, dword [ebp - 0xb0]
mov dword [ebp - 0x34], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp + eax*4 - 0xb0]
mov eax, dword [ebp - 0x34]
test eax, eax
setle cl
add edx, ecx
mov dword [ebp - 0x2c], edx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jle 0x1004431c
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jle 0x10044314
mov dword [ebp - 0x1c], ebx
jmp 0x100443c9
mov dword [ebp - 0x20], 0xa1cf0415
mov dword [ebp - 0x20], 0x15
jmp 0x100443bd
mov dword [ebp - 0x2c], 0x1f0dfbc4
cmp dword [ebp - 0x2c], ebx
jne 0x100443c3
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xffffffe9
jl 0x100443ae
mov eax, dword [ebp - 0x20]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x1c
jle 0x1004439e
mov dword [ebp - 0x2c], 0x2598
mov edi, 0x100080f0
cmp dword [ebp - 0x2c], 0x468
jge 0x1004448a
lea eax, [ebp - 0x16c]
push eax
push edi
call fcn.1005b040
cmp dword [ebp - 0x16c], 0
mov eax, ebx
pop ecx
pop ecx
mov ecx, ebx
mov dword [ebp - 0x294], eax
mov edx, ebx
mov dword [ebp - 0x290], ecx
mov dword [ebp - 0x28c], edx
mov esi, ebx
mov dword [ebp - 0x144], ebx
jle 0x10044465
push 3
pop ebx
lea eax, [ebp - 0x144]
push eax
push edi
call fcn.1005b040
mov eax, esi
cdq
idiv ebx
mov eax, dword [ebp - 0x144]
pop ecx
pop ecx
lea ecx, [ebp - 0x294]
lea ecx, [ecx + edx*4]
add dword [ecx], eax
inc esi
cmp esi, dword [ebp - 0x16c]
jl 0x10044423
mov edx, dword [ebp - 0x28c]
xor ebx, ebx
mov ecx, dword [ebp - 0x290]
mov eax, dword [ebp - 0x294]
cmp eax, ecx
jle 0x10044474
cmp eax, edx
jle 0x10044474
push 0x10008708
jmp 0x10044484
cmp ecx, edx
jle 0x1004447f
push 0x10008710
jmp 0x10044484
push 0x10008718
call fcn.1005b488
pop ecx
movdqa xmm0, xmmword [0x100087f0]
lea ecx, [ebp - 0xa7c]
push 0xfffffffffffffff9
pop eax
mov dword [ebp - 0x10], 0x3948b081
mov dword [ebp - 0x420], eax
mov dword [ebp - 0x41c], eax
mov dword [ebp - 0x418], eax
mov dword [ebp - 0x414], eax
lea eax, [ebp - 0xa6c]
push ecx
push eax
push ecx
mov dword [ebp - 0x38], 0xdebf889e
lea ecx, [ebp - 0x984]
movdqu xmmword [ebp - 0xa7c], xmm0
call fcn.1002d7c0
mov byte [ebp - 4], 6
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x100444f0
call dword [sym.imp.KERNEL32.dll_SwitchToThread]
mov dword [ebp - 0x2c], 0x20b8
cmp dword [ebp - 0x2c], 0xc33
jge 0x1004457c
xor eax, eax
inc eax
mov byte [0x1180f800], al
mov byte [0x1180f801], al
call fcn.100436e8
lea eax, [ebp - 0x3dc]
mov ecx, 0x10663c90
push eax
call fcn.1002d0b9
mov edx, dword [ebp - 0x3dc]
push 2
pop esi
lea eax, [edx - 3]
cmp eax, esi
jle 0x1004457f
mov ecx, edx
sub ecx, eax
add ecx, 0x1180f800
cmp byte [ecx], 0
je 0x1004454b
cmp byte [eax + 0x1180f800], 0
jne 0x10044553
dec eax
inc ecx
cmp eax, esi
jg 0x1004453d
jmp 0x1004457f
sub edx, eax
push edx
push ecx
push eax
mov ecx, 0x10663bd8
call fcn.1002d4de
mov dl, 0x20
mov ecx, eax
call fcn.1003240d
pop ecx
mov ecx, eax
call fcn.1002d4de
push eax
call fcn.10031f18
pop ecx
jmp 0x1004457f
push 2
pop esi
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x41c]
sub edx, eax
mov eax, dword [ebp - 0x10]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setl cl
xor edx, edx
cmp ecx, 0xfdc8
setle dl
xor eax, eax
cmp edx, 0x6dd2cc91
setg al
cmp dword [ebp - 0x10], eax
je 0x100445b7
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x418]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x41c]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
mov eax, dword [ebp - 0x984]
mov byte [ebp - 4], 5
sete cl
add ecx, esi
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x984]
call fcn.1002d956
push 4
pop edi
mov dword [ebp - 0x30], 0xa60915bb
lea ecx, [ebp - 0x550]
push edi
call fcn.1002d70f
xor eax, eax
mov byte [ebp - 4], 7
inc eax
lea ecx, [ebp - 0x99c]
push eax
call fcn.1002d70f
mov byte [ebp - 4], 8
xor edx, edx
mov dword [ebp - 0x20], 0x8094a188
inc edx
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x10], ebx
jmp 0x10044648
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x99c]
mov dword [eax + ecx*4], 0x9f9b3198
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x10044635
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], ebx
jl 0x1004469f
mov dword [ebp - 0x4c], 0xfe5f36f6
lea ecx, [ebp - 0x940]
push esi
call fcn.1002d70f
mov dword [ebp - 0x34], 0x5fd0a320
mov dword [ebp - 0x10], ebx
jmp 0x10044687
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x940]
mov dword [eax + ecx*4], 0x34d00693
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10044674
dec dword [ebp - 0x34]
lea ecx, [ebp - 0x940]
call fcn.1002d956
dec dword [ebp - 0x20]
jns 0x10044655
lea ecx, [ebp - 0x99c]
mov byte [ebp - 4], 7
call fcn.1002d956
push 3
pop eax
mov dword [ebp - 0x24], 0x67e307b5
lea ecx, [ebp - 0x95c]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x34], 0xffff
push esi
call fcn.1002d70f
mov dword [ebp - 0x2c], 0xfffffffc
mov dword [ebp - 0x10], ebx
jmp 0x100446f0
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x95c]
mov dword [eax + ecx*4], 0xfffd
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x100446dd
mov ecx, 0xfe6d39c7
cmp dword [ebp - 0x24], ebx
jne 0x10044758
mov esi, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
neg esi
sbb esi, esi
neg esi
cmp ecx, eax
mov eax, dword [ebp - 0x18]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x24]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setl dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x24]
setg bl
xor ecx, ecx
cmp esi, eax
setne cl
xor eax, eax
cmp ecx, ebx
setl al
xor ebx, ebx
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
je 0x1004475f
cmp dword [ebp - 0x24], ebx
je 0x1004475f
xor edx, edx
inc edx
mov eax, edx
jmp 0x10044764
xor edx, edx
mov eax, ebx
inc edx
xor ecx, ecx
test eax, eax
sets cl
xor eax, eax
cmp ecx, 9
setne al
xor ecx, ecx
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x24], ebx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x20]
cmp eax, edx
setl cl
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 0x95c]
mov eax, dword [ebp - 0x20]
add eax, 9
mov dword [ebp - 0x2c], eax
call fcn.1002d956
mov dword [ebp - 0x1c], ebx
jmp 0x100447b3
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xb0c], 0xe6bacd79
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x100447a2
push 3
pop eax
push eax
lea ecx, [ebp - 0x654]
call fcn.1002d70f
xor eax, eax
mov byte [ebp - 4], 9
inc eax
lea ecx, [ebp - 0x520]
push eax
call fcn.1002d70f
mov dword [ebp - 0x34], ebx
xor edx, edx
mov dword [ebp - 0x2c], 0x29a275ff
inc edx
push 3
mov dword [ebp - 0x18], ebx
pop eax
cmp dword [ebp - 0x18], eax
jge 0x1004480a
push eax
pop ebx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x654]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x100447f4
xor ebx, ebx
mov dword [ebp - 0x18], ebx
jmp 0x10044822
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x520]
mov dword [eax + ecx*4], 0xd7d393e7
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1004480f
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1004483b
push ebx
push ebx
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
xor edx, edx
inc edx
mov esi, dword [ebp - 0x654]
mov edi, dword [ebp - 0x520]
cmp dword [esi + 8], 0x7b5b
jle 0x10044868
xor ecx, ecx
cmp dword [esi + 8], ecx
setne cl
xor eax, eax
cmp ecx, dword [edi]
setg al
imul eax, dword [edi]
test eax, eax
mov eax, edx
je 0x1004486a
mov eax, ebx
xor edx, edx
cmp eax, dword [edi]
mov eax, dword [ebp - 0x34]
setl dl
xor ecx, ecx
add edx, dword [edi]
cmp edx, eax
mov eax, dword [ebp - 0x34]
setne cl
xor edx, edx
cmp ecx, dword [esi + 8]
setne dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x520]
setle bl
xor ecx, ecx
sub ebx, 0x2f7c
cmp ebx, dword [eax]
setl cl
imul ecx, dword [esi + 8]
mov dword [ebp - 0x2c], ecx
lea ecx, [ebp - 0x520]
call fcn.1002d956
lea ecx, [ebp - 0x654]
mov byte [ebp - 4], 7
call fcn.1002d956
xor edi, edi
xor ecx, ecx
mov dword [ebp - 0x1c], edi
inc ecx
jmp 0x100448de
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x900], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x100448cd
movdqa xmm0, xmmword [0x10008850]
lea ecx, [ebp - 0xa9c]
push ecx
lea eax, [ebp - 0xa8c]
push eax
push ecx
lea ecx, [ebp - 0x66c]
movdqu xmmword [ebp - 0xa9c], xmm0
call fcn.1002d7c0
push 0xa
pop eax
mov byte [ebp - 4], al
xor ecx, ecx
mov esi, dword [ebp - 0x66c]
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x20], 0xbd3e018e
mov dword [ebp - 0x34], 0xa9a16d6a
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
mov edx, dword [esi + 8]
setge cl
mov dword [ebp - 0x24], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x24]
cmp eax, edx
setle cl
sub ecx, edx
cmp ecx, edx
je 0x10044952
mov eax, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x66c]
xor eax, eax
mov dword [ebp - 0x40], ebx
cmp dword [ebx + 4], edi
setne al
xor edx, edx
cmp eax, dword [esi + 8]
mov eax, dword [ebx]
setle dl
xor ecx, ecx
imul edx, dword [esi + 8]
neg eax
cmp eax, edx
setle cl
xor edx, edx
mov dword [ebp - 0x20], ecx
cmp dword [esi + 8], edx
jne 0x10044a21
xor edi, edi
mov dword [ebp - 0x3c], 0xffffffff
inc edi
xor ebx, ebx
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x34], 0xbe495ee3
mov dword [ebp - 0x20], ebx
jmp 0x10044a16
push 0xfffffffffffffffa
pop eax
mov dword [ebp - 0x20], eax
push 4
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x10], edx
pop ecx
jmp 0x10044a43