Function at 0x10023eb0
Capabilities:
Create thread
Get disk size
Get file attributes
Query environment variable

Disassembly:
mov eax, 0x1006bf0e
call fcn.1006b390
sub esp, 0x174
push ebx
xor ebx, ebx
mov byte [ebp - 0x39], dl
mov dword [ebp - 0x30], ebx
push esi
mov byte [ebp - 0x11], bl
mov esi, ecx
push edi
mov dword [ebp - 0x50], esi
cmp byte [ebp - 0x11], bl
je 0x10023ee0
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetCommState]
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x10023eef
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
xor edi, edi
mov dword [ebp - 0x10], 0x7e2799ac
inc edi
mov dword [ebp - 0x1c], edi
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x10023f1a
push ebx
push 0x2413
push 0x49c
push 0x5d3
call dword [sym.imp.GDI32.dll_GetCharABCWidthsFloatA]
mov dword [ebp - 0x10], 2
jmp 0x10023fdc
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x24], 0xfffffff8
mov dword [ebp - 0x24], 0x83ca3077
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x20], ebx
jne 0x10023f77
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
neg edx
sbb edx, edx
neg edx
sub edx, eax
mov eax, dword [ebp - 0x20]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setle cl
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov eax, dword [ebp - 0x10]
cmp eax, 0x420e
mov eax, dword [ebp - 0x1c]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setge dl
inc edx
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x2c], edx
xor edx, edx
cmp dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x20]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, 0xaee5119
setl cl
sub eax, ecx
add eax, dword [ebp - 0x1c]
shl eax, 2
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], ebx
jmp 0x10023fd3
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x22
jle 0x10023fca
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffe7
jg 0x10023f26
push 4
lea ecx, [ebp - 0x150]
call fcn.10020368
mov dword [ebp - 4], ebx
mov eax, 0xfffc
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x30], 0xc3825062
mov dword [ebp - 0x2c], 0xd926128f
mov dword [ebp - 0x40], 0xa83d87e3
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x114], eax
push 4
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x10], ebx
pop edx
jmp 0x1002404a
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x150]
mov dword [eax + ecx*4], 0xffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x10024037
mov dword [ebp - 0x10], ebx
jmp 0x10024061
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xa0], edi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x10024054
mov dword [ebp - 0x98], 3
cmp dword [ebp - 0x98], ebx
jl 0x1002411c
mov dword [ebp - 0x24], 0xfffffffb
lea ecx, [ebp - 0xd0]
push 2
call fcn.10020368
mov dword [ebp - 0x18], ebx
jmp 0x100240a8
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xd0]
mov dword [eax + ecx*4], 0xca70051e
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10024095
mov eax, dword [ebp - 0x98]
mov eax, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x40]
inc dword [ebp - 0x40]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
sub eax, 0x8b72
jne 0x100240da
mov eax, ebx
cmp dword [ebp - 0x2c], ebx
je 0x100240dc
mov eax, edi
neg eax
jne 0x100240ed
mov eax, dword [ebp - 0xd0]
cmp dword [eax + 4], ebx
mov eax, ebx
je 0x100240ef
mov eax, edi
mov dword [ebp - 0x118], eax
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10024105
push ebx
call dword [sym.imp.GDI32.dll_DeleteObject]
lea ecx, [ebp - 0xd0]
call fcn.100203ca
dec dword [ebp - 0x98]
jns 0x1002407c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x150]
call fcn.100203ca
mov eax, dword [0x100725fc]
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x10], edi
push edi
mov dword [ebp - 0x40], eax
call fcn.10020368
mov dword [ebp - 4], edi
lea eax, [ebp - 0x150]
push dword [ebp + 8]
movdqa xmm0, xmmword [0x10009220]
lea ecx, [ebp - 0x7c]
push eax
mov dword [ebp - 0x24], 0xd1d8475
lea eax, [ebp - 0x160]
mov dword [ebp - 0x24], 0x728ad64d
push eax
mov dword [ebp - 0x34], 0xfffffff7
mov dword [ebp - 0x28], 0x8036
mov dword [ebp - 0x1c], 3
push ebx
movdqu xmmword [ebp - 0x160], xmm0
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x74], ebx
call fcn.10023416
mov dword [ebp - 0x24], 0x2e0f6194
mov dword [ebp - 0x2c], 0xd8ac507b
mov dword [ebp - 0x18], ebx
jmp 0x100241c1
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x100]
mov dword [eax + ecx*4], 0xfffffff8
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x100241ae
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x100241d6
push ebx
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x100]
sub edx, 0xc0e0
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
mov dword [eax], edx
mov eax, dword [ebp - 0x10]
cmp edx, eax
sete cl
xor edx, edx
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setge dl
imul edx, eax
mov eax, dword [ebp - 0x7c]
mov dword [eax + 0xc], edx
mov dword [ebp - 0x24], edx
xor edx, edx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setle dl
sub edx, 0xf9af3922
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
imul edx, edx, 0xf12
sub edx, dword [ebp - 0x28]
sub edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x10]
cmp eax, edx
setne cl
mov dword [ebp - 0x2c], ecx
lea ecx, [ebp - 0x7c]
call fcn.100203ca
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x100]
call fcn.100203ca
mov edi, dword [ebp + 8]
mov eax, dword [ebp - 0x40]
mov dword [edi], ebx
mov dword [edi + 4], ebx
mov dword [edi + 8], ebx
mov dword [edi + 0xc], ebx
xor edi, edi
inc edi
cmp byte [ebp - 0x39], 0
je 0x1002465d
cmp eax, edi
jne 0x1002465d
push dword [ebp + 8]
movdqa xmm0, xmmword [0x100091f0]
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x170]
mov dword [ebp - 0x64], ebx
push eax
push ebx
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x60], ebx
movdqu xmmword [ebp - 0x170], xmm0
mov dword [ebp - 0x5c], ebx
call fcn.10023416
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x10], 0xffffffff
push 4
call fcn.10020368
mov byte [ebp - 4], 3
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x2c], 6
mov dword [ebp - 0x10], ebx
jmp 0x10024327
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x144], 0x709ba87a
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x10024316
mov dword [ebp - 0x10], ebx
jmp 0x10024342
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x88]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x10024332
mov dword [ebp - 0x10], ebx
jmp 0x1002435e
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xc4], 0x9034e105
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1002434d
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x20]
je 0x10024376
mov eax, dword [ebp - 0x64]
mov ecx, ebx
cmp dword [eax + 8], ebx
je 0x10024378
mov ecx, edi
mov eax, dword [ebp - 0x20]
sub ecx, eax
mov edi, dword [ebp - 0x64]
mov dword [ebp - 0x10], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x10]
cmp dword [edi + 4], eax
mov eax, dword [ebp - 0x64]
setge cl
xor edx, edx
mov dword [ebp - 0x13c], ecx
imul ecx, dword [eax + 0xc], 0xaea0
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x34], eax
mov dword [eax + 0xc], ecx
mov eax, dword [ebp - 0x20]
cmp ecx, eax
setne dl
xor ecx, ecx
sub edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp edx, eax
setne cl
mov dword [ebp - 0xc4], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x20]
cmp dword [edi + 4], 0xfffffffe
mov eax, dword [ebp - 0x20]
setg cl
xor edx, edx
cmp ecx, eax
setge dl
xor eax, eax
sub edx, dword [ebp - 0x20]
add edx, 2
cmp dword [edi + 4], edx
setge al
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], 3
cmp dword [ebp - 0x10], ebx
jl 0x100245d5
xor esi, esi
inc esi
push esi
lea ecx, [ebp - 0xf4]
call fcn.10020368
mov byte [ebp - 4], 4
mov dword [ebp - 0x1c], 0xffff
mov dword [ebp - 0x24], 0x7e3b5251
mov dword [ebp - 0x18], ebx
jmp 0x1002443d
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xf4]
mov dword [eax + ecx*4], 0xcd3e
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1002442a
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], 3
jg 0x100245ba
mov dword [ebp - 0x38], 0x1dbc46d7
lea ecx, [ebp - 0x10c]
push 3
call fcn.10020368
mov dword [ebp - 0x24], 6
mov dword [ebp - 0x2c], 0x1fbc
mov dword [ebp - 0x18], ebx
jmp 0x10024489
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10c]
mov dword [eax + ecx*4], 0xde30ea3b
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10024476
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x100244a4
push ebx
push 0x11f4
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ecx + edx*4]
jle 0x100244bf
mov eax, ebx
cmp dword [edi + 4], ebx
je 0x100244c1
mov eax, esi
push 7
pop ecx
cmp ecx, eax
mov eax, dword [ebp - 0x10c]
sbb ecx, ecx
xor edx, edx
neg ecx
mov dword [eax + 4], ecx
mov dword [ebp - 0x24], ecx
mov esi, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x24]
cmp eax, dword [ecx + 0xc]
mov eax, dword [ebp - 0x20]
setne dl
add edx, 0x130cc9d4
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x88]
setge cl
cmp ecx, 0xb93b5720
sbb ecx, ecx
inc ecx
add ecx, dword [eax + esi*4]
jne 0x10024513
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
mov esi, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x88]
mov edx, dword [ecx + eax*4]
mov eax, dword [ecx + esi*4]
add edx, 0xffffa051
neg edx
sbb edx, edx
inc eax
inc edx
add eax, edx
cmp eax, dword [ebp - 0x2c]
jg 0x1002454b
cmp dword [ebp - 0x28], ebx
jne 0x1002454b
mov eax, dword [ebp - 0xf4]
cmp dword [eax], ebx
jne 0x1002454b
mov esi, ebx
jmp 0x10024550
xor eax, eax
lea esi, [eax + 1]
inc dword [ebp - 0x38]
xor ecx, ecx
mov eax, dword [ebp - 0x38]
cmp esi, 0xffffffff
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xc0]
sete cl
sub ecx, eax
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x2c], ecx
xor ecx, ecx
cmp dword [eax + edx*4], ebx
mov eax, dword [ebp - 0x13c]
sete cl
add eax, dword [ebp - 0x2c]
imul ecx, eax
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x10]
imul ecx, dword [eax + 0xc], 0x5c7e
mov eax, dword [ebp - 0x64]
mov dword [eax + edx*4], ecx
lea ecx, [ebp - 0x10c]
call fcn.100203ca
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
push 1
pop esi
jle 0x1002444f
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 3
call fcn.100203ca
dec dword [ebp - 0x10]
jns 0x10024407
mov esi, dword [ebp - 0x50]
lea ecx, [ebp - 0x88]
call fcn.100203ca
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x64]
call fcn.100203ca
mov edi, dword [ebp + 8]
xor ecx, ecx
mov dword [ebp - 0x10], ebx
inc ecx
mov dword [edi + 8], 4
jmp 0x1002460c
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x4c], 0xd313dd33
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x100245fe
mov dword [ebp - 0x10], ebx
jmp 0x10024627
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x120], 0xd97a
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10024616
mov dword [ebp - 0x4c], 0x13
jmp 0x1002464a
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10024647
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], 0x15
jg 0x10024635
mov eax, dword [ebp - 0x40]
mov dword [edi + 0xc], 0x100725fc
xor edi, edi
inc edi
cmp esi, eax
jge 0x10024dd2
mov dword [ebp - 0x10], 0xe1757117
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x10], ebx
jmp 0x10024715
mov dword [ebp - 0x38], 0x468a07c6
lea ecx, [ebp - 0x12c]
push 4
call fcn.10020368
push 4
mov dword [ebp - 0x18], ebx
pop edx
jmp 0x100246a5
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x12c]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x10024696
cmp dword [ebp - 0x10], 0x64f1
jg 0x100246d3
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x38], 0x9695
mov eax, dword [ebp - 0x38]
imul eax, dword [ebp - 0x10]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
xor ecx, ecx
cmp eax, 0x8a01
setl cl
mov dword [ebp - 0x2c], ecx
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10024707
push 0x350
push 0x1fc1
push 0x158
push 0x233f
push ebx
call dword [sym.imp.USER32.dll_CheckMenuRadioItem]
lea ecx, [ebp - 0x12c]
call fcn.100203ca
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x1c
jg 0x1002467a
mov dword [ebp - 0x28], 0x59e57ad9
mov esi, 0x10072600
push 7
pop eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x24], 0x2a5bc422
mov dword [ebp - 0x44], 0x1b0cadfb
mov dword [ebp - 0x18], ebx
jmp 0x10024754
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x180], edi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x10024747
cmp dword [ebp - 0x28], ebx
jne 0x100247af
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x24], 0x2fe778a4
cmp dword [ebp - 0x24], ebx
je 0x10024778
mov edx, edi
cmp dword [ebp - 0x2c], ebx
jne 0x1002477a
mov edx, ebx
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setl cl
add ecx, dword [ebp - 0x28]
mov dword [ebp - 0x174], ecx
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x174], eax
mov eax, ebx
jge 0x100247b1
mov eax, edi
mov dword [ebp - 0x44], eax
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x100247c6
push ebx
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueW]
cmp dword [ebp - 0x50], 0
jle 0x10024b7a
jmp 0x100247d5
xor edi, edi
inc edi
mov dword [ebp - 0x28], 0xfffffff7
mov dword [ebp - 0x20], 0xfffffff6
mov dword [ebp - 0x10], 2
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x2c], 0xe60be628
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x48], 0xffffffff
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x48], 9
mov dword [ebp - 0x18], ebx
jmp 0x10024822
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x8c], edi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10024815
mov eax, dword [ebp - 0x28]
xor edx, edx
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setne dl
xor ecx, ecx
cmp eax, edx
setge cl
xor edx, edx
sub ecx, 4
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
setg dl
xor eax, eax
cmp edx, dword [ebp - 0x24]
setg al
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x28]
jl 0x10024949
mov dword [ebp - 0x24], 0xf0488f4f
mov dword [ebp - 0x1c], 0x7c6ae49a
mov dword [ebp - 0x30], 0x1465ee6d
mov dword [ebp - 0x30], 0x5a7dd9ae
mov dword [ebp - 0x30], 0xfffffffb
mov dword [ebp - 0x30], 0x7be74fd5
mov dword [ebp - 0x30], 0x5e19f8c5
mov dword [ebp - 0x34], 0xd2214c25
mov dword [ebp - 0x10], 0x17
jmp 0x10024937
push 2
lea ecx, [ebp - 0xdc]
call fcn.10020368
mov dword [ebp - 0x18], ebx
jmp 0x100248d7
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xdc]
mov dword [eax + ecx*4], 0xfffffff7
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x100248c4
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x100248f2
push ebx
push 0x22e7
call dword [sym.imp.USER32.dll_FlashWindow]
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x1c]
add ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0xdc]
setg dl
sub eax, edx
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x20], eax
call fcn.100203ca
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffff6
jg 0x100248b2
dec dword [ebp - 0x34]
jmp 0x10024ad2
mov dword [ebp - 0x34], 0xfffffffd
mov dword [ebp - 0x18], 0x72fee613
mov dword [ebp - 0x24], 5
mov dword [ebp - 0x58], 0x7236cf92
mov dword [ebp - 0x10], ebx
jmp 0x10024977
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x138], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x1002496a
mov dword [ebp - 0x10], 0xf
jmp 0x100249fd
mov dword [ebp - 0x58], 0xfffffff6
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], ebx
je 0x100249fa
mov dword [ebp - 0x18], 0xdd890aaf
mov edx, edi
mov dword [ebp - 0x38], ebx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x38], edi
cmp dword [ebp - 0x38], ebx
jne 0x100249b1
mov edx, ebx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x1c]
setge cl
xor edx, edx
cmp ecx, eax
setle dl
xor ecx, ecx
sub edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x18]
cmp edx, eax
setle cl
xor edx, edx
cmp ecx, edi
setg dl
add edx, 0xc6493c65
neg edx
sbb edx, edx
xor eax, eax
inc edx
cmp edx, 0x5889
setg al
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x1c]
jne 0x10024995
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffe8
jl 0x10024986
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x130], eax
mov edx, dword [ebp - 0x44]
neg edx
sub edx, dword [ebp - 0x138]
mov eax, dword [ebp - 0x18]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x18]
sete cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x48]
setge dl
sub edx, 0xfffe
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
mov eax, dword [ebp - 0x28]
setne cl
xor edx, edx
cmp ecx, eax
setge dl
xor ecx, ecx
sub edx, 0xff67
imul edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x34]
cmp edx, eax
setle cl
xor edx, edx
imul ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
cmp ecx, 0x62e5
setle dl
xor ecx, ecx
cmp edx, eax
setle cl
add ecx, dword [ebp - 0x24]
jne 0x10024a8b
mov ecx, ebx
cmp dword [ebp - 0x2c], ebx
je 0x10024a8d
mov ecx, edi
mov eax, dword [ebp - 0x44]
add eax, ecx
xor ecx, ecx
cmp eax, 0xae665256
setne cl
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], ebx
je 0x10024aa7
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x34]
xor ecx, ecx
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x24]
add eax, 0x43bc
imul eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
cmp eax, 0x21eb
setg cl
sub ecx, 0x2238685d
mov dword [ebp - 0x58], ecx
mov eax, dword [esi]
lea ecx, [ebp - 0xe8]
mov edi, dword [esi + 4]
push 2
mov dword [ebp - 0x30], eax
call fcn.10020368
mov dword [ebp - 0x1c], 0x638ecf54
mov dword [ebp - 0x1c], ebx
jmp 0x10024b06
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xe8]
mov dword [eax + ecx*4], 0x90da
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10024af3
xor edx, edx
inc edx
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], ebx
jl 0x10024b59
mov dword [ebp - 0x28], 0xfffffff9
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10024b36
push 0x1252
push ebx
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
xor edx, edx
inc edx
dec dword [ebp - 0x28]
mov dword [ebp - 0x28], ebx
jmp 0x10024b4f
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xe8]
cmp dword [eax + ecx*4], ebx
jne 0x10024b54
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edx
jle 0x10024b3e
dec dword [ebp - 0x1c]
jns 0x10024b17
lea ecx, [ebp - 0xe8]
call fcn.100203ca
add esi, 8
test edi, edi
jne 0x10024b6e
add esi, 8
add esi, dword [ebp - 0x30]
dec dword [ebp - 0x50]
jne 0x100247d2
mov edi, dword [esi]
xor edx, edx
mov dword [ebp - 0x30], 0x62fd41e5
inc edx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x30], 0xc62e0897
dec dword [ebp - 0x2c]
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10024bad
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
xor edx, edx
inc edx
mov eax, dword [esi + 4]
mov dword [ebp - 0x28], 0xa48bbca6
mov dword [ebp - 0xbc], edx
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0xb4], edx
mov dword [ebp - 0xb0], edx
push 3
mov dword [ebp - 0x24], 0xf23d
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x1c], ebx
pop ecx
jmp 0x10024bf2
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xac], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10024be1
mov dword [ebp - 0x28], ebx
jmp 0x10024cf5
mov dword [ebp - 0x18], 0xfffffffc
mov dword [ebp - 0x2c], 0xfffffffb
mov dword [ebp - 0x1c], ebx
jmp 0x10024c20
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x54], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x10024c12
cmp dword [ebp - 0x28], ebx
je 0x10024ccd
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x30], 0xfffffff6
mov dword [ebp - 0x30], 0x4f230135
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x30], 0x1dbcabeb
mov dword [ebp - 0x18], 0x18
cmp dword [ebp - 0x18], 0x17
jle 0x10024c77
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10024c6b
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x17
jg 0x10024c56
xor edx, edx
inc edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0xa8]
inc dword [ebp - 0xa8]
cmp ecx, eax
mov eax, edx
cmovg eax, ebx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
neg eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x44]
je 0x10024ca3
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x54]
cmp eax, dword [ebp - 0xbc]
je 0x10024cbb
mov ecx, edx
cmp dword [ebp - 0xbc], ebx
jne 0x10024cbd
mov ecx, ebx
xor eax, eax
cmp ecx, 0xfffffffc
push 3
setne al
mov dword [ebp - 0x30], eax
pop ecx
jmp 0x10024cf2
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x18], ebx
jmp 0x10024cea
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xac], 0x26af9031
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10024cd9
mov eax, dword [ebp - 0x30]
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0x17
je 0x10024bff
dec dword [ebp - 0x24]
cmp dword [ebp - 0x48], 0
jne 0x10024dd2
cmp byte [ebp - 0x39], 0
je 0x10024d20
cmp dword [ebp - 0x40], edx
jne 0x10024d20
mov ecx, dword [ebp + 8]
lea eax, [edi + 0x10]
add dword [ecx + 8], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x54], eax
mov eax, dword [esi + 0xc]
add esi, 0x10
push edi
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x48], esi
call fcn.1004fb50
pop ecx
mov dword [ebp - 0x2c], eax
lea ecx, [ebp - 0x70]
lea eax, [ebp - 0x90]
mov dword [ebp - 0x90], ebx
push eax
push edi
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x68], ebx
call fcn.10029103
mov ecx, ebx
test edi, edi
jle 0x10024db7
mov eax, ecx
and eax, 0x80000001
jns 0x10024d6f
dec eax
or eax, 0xfffffffe
inc eax
neg eax
sbb eax, eax
and eax, dword [ebp - 0x54]
add eax, ecx
add eax, dword [ebp - 0x54]
imul eax, dword [ebp - 0x30]
cdq
idiv edi
mov eax, dword [ebp - 0x70]
cmp word [eax + edx*2], bx
je 0x10024d9f
mov esi, eax
lea eax, [edx + 1]
cdq
idiv edi
cmp word [esi + edx*2], bx
jne 0x10024d8d
mov esi, dword [ebp - 0x48]
mov eax, dword [ebp - 0x70]
xor ebx, ebx
inc ebx
mov word [eax + edx*2], bx
mov al, byte [edx + esi]
mov edx, dword [ebp - 0x2c]
push 0
pop ebx
mov byte [ecx + edx], al
inc ecx
cmp ecx, edi
jl 0x10024d61
mov esi, dword [ebp + 8]
mov eax, dword [ebp - 0x2c]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x70]
mov dword [esi], edi
test eax, eax
je 0x10024dd5
push eax
call fcn.10054717
pop ecx
jmp 0x10024dd5
mov esi, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret