Function at 0x10018081
Capabilities:
Allocate thread local storage
Check os version
Enumerate gui resources
Extract resource via kernel32 functions
Get common file path
Get disk information
Get system information on windows
Log keystrokes via polling
Modify service
Parse pe header
Query environment variable
Read .ini file
Set registry value
Suspend thread
Terminate process

Disassembly:
mov eax, 0x10081fc0
call fcn.10080e58
mov eax, 0x1664
call fcn.1007d610
push ebx
xor eax, eax
mov byte [ebp - 0x65], dl
push esi
mov ebx, 0x24a8c6a5
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x24], ebx
mov esi, 0x9cb61d22
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 3
push edi
jle 0x100180df
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
imul eax, dword [ebp - 0x24]
push 0
mov dword [ebp - 0x3c], eax
imul eax, dword [ebp - 0x3c], 0xffff
mov dword [ebp - 0x30], eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
pop eax
jg 0x100180bc
mov edi, dword [sym.imp.USER32.dll_CharUpperW]
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x45], 0
je 0x100180f3
push eax
call edi
xor eax, eax
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 3
jle 0x10018128
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
imul eax, dword [ebp - 0x24]
push 0
mov dword [ebp - 0x3c], eax
imul eax, dword [ebp - 0x3c], 0xffff
mov dword [ebp - 0x30], eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
pop eax
jg 0x10018105
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x45], 0
je 0x10018134
push eax
call edi
push 2
pop ebx
or eax, 0xffffffff
lea ecx, [ebp - 0x7e0]
mov dword [ebp - 0x24], eax
push ebx
call fcn.10008f33
xor eax, eax
xor esi, esi
mov dword [ebp - 4], eax
inc esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x38], 0xbfe7374
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x1001817b
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xab0], 0xe2799ac7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10018163
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x100181a1
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x7e0]
call fcn.10008f7a
mov dword [eax], 0x6e74a6e8
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10018183
xor eax, eax
mov dword [ebp - 0x1c], eax
mov ecx, 0xbca3396d
cmp dword [ebp - 0x1c], 3
jge 0x100181c4
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1308], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x100181af
xor eax, eax
mov dword [ebp - 0x24], esi
push 4
pop ecx
cmp dword [ebp - 0x24], eax
jl 0x10018283
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x3c], ecx
lea ecx, [ebp - 0x7e0]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0xaac]
mov dword [ebp - 0x3c], 0xe0fc36fe
mov eax, dword [ebp - 0x3c]
push esi
call fcn.10008f7a
xor edx, edx
mov dword [eax], esi
mov dword [ebp - 0x3c], esi
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
cmp eax, 0x467bb1a8
setle dl
xor ecx, ecx
imul edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xaac]
cmp edx, eax
setg cl
cmp ecx, 0xa50b
jg 0x10018232
mov eax, dword [ebp - 0x50]
push esi
lea ecx, [ebp - 0x7e0]
call fcn.10008f7a
xor edx, edx
push esi
cmp dword [eax], 0x211
mov eax, dword [ebp - 0x50]
setne dl
xor ecx, ecx
cmp edx, eax
setge cl
sub ecx, dword [ebp - 0x24]
mov dword [ebp - 0x1300], ecx
lea ecx, [ebp - 0x7e0]
mov dword [ebp - 0x3c], 0x971cf71
call fcn.10008f7a
mov ecx, dword [ebp - 0x3c]
push 0
mov dword [eax], ecx
dec dword [ebp - 0x24]
pop eax
push 4
pop ecx
jns 0x100181d3
mov ebx, dword [sym.imp.KERNEL32.dll_SuspendThread]
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x45], 0
je 0x10018295
push eax
call ebx
or eax, 0xffffffff
lea ecx, [ebp - 0x7e0]
mov dword [ebp - 4], eax
call fcn.10008f75
mov dword [ebp - 0x28], 0xfffffffa
or eax, 0xffffffff
mov dword [ebp - 0x3c], 0xfffffffc
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x50], 0x9786
mov dword [ebp - 0x2c], eax
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x100182ec
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x7f4], 0xfbfc75da
xor eax, eax
inc dword [ebp - 0x10]
inc eax
cmp dword [ebp - 0x10], eax
jl 0x100182d1
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x10018302
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x204], 0xfda6c2e3
inc dword [ebp - 0x10]
xor eax, eax
inc eax
cmp dword [ebp - 0x10], eax
jl 0x100182f1
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
xor eax, eax
cmp dword [ebp - 0x24], eax
jne 0x1001834b
mov ecx, dword [ebp - 0x24]
xor edx, edx
mov eax, dword [ebp - 0x24]
sub ecx, 0x444b0a54
cmp ecx, eax
setne dl
xor ecx, ecx
cmp edx, 0xfff8
setne cl
xor eax, eax
xor edx, edx
inc edx
cmp ecx, edx
setle al
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x38], 0x7ddbf4df
mov ecx, dword [ebp - 0x38]
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp ecx, 0xfffffff8
mov dword [ebp - 0x7f4], ecx
setle al
add eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x28]
jl 0x10018385
xor eax, eax
cmp dword [ebp - 0x50], eax
jne 0x10018385
mov ecx, eax
jmp 0x1001838a
xor eax, eax
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x50]
xor esi, esi
sub ecx, eax
inc esi
mov dword [ebp - 0x204], ecx
xor edx, edx
mov dword [ebp - 0x3c], esi
mov eax, dword [ebp - 0x204]
imul ecx, eax, 0xffff
mov eax, dword [ebp - 0x3c]
cmp eax, ecx
setge dl
xor eax, eax
mov dword [ebp - 0x204], edx
mov dword [ebp - 0x24], 0x24a8c6a5
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], 0x9cb61d22
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 3
jle 0x100183f6
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
imul eax, dword [ebp - 0x24]
push 0
mov dword [ebp - 0x3c], eax
imul eax, dword [ebp - 0x3c], 0xffff
mov dword [ebp - 0x30], eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
pop eax
jg 0x100183d3
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x45], 0
je 0x10018402
push eax
call edi
push 3
lea ecx, [ebp - 0x398]
call fcn.10008f33
mov dword [ebp - 4], esi
xor eax, eax
mov dword [ebp - 0x34], 0x39beb064
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x10018443
push dword [ebp - 0x10]
lea ecx, [ebp - 0x398]
call fcn.10008f7a
mov dword [eax], 0xbbca6318
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x10018424
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x10018465
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xeb0], 0xfffffffa
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1001844c
xor eax, eax
mov dword [ebp - 0x34], eax
jmp 0x1001850d
push dword [ebp - 0x34]
call fcn.10008f7a
push dword [ebp - 0x34]
lea ecx, [ebp - 0x398]
mov esi, eax
call fcn.10008f7a
mov ecx, dword [eax]
mov eax, dword [ebp - 0x34]
push dword [ebp - 0x34]
mov dword [esi], ecx
lea ecx, [ebp - 0x398]
call fcn.10008f7a
mov ecx, dword [ebp - 0x34]
cmp dword [eax], ecx
jle 0x100184a4
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x398]
push dword [ebp - 0x34]
call fcn.10008f7a
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x398]
push dword [ebp - 0x34]
call fcn.10008f7a
xor esi, esi
cmp dword [eax], esi
jne 0x100184e3
push dword [ebp - 0x34]
lea ecx, [ebp - 0x398]
call fcn.10008f7a
cmp dword [eax], esi
jne 0x100184e3
xor eax, eax
inc esi
jmp 0x100184e8
xor esi, esi
inc esi
mov eax, esi
mov dword [ebp - 0xeac], eax
xor eax, eax
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x45], al
je 0x1001850a
push 0x102b
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindow]
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 2
lea ecx, [ebp - 0x398]
jle 0x1001846d
or eax, 0xffffffff
mov dword [ebp - 4], eax
call fcn.10008f75
or eax, 0xffffffff
lea ecx, [ebp - 0x78c]
mov dword [ebp - 0x24], eax
push 2
call fcn.10008f33
push 2
pop ecx
mov dword [ebp - 4], ecx
xor eax, eax
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x38], 0xbfe7374
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x1001856d
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xad0], 0xe2799ac7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10018555
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x10018594
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x78c]
call fcn.10008f7a
mov dword [eax], 0x6e74a6e8
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10018575
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x100185b6
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1410], 0xbca3396d
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1001859d
xor eax, eax
mov dword [ebp - 0x24], esi
cmp dword [ebp - 0x24], eax
jl 0x10018673
mov dword [ebp - 0x3c], eax
lea ecx, [ebp - 0x78c]
mov dword [ebp - 0x3c], 4
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0xacc]
mov dword [ebp - 0x3c], 0xe0fc36fe
mov eax, dword [ebp - 0x3c]
push esi
call fcn.10008f7a
xor edx, edx
mov dword [eax], esi
mov dword [ebp - 0x3c], esi
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
cmp eax, 0x467bb1a8
setle dl
xor ecx, ecx
imul edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xacc]
cmp edx, eax
setg cl
cmp ecx, 0xa50b
jg 0x10018625
mov eax, dword [ebp - 0x50]
push esi
lea ecx, [ebp - 0x78c]
call fcn.10008f7a
xor edx, edx
push esi
cmp dword [eax], 0x211
mov eax, dword [ebp - 0x50]
setne dl
xor ecx, ecx
cmp edx, eax
setge cl
sub ecx, dword [ebp - 0x24]
mov dword [ebp - 0x1408], ecx
lea ecx, [ebp - 0x78c]
mov dword [ebp - 0x3c], 0x971cf71
call fcn.10008f7a
mov ecx, dword [ebp - 0x3c]
push 0
mov dword [eax], ecx
dec dword [ebp - 0x24]
pop eax
jns 0x100185c2
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x45], 0
je 0x1001867f
push eax
call ebx
or ebx, 0xffffffff
lea ecx, [ebp - 0x78c]
mov dword [ebp - 4], ebx
call fcn.10008f75
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x24], 0xfffffffa
cmp dword [ebp - 0x24], 0xffffffe8
jge 0x100186ee
mov dword [ebp - 0x30], 0xab27
xor eax, eax
mov dword [ebp - 0x58], 0x58bfc4f2
mov dword [ebp - 0x3c], 0x5362
cmp dword [ebp - 0x30], eax
je 0x100186cd
cmp dword [ebp - 0x24], 0xd208
jne 0x100186cd
lea edx, [eax + 1]
jmp 0x100186cf
mov edx, eax
inc dword [ebp - 0x3c]
xor ecx, ecx
mov eax, dword [ebp - 0x3c]
cmp edx, eax
setge cl
add ecx, dword [ebp - 0x44]
mov dword [ebp - 0x58], ecx
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xffffffe8
jl 0x100186a3
xor esi, esi
inc esi
xor eax, eax
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x45], al
je 0x100186ff
push eax
call dword [sym.imp.GDI32.dll_CreatePatternBrush]
mov dword [ebp - 0x20], 0x5dae5a60
mov ecx, 0xffffadaa
mov dword [ebp - 0x24], 0xfa8f90a3
mov dword [ebp - 0x38], 0x140de197
mov dword [ebp - 0x30], 0x22c08f49
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], esi
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
sub ecx, eax
add ecx, dword [ebp - 0x24]
cmp ecx, 0xa329ef4a
jne 0x1001885b
push 3
pop ebx
push ebx
lea ecx, [ebp - 0x504]
call fcn.10008f33
mov dword [ebp - 4], ebx
or eax, 0xffffffff
mov dword [ebp - 0x38], 0xb5ea28c7
mov dword [ebp - 0x30], eax
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x1001878d
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x504]
call fcn.10008f7a
mov dword [eax], 0xfffa
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1001876f
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x100187ad
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x13c8], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10018795
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x100187c3
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1000], 0x6552ded1
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x100187b2
push esi
lea ecx, [ebp - 0x504]
call fcn.10008f7a
mov eax, dword [eax]
dec eax
je 0x1001880a
push esi
lea ecx, [ebp - 0x504]
call fcn.10008f7a
cmp dword [eax], 0
je 0x10018802
xor eax, eax
lea ecx, [ebp - 0x504]
push eax
call fcn.10008f7a
cmp dword [eax], 0
je 0x10018802
mov eax, esi
jmp 0x10018804
xor eax, eax
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
push 2
lea ecx, [ebp - 0x504]
call fcn.10008f7a
mov ecx, dword [ebp - 0x20]
sub ecx, 0xffff
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
imul ecx, dword [eax]
mov eax, dword [ebp - 0x24]
cmp ecx, 9
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x30]
setl cl
xor edx, edx
cmp ecx, eax
lea ecx, [ebp - 0x504]
setl dl
mov dword [ebp - 0x13c0], edx
mov dword [ebp - 0x1000], edx
jmp 0x10018954
push 2
lea ecx, [ebp - 0x330]
call fcn.10008f33
push 4
pop eax
mov dword [ebp - 4], eax
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x10018888
push dword [ebp - 0x14]
lea ecx, [ebp - 0x330]
call fcn.10008f7a
mov dword [eax], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10018875
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
xor eax, eax
cmp dword [ebp - 0x24], eax
jne 0x100188d0
push esi
lea ecx, [ebp - 0x330]
call fcn.10008f7a
xor ebx, ebx
lea ecx, [ebp - 0x330]
push esi
cmp dword [eax], ebx
setle bl
call fcn.10008f7a
xor ecx, ecx
cmp ebx, dword [eax]
setge cl
cmp ecx, 0x61a7160c
jle 0x100188d0
xor eax, eax
mov esi, eax
inc eax
jmp 0x100188d5
xor eax, eax
inc eax
mov esi, eax
push eax
lea ecx, [ebp - 0x330]
call fcn.10008f7a
mov ecx, dword [ebp - 0x38]
xor edx, edx
cmp esi, ecx
lea ecx, [ebp - 0x330]
setle dl
xor ebx, ebx
cmp edx, dword [eax]
setl bl
xor eax, eax
push eax
call fcn.10008f7a
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [ebp - 0x20]
setge dl
xor ecx, ecx
neg edx
cmp edx, eax
setg cl
cmp ecx, dword [ebp - 0x38]
jl 0x10018933
xor eax, eax
lea ecx, [ebp - 0x330]
inc eax
push eax
call fcn.10008f7a
cmp dword [eax], 0
je 0x10018933
xor eax, eax
inc eax
mov esi, eax
jmp 0x10018938
xor eax, eax
mov esi, eax
inc eax
push eax
lea ecx, [ebp - 0x330]
call fcn.10008f7a
xor ecx, ecx
cmp dword [eax], esi
setne cl
mov dword [ebp - 0x30], ecx
lea ecx, [ebp - 0x330]
or esi, 0xffffffff
mov dword [ebp - 4], esi
call fcn.10008f75
push 4
pop eax
mov dword [ebp - 0x24], 0x24a8c6a5
mov dword [ebp - 0x10], eax
xor eax, eax
inc eax
push 0xfffffffffffffffb
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x30], esi
pop ecx
mov dword [ebp - 0x10], 7
cmp dword [ebp - 0x10], 0xffffffef
push 0xfffffffffffffff6
pop ebx
jne 0x10018a2f
xor eax, eax
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0xffffffe8
jne 0x10018a22
mov dword [ebp - 0x30], 0x2fdc
xor edx, edx
mov dword [ebp - 0x14], 0xdb959c45
xor ecx, ecx
mov dword [ebp - 0x44], 0xffff
inc edx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x28]
cmp eax, edx
setg cl
xor edx, edx
imul eax, ecx, 0xc23e
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
setge dl
xor eax, eax
cmp edx, dword [ebp - 0x10]
jl 0x100189eb
cmp dword [ebp - 0x10], eax
jne 0x100189f0
cmp dword [ebp - 0x3c], eax
je 0x100189f7
xor eax, eax
lea ecx, [eax + 1]
jmp 0x100189f9
mov ecx, eax
mov eax, ebx
sub eax, ecx
jne 0x10018a02
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
xor eax, eax
inc eax
mov dword [ebp - 0x44], eax
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xffffffe8
je 0x100189a1
push 0xfffffffffffffffb
xor eax, eax
pop ecx
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffef
je 0x1001898e
xor eax, eax
cmp dword [ebp - 0x10], eax
jne 0x10018a48
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x10], eax
xor eax, eax
cmp dword [ebp - 0x10], eax
jne 0x10018a48
xor ebx, ebx
inc ebx
jmp 0x10018a4d
xor ebx, ebx
inc ebx
mov eax, ebx
mov dword [ebp - 0x30], eax
lea ecx, [ebp - 0x950]
xor eax, eax
mov dword [ebp - 0x30], eax
push 2
call fcn.10008f33
mov dword [ebp - 4], 5
xor eax, eax
mov dword [ebp - 0x34], 0x9bdba76a
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x10018a99
push dword [ebp - 0x14]
lea ecx, [ebp - 0x950]
call fcn.10008f7a
mov dword [eax], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10018a7e
xor eax, eax
mov dword [ebp - 0x34], ebx
cmp dword [ebp - 0x34], eax
jl 0x10018bd5
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x3c], 0x58528353
mov dword [ebp - 0x20], 0x6bc22736
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], eax
jl 0x10018bc9
mov dword [ebp - 0x24], 9
lea ecx, [ebp - 0x950]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x3c], 0x24ce5545
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x34]
mov esi, dword [ebp - 0x3c]
neg esi
sbb esi, esi
xor eax, eax
push eax
neg esi
call fcn.10008f7a
mov ecx, dword [ebp - 0x34]
lea edx, [esi - 4]
xor ebx, ebx
cmp edx, ecx
setle bl
sub ebx, dword [eax]
mov eax, dword [ebp - 0x24]
neg ebx
sbb ebx, ebx
inc ebx
add eax, ebx
sub eax, dword [ebp - 0x10]
neg eax
sbb eax, eax
xor ebx, ebx
inc eax
inc ebx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x20], eax
xor eax, eax
mov dword [ebp - 0x40], ebx
cmp dword [ebp - 0x40], eax
jl 0x10018bbe
jmp 0x10018b32
xor eax, eax
mov dword [ebp - 0x28], 0x4ba928f0
lea ecx, [ebp - 0x950]
push eax
call fcn.10008f7a
cmp dword [ebp - 0x28], 0xfff6
mov esi, eax
mov ecx, dword [ebp - 0x24]
sbb edx, edx
xor eax, eax
inc edx
cmp edx, ecx
mov ecx, dword [ebp - 0x40]
setge al
xor edx, edx
cmp eax, ecx
setl dl
xor eax, eax
add edx, dword [esi]
sub edx, dword [ebp - 0x24]
cmp edx, 0xda73
setg al
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0x20], eax
jmp 0x10018bb0
mov dword [ebp - 0x30], 0x8f28
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], ebx
jg 0x10018bad
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x45], 0
je 0x10018b9f
push eax
push eax
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov eax, dword [ebp - 0x30]
inc dword [ebp - 0x28]
push 0
pop eax
cmp dword [ebp - 0x28], ebx
jle 0x10018b8e
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jle 0x10018b7f
dec dword [ebp - 0x40]
jns 0x10018b30
dec dword [ebp - 0x10]
jns 0x10018ac2
xor eax, eax
dec dword [ebp - 0x34]
jns 0x10018aa5
or esi, 0xffffffff
lea ecx, [ebp - 0x950]
mov dword [ebp - 4], esi
call fcn.10008f75
mov dword [ebp - 0x2c], 0x9cb61d22
xor eax, eax
mov dword [ebp - 0x10], 0x99841b3c
inc eax
mov dword [ebp - 0x2c], 0x9b2e4145
mov dword [ebp - 0x30], 2
mov dword [ebp - 0x38], 0xc5ebb4ee
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], 0xffffffe7
cmp dword [ebp - 0x10], 0xffffffe4
push 0xfffffffffffffffe
pop ecx
jg 0x10018dc3
push 3
xor eax, eax
pop ebx
mov dword [ebp - 0xcf0], ecx
mov dword [ebp - 0xcec], ecx
mov dword [ebp - 0xce8], ecx
mov dword [ebp - 0xce4], ecx
mov dword [ebp - 0x24], 0xe814b733
mov dword [ebp - 0x2c], 0xfffffff6
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
jg 0x10018db0
push 2
lea ecx, [ebp - 0x8b4]
call fcn.10008f33
xor eax, eax
mov dword [ebp - 4], 6
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], ebx
jge 0x10018c8d
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x818], 4
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], ebx
jl 0x10018c75
xor eax, eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 2
jge 0x10018cb5
push dword [ebp - 0x34]
lea ecx, [ebp - 0x8b4]
call fcn.10008f7a
mov dword [eax], 0xf2fdad5
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 2
jl 0x10018c96
xor eax, eax
mov dword [ebp - 0x814], eax
cmp dword [ebp - 0x814], ebx
jg 0x10018d81
mov dword [ebp - 0x2c], 0xed065768
mov dword [ebp - 0x14], eax
jmp 0x10018ce0
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1010], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10018cd3
mov eax, dword [ebp - 0x24]
cmp dword [ebp + eax*4 - 0xcf0], 0
je 0x10018df6
mov dword [ebp - 0x38], esi
xor eax, eax
dec dword [ebp - 0x38]
je 0x10018d0e
cmp dword [ebp - 0x1010], eax
je 0x10018d0e
inc eax
mov esi, eax
jmp 0x10018d13
mov esi, eax
xor eax, eax
inc eax
cmp dword [ebp - 0x10], 0x4392f209
jle 0x10018d34
push eax
lea ecx, [ebp - 0x8b4]
call fcn.10008f7a
cmp dword [eax], 0
jne 0x10018d34
xor eax, eax
mov edi, eax
inc eax
jmp 0x10018d39
xor eax, eax
inc eax
mov edi, eax
push eax
lea ecx, [ebp - 0x8b4]
call fcn.10008f7a
sub esi, edi
mov dword [eax], esi
xor eax, eax
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x45], al
je 0x10018d69
push eax
push 0x1dcc
push 0x1b86
push 0x5d4
call dword [sym.imp.KERNEL32.dll_RaiseException]
or esi, 0xffffffff
inc dword [ebp - 0x814]
push 0
pop eax
cmp dword [ebp - 0x814], ebx
jle 0x10018cc7
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x45], 0
je 0x10018d91
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea ecx, [ebp - 0x8b4]
mov dword [ebp - 4], esi
call fcn.10008f75
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jle 0x10018c57
push 0xfffffffffffffffe
xor eax, eax
pop ecx
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffe4
jle 0x10018c25
mov edi, dword [sym.imp.USER32.dll_CharUpperW]
mov dword [ebp - 0x10], 0xfffffff9
cmp dword [ebp - 0x10], 0xfffffff7
jle 0x10018ebe
mov dword [ebp - 0x20], 0x5a91
xor eax, eax
mov dword [ebp - 0x44], 0x8a9a2627
cmp dword [ebp - 0x30], eax
jne 0x10018e16
cmp dword [ebp - 0x10], 0xad47
jle 0x10018e16
mov esi, eax
jmp 0x10018e1b
xor eax, eax
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x45], al
je 0x10018d6c
push eax
push 0xaba
push eax
call dword [sym.imp.GDI32.dll_GetRegionData]
jmp 0x10018d6c
xor eax, eax
lea esi, [eax + 1]
mov ecx, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x20]
cmp ecx, eax
setl dl
sub esi, edx
mov edx, 0xb6749efe
sub esi, dword [ebp - 0x10]
neg esi
sbb esi, esi
add esi, 3
cmp esi, 0x8c8a251a
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 7
setne cl
xor esi, esi
inc esi
cmp ecx, esi
sbb eax, eax
neg eax
sub edx, eax
sub edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setl cl
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x20]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
mov eax, dword [ebp - 0x20]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setg dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x20]
setge bl
xor ecx, ecx
cmp ebx, eax
setge cl
cmp ecx, 0xffff
je 0x10018eaa
xor eax, eax
cmp dword [ebp - 0x20], eax
je 0x10018eac
mov eax, esi
mov dword [ebp - 0x44], eax
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffff7
jg 0x10018dd4
jmp 0x10018ec1
xor esi, esi
inc esi
xor eax, eax
or ebx, 0xffffffff
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 3
jle 0x100190b7
mov dword [ebp - 0x20], 0x5d6c05ba
mov dword [ebp - 0x20], 0xffffffea
cmp dword [ebp - 0x20], 0xfffffffd
jg 0x10018fe5
push esi
lea ecx, [ebp - 0x428]
call fcn.10008f33
mov dword [ebp - 4], 7
xor eax, eax
mov dword [ebp - 0x38], 0x46b43d27
mov dword [ebp - 0x30], 0xfffffffa
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x10018f3a
push dword [ebp - 0x14]
lea ecx, [ebp - 0x428]
call fcn.10008f7a
mov dword [eax], 0xfffffffb
xor eax, eax
inc dword [ebp - 0x14]
inc eax
cmp dword [ebp - 0x14], eax
jl 0x10018f16
xor esi, esi
xor eax, eax
inc esi
push eax
lea ecx, [ebp - 0x428]
call fcn.10008f7a
cmp dword [eax], 0
je 0x10018f59
xor eax, eax
lea ecx, [ebp - 0x428]
push eax
call fcn.10008f7a
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x428]
xor eax, eax
push eax
call fcn.10008f7a
xor eax, eax
lea ecx, [ebp - 0x428]
push eax
call fcn.10008f7a
mov ecx, dword [ebp - 0x20]
xor edx, edx
inc ecx
cmp ecx, dword [eax]
setge dl
xor eax, eax
cmp edx, 0x7d7c118
je 0x10018f94
cmp dword [ebp - 0x20], eax
jne 0x10018f94
mov esi, eax
push eax
lea ecx, [ebp - 0x428]
call fcn.10008f7a
xor ecx, ecx
cmp esi, dword [eax]
setl cl
xor eax, eax
cmp ecx, 0x891c
setle al
xor edx, edx
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
lea ecx, [ebp - 0x428]
setne dl
mov dword [ebp - 0x30], edx
mov dword [ebp - 4], ebx
call fcn.10008f75
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfffffffd
push 1
pop esi
jle 0x10018eeb
xor eax, eax
mov dword [ebp - 0x3c], eax
lea ecx, [ebp - 0xef0]
mov dword [ebp - 0x2c], 0x207
xor eax, eax
mov dword [ebp - 0x2c], 0x81c2900
inc eax
mov dword [ebp - 0x2c], 0x37d8e6e8
mov dword [ebp - 0x2c], 0x51c76d7b
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x2c], 0xabe8f210
mov dword [ebp - 0x2c], 0x678dc2a8
push eax
call fcn.10008f33
push 8
pop eax
mov dword [ebp - 4], eax
xor esi, esi
xor eax, eax
inc esi
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x10019061
push dword [ebp - 0x10]
lea ecx, [ebp - 0xef0]
call fcn.10008f7a
mov dword [eax], 0x43b2b74c
xor eax, eax
inc dword [ebp - 0x10]
inc eax
cmp dword [ebp - 0x10], eax
jl 0x1001903d
xor esi, esi
xor eax, eax
inc esi
push 4
mov dword [ebp - 0x10], eax
pop ecx
jmp 0x1001907a
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1124], 0x139
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10019069
dec dword [ebp - 0x1120]
lea ecx, [ebp - 0xef0]
mov dword [ebp - 4], ebx
call fcn.10008f75
mov eax, dword [ebp - 0x3c]
imul eax, dword [ebp - 0x24]
push 0
mov dword [ebp - 0x3c], eax
imul eax, dword [ebp - 0x3c], 0xffff
mov dword [ebp - 0x30], eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
pop eax
jg 0x10018ed3
mov dword [ebp - 0x28], 0xfffffffa
mov dword [ebp - 0x3c], 0xfffffffc
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x50], 0x9786
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x100190f8
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x80c], 0xfbfc75da
xor eax, eax
inc dword [ebp - 0x10]
inc eax
cmp dword [ebp - 0x10], eax
jl 0x100190dd
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x1001910e
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1e8], 0xfda6c2e3
inc dword [ebp - 0x10]
xor eax, eax
inc eax
cmp dword [ebp - 0x10], eax
jl 0x100190fd
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
xor eax, eax
cmp dword [ebp - 0x24], eax
jne 0x10019157
mov ecx, dword [ebp - 0x24]
xor edx, edx
mov eax, dword [ebp - 0x24]
sub ecx, 0x444b0a54
cmp ecx, eax
setne dl
xor ecx, ecx
cmp edx, 0xfff8
setne cl
xor eax, eax
xor edx, edx
inc edx
cmp ecx, edx
setle al
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x38], 0x7ddbf4df
mov ecx, dword [ebp - 0x38]
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp ecx, 0xfffffff8
mov dword [ebp - 0x80c], ecx
setle al
add eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x28]
jl 0x10019191
xor eax, eax
cmp dword [ebp - 0x50], eax
jne 0x10019191
mov ecx, eax
jmp 0x10019196
xor eax, eax
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x50]
xor ebx, ebx
sub ecx, eax
inc ebx
mov dword [ebp - 0x1e8], ecx
xor edx, edx
mov dword [ebp - 0x3c], ebx
mov eax, dword [ebp - 0x1e8]
imul ecx, eax, 0xffff
mov eax, dword [ebp - 0x3c]
cmp eax, ecx
setge dl
or eax, 0xffffffff
mov dword [ebp - 0x1e8], edx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x14], 0xffffffee
cmp dword [ebp - 0x14], 0xfffffffc
jne 0x100191f3
xor eax, eax
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x45], 0
je 0x100191ea
push eax
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
xor eax, eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffffc
je 0x100191d8
xor eax, eax
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x45], al
je 0x10019205
call dword [sym.imp.KERNEL32.dll_GetVersion]
xor eax, eax
mov byte [ebp - 0x15], al
or edx, 0xffffffff
mov dword [ebp - 0x1c], 0x1c29000d
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x14], 0xc0351a93
mov dword [ebp - 0x30], 0x5de23ede
push 3
mov dword [ebp - 0x44], 0x6138f517
mov dword [ebp - 0x14], eax
pop esi
jmp 0x1001923f
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1338], edx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10019232
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
setge cl
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
neg eax
cmp dword [ebp - 0x1c], eax
jne 0x100194ba
mov dword [ebp - 0x10], edx
xor eax, eax
mov dword [ebp - 0x40], 0x182bc92c
mov dword [ebp - 0x14], eax
jmp 0x10019297
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x7d0], 0x9a115ea9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10019286
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
push 7
mov dword [ebp - 0x28], eax
xor eax, eax
pop ecx
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], 0xffffffed
jne 0x100194d2
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x58], 0xc2f3d1a1
mov dword [ebp - 0x28], 0xffffffed
cmp dword [ebp - 0x28], 0xfffffff3
je 0x10019382
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0xd50], ecx
mov dword [ebp - 0xd4c], ecx
mov dword [ebp - 0xd48], ecx
mov dword [ebp - 0xd44], ecx
dec dword [ebp - 0x10]
je 0x10019350
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
setg dl
imul eax, edx, 0xffff
test eax, eax
jne 0x1001932f
cmp dword [ebp - 0x24], eax
je 0x10019331
lea ecx, [eax + 1]
jmp 0x10019333
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x10]
add eax, ecx
xor ecx, ecx
cmp eax, 0xfffffff8
setge cl
xor eax, eax
sub ecx, 0x24cacc50
cmp ecx, dword [ebp - 0x3c]
lea ecx, [eax + 1]
jge 0x10019352
mov ecx, eax
mov eax, dword [ebp - 0x3c]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x40]
push 0
setne dl
xor ecx, ecx
cmp edx, eax
pop eax
setl cl
mov dword [ebp - 0xd4c], ecx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xfffffff3
push 7
pop ecx
jne 0x100192d9
xor ebx, ebx
inc ebx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0x18
jg 0x100194a8
mov dword [ebp - 0x20], ebx
xor edx, edx
mov ecx, dword [ebp - 0x7d0]
mov eax, dword [ebp - 0x24]
cmp eax, ecx
setl dl
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x40]
sub eax, 0x21e12261
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 0xfffffffa
mov eax, 0x9d24
setle cl
sub eax, ecx
cmp eax, 0xc3bc3458
jb 0x100193ee
xor eax, eax
cmp dword [ebp - 0x20], eax
jne 0x100193ee
mov ecx, eax
jmp 0x100193f3
xor eax, eax
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x20]
sub ecx, eax
xor eax, eax
cmp ecx, dword [ebp - 0x1c]
je 0x1001940c
cmp dword [ebp - 0x7d0], eax
je 0x1001940c
lea ecx, [eax + 1]
jmp 0x1001940e
mov ecx, eax
mov eax, dword [ebp - 0x10]
xor edx, edx
add eax, ecx
mov ecx, 0x6f11
shl eax, 3
sub ecx, eax
mov eax, dword [ebp - 0x1334]
cmp ecx, eax
setge dl
imul eax, edx, 0x332c
sub eax, dword [ebp - 0x20]
neg eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x10]
jge 0x10019440
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x24]
xor edx, edx
cmp eax, 0x92326dce
setg dl
xor ecx, ecx
add edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x44]
cmp edx, eax
setne cl
imul ecx, dword [ebp - 0x20]
cmp ecx, 0xb38f
jg 0x10019471
xor eax, eax
cmp dword [ebp - 0x28], eax
jne 0x10019471
mov ecx, eax
jmp 0x10019476
xor eax, eax
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x20]
dec eax
add eax, ecx
jne 0x10019488
cmp dword [ebp - 0x28], eax
jne 0x10019488
xor ebx, ebx
inc ebx
jmp 0x1001948d
xor ebx, ebx
inc ebx
mov eax, ebx
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x7d0]
mov dword [ebp - 0x28], eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x18
jle 0x1001938f
xor eax, eax
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffed
push 7
pop ecx
je 0x100192bb
jmp 0x100194d0
xor eax, eax
mov byte [ebp - 0x45], al
cmp byte [ebp - 0x45], al
je 0x100194d2
push eax
push 0x93a
call dword [sym.imp.KERNEL32.dll_GetCPInfo]
xor eax, eax
cmp byte [ebp - 0x15], 0
je 0x10019729
mov dword [ebp - 0x10], 0x7ddc85f7
mov dword [ebp - 0x3c], 9
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xfffffffc
jl 0x10019726
push ebx
lea ecx, [ebp - 0x140]
call fcn.10008f33
mov dword [ebp - 4], 9
xor eax, eax
mov dword [ebp - 0x14], 0x8fb6f85a
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x1001953e
push dword [ebp - 0x14]
lea ecx, [ebp - 0x140]
call fcn.10008f7a
or ecx, 0xffffffff
mov dword [eax], ecx
xor eax, eax
inc dword [ebp - 0x14]
inc eax
cmp dword [ebp - 0x14], eax
jl 0x1001951e
xor eax, eax
cmp dword [ebp - 0x10], eax
je 0x100195ad
push eax
lea ecx, [ebp - 0x140]
call fcn.10008f7a
xor eax, eax
lea ecx, [ebp - 0x140]
push eax
call fcn.10008f7a
mov ecx, dword [ebp - 0x10]
xor ebx, ebx
sub ecx, 0x1914cc5d
cmp ecx, dword [eax]
lea ecx, [ebp - 0x140]
setg bl
xor eax, eax
push eax
call fcn.10008f7a
mov ecx, dword [ebp - 0x10]
xor edx, edx
cmp ecx, ebx
setg dl
xor ecx, ecx
cmp edx, dword [eax]
setne cl
xor eax, eax
cmp ecx, 0xcbedfa90
mov ecx, dword [ebp - 0x10]
setne al
xor edx, edx
imul ecx, eax
lea eax, [edx + 1]
sub eax, ecx
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
lea eax, [edx + 1]
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x140]
xor eax, eax
push eax
call fcn.10008f7a
mov esi, dword [ebp - 0x14]
lea ecx, [ebp - 0x140]
sub esi, 0xf1a0
neg esi
sbb esi, esi
inc esi
imul esi, dword [eax]
xor eax, eax
push eax
call fcn.10008f7a
mov edx, dword [ebp - 0x10]
xor ebx, ebx
mov ecx, dword [ebp - 0x10]
imul edx, esi
cmp edx, ecx
lea ecx, [ebp - 0x140]
setne bl
sub ebx, dword [ebp - 0x10]
imul ebx, dword [eax]
xor eax, eax
push eax
call fcn.10008f7a
mov edx, dword [ebp - 0x10]
sub edx, ebx
neg edx
sbb edx, edx
xor ecx, ecx
add edx, 0xf4a901e9
cmp edx, dword [eax]
mov eax, dword [ebp - 0x10]
setg cl
imul eax, ecx
cmp eax, dword [ebp - 0x10]
jle 0x1001962e
xor eax, eax
cmp dword [ebp - 0x3c], eax
jne 0x1001962e
xor esi, esi
inc esi
jmp 0x10019633
xor esi, esi
inc esi
mov eax, esi
xor ebx, ebx
lea ecx, [ebp - 0x140]
cmp eax, 0xfffffff8
sete bl
sub ebx, 0x9e8b
neg ebx
sbb ebx, ebx
xor eax, eax
push eax
inc ebx
call fcn.10008f7a
cmp ebx, dword [eax]
je 0x100196cd
xor eax, eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x1001967f
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x10dc], 0xfffffffa
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10019666
xor eax, eax
push eax
lea ecx, [ebp - 0x140]
call fcn.10008f7a
xor eax, eax
lea ecx, [ebp - 0x140]
push eax
call fcn.10008f7a
mov ecx, dword [ebp - 0x20]
xor ebx, ebx
cmp ecx, dword [eax]
mov eax, dword [ebp - 0x10d8]
setge bl
xor ecx, ecx
cmp eax, esi
mov eax, dword [ebp - 0x10dc]
setg cl
xor edx, edx
cmp ecx, ebx
setg dl
sub eax, edx
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
xor eax, eax
inc eax
mov dword [ebp - 0x14], eax
jmp 0x10019700
xor eax, eax
mov dword [ebp - 0x20], eax
jmp 0x100196fb
push dword [ebp - 0x20]
lea ecx, [ebp - 0x140]
call fcn.10008f7a
push dword [ebp - 0x20]
lea ecx, [ebp - 0x140]
mov esi, eax
call fcn.10008f7a
mov ecx, dword [esi]
mov dword [eax], ecx
inc dword [ebp - 0x20]
xor eax, eax
cmp dword [ebp - 0x20], eax
jle 0x100196d4
or eax, 0xffffffff
lea ecx, [ebp - 0x140]
mov dword [ebp - 4], eax
call fcn.10008f75
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffffc
push 1
pop ebx
jge 0x100194fa
push 3
xor eax, eax
pop esi
push eax
call edi
push esi
lea ecx, [ebp - 0x3b0]
call fcn.10008f33
mov dword [ebp - 4], 0xa
xor eax, eax
mov dword [ebp - 0x34], 0x39beb064
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x1001976b
push dword [ebp - 0x10]
lea ecx, [ebp - 0x3b0]
call fcn.10008f7a
mov dword [eax], 0xbbca6318
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1001974d
xor eax, eax
push 2
mov dword [ebp - 0x10], eax
pop edi
cmp dword [ebp - 0x10], edi
jge 0x1001978e
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1020], 0xfffffffa
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x10019776
xor eax, eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], edi
jg 0x1001984c
push dword [ebp - 0x34]
lea ecx, [ebp - 0x3b0]
call fcn.10008f7a
push dword [ebp - 0x34]
lea ecx, [ebp - 0x3b0]
mov esi, eax
call fcn.10008f7a
mov ecx, dword [eax]
mov eax, dword [ebp - 0x34]
push dword [ebp - 0x34]
mov dword [esi], ecx
lea ecx, [ebp - 0x3b0]
call fcn.10008f7a
mov ecx, dword [ebp - 0x34]
cmp dword [eax], ecx
jle 0x100197d7
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x3b0]
push dword [ebp - 0x34]
call fcn.10008f7a
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x3b0]
push dword [ebp - 0x34]
call fcn.10008f7a
xor ebx, ebx
cmp dword [eax], ebx
jne 0x10019816
push dword [ebp - 0x34]
lea ecx, [ebp - 0x3b0]
call fcn.10008f7a
cmp dword [eax], ebx
jne 0x10019816
xor eax, eax
inc ebx
jmp 0x1001981b
xor ebx, ebx
inc ebx
mov eax, ebx
mov dword [ebp - 0x101c], eax
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], al
je 0x1001983d
push 0x102b
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindow]
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], edi
jle 0x1001979a
push 3
pop esi
or eax, 0xffffffff
lea ecx, [ebp - 0x3b0]
mov dword [ebp - 4], eax
call fcn.10008f75
mov dword [ebp - 0x20], 0x5dae5a60
mov ecx, 0xffffadaa
mov dword [ebp - 0x24], 0xfa8f90a3
mov dword [ebp - 0x38], 0x140de197
mov dword [ebp - 0x30], 0x22c08f49
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], ebx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
sub ecx, eax
add ecx, dword [ebp - 0x24]
cmp ecx, 0xa329ef4a
jne 0x100199c3
push esi
lea ecx, [ebp - 0x660]
call fcn.10008f33
mov dword [ebp - 4], 0xb
or eax, 0xffffffff
mov dword [ebp - 0x38], 0xb5ea28c7
mov dword [ebp - 0x30], eax
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x100198ec
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x660]
call fcn.10008f7a
mov dword [eax], 0xfffa
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x100198ce
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x1001990c
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1440], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x100198f4
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x10019922
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xf88], 0x6552ded1
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x10019911
push ebx
lea ecx, [ebp - 0x660]
call fcn.10008f7a
mov eax, dword [eax]
dec eax
je 0x10019968
push ebx
lea ecx, [ebp - 0x660]
call fcn.10008f7a
cmp dword [eax], 0
je 0x10019960
xor eax, eax
lea ecx, [ebp - 0x660]
push eax
call fcn.10008f7a
cmp dword [eax], 0
je 0x10019960
mov eax, ebx
jmp 0x10019962
xor eax, eax
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
push edi
lea ecx, [ebp - 0x660]
call fcn.10008f7a
mov ecx, dword [ebp - 0x20]
sub ecx, 0xffff
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
imul ecx, dword [eax]
mov eax, dword [ebp - 0x24]
cmp ecx, 9
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x30]
setl cl
xor edx, edx
cmp ecx, eax
lea ecx, [ebp - 0x660]
setl dl
or eax, 0xffffffff
mov dword [ebp - 0x1438], edx
mov dword [ebp - 0xf88], edx
mov dword [ebp - 4], eax
call fcn.10008f75
jmp 0x10019acf
push edi
lea ecx, [ebp - 0x348]
call fcn.10008f33
xor eax, eax
mov dword [ebp - 4], 0xc
mov dword [ebp - 0x14], eax
jmp 0x100199f0
push dword [ebp - 0x14]
lea ecx, [ebp - 0x348]
call fcn.10008f7a
mov dword [eax], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x100199dd
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
xor eax, eax
cmp dword [ebp - 0x24], eax
jne 0x10019a3a
push ebx
lea ecx, [ebp - 0x348]
call fcn.10008f7a
xor ebx, ebx
lea ecx, [ebp - 0x348]
cmp dword [eax], ebx
setle bl
xor eax, eax
inc eax
push eax
call fcn.10008f7a
xor ecx, ecx
cmp ebx, dword [eax]
setge cl
cmp ecx, 0x61a7160c
jle 0x10019a3a
xor eax, eax
mov esi, eax
inc eax
jmp 0x10019a3f
xor eax, eax
inc eax
mov esi, eax
push eax
lea ecx, [ebp - 0x348]
call fcn.10008f7a
mov ecx, dword [ebp - 0x38]
xor edx, edx
cmp esi, ecx
lea ecx, [ebp - 0x348]
setle dl
xor ebx, ebx
cmp edx, dword [eax]
setl bl
xor eax, eax
push eax
call fcn.10008f7a
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [ebp - 0x20]
setge dl
xor ecx, ecx
neg edx
cmp edx, eax
setg cl
cmp ecx, dword [ebp - 0x38]
jl 0x10019a9d
xor eax, eax
lea ecx, [ebp - 0x348]
inc eax
push eax
call fcn.10008f7a
cmp dword [eax], 0
je 0x10019a9d
xor eax, eax
inc eax
mov esi, eax
jmp 0x10019aa2
xor eax, eax
mov esi, eax
inc eax
push eax
lea ecx, [ebp - 0x348]
call fcn.10008f7a
xor ecx, ecx
cmp dword [eax], esi
setne cl
or eax, 0xffffffff
mov dword [ebp - 0x30], ecx
lea ecx, [ebp - 0x348]
mov dword [ebp - 4], eax
call fcn.10008f75
xor ebx, ebx
push 3
inc ebx
pop esi
or eax, 0xffffffff
lea ecx, [ebp - 0x79c]
mov dword [ebp - 0x24], eax
push edi
call fcn.10008f33
mov dword [ebp - 4], 0xd
xor eax, eax
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x38], 0xbfe7374
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edi
jge 0x10019b14
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xa90], 0xe2799ac7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x10019afc
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edi
jge 0x10019b3a
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x79c]
call fcn.10008f7a
mov dword [eax], 0x6e74a6e8
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x10019b1c
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x10019b5a
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1350], 0xbca3396d
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10019b42
xor eax, eax
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], eax
jl 0x10019c17
mov dword [ebp - 0x3c], eax
lea ecx, [ebp - 0x79c]
mov dword [ebp - 0x3c], 4
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0xa8c]
mov dword [ebp - 0x3c], 0xe0fc36fe
mov eax, dword [ebp - 0x3c]
push ebx
call fcn.10008f7a
xor edx, edx
mov dword [eax], ebx
mov dword [ebp - 0x3c], ebx
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
cmp eax, 0x467bb1a8
setle dl
xor ecx, ecx
imul edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xa8c]
cmp edx, eax
setg cl
cmp ecx, 0xa50b
jg 0x10019bc9
mov eax, dword [ebp - 0x50]
push ebx
lea ecx, [ebp - 0x79c]
call fcn.10008f7a
xor edx, edx
push ebx
cmp dword [eax], 0x211
mov eax, dword [ebp - 0x50]
setne dl
xor ecx, ecx
cmp edx, eax
setge cl
sub ecx, dword [ebp - 0x24]
mov dword [ebp - 0x1348], ecx
lea ecx, [ebp - 0x79c]
mov dword [ebp - 0x3c], 0x971cf71
call fcn.10008f7a
mov ecx, dword [ebp - 0x3c]
push 0
mov dword [eax], ecx
dec dword [ebp - 0x24]
pop eax
jns 0x10019b66
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x10019c27
push eax
call dword [sym.imp.KERNEL32.dll_SuspendThread]
or eax, 0xffffffff
lea ecx, [ebp - 0x79c]
mov dword [ebp - 4], eax
call fcn.10008f75
push esi
lea ecx, [ebp - 0x3c8]
call fcn.10008f33
mov dword [ebp - 4], 0xe
xor eax, eax
mov dword [ebp - 0x34], 0x39beb064
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x10019c7a
push dword [ebp - 0x10]
lea ecx, [ebp - 0x3c8]
call fcn.10008f7a
mov dword [eax], 0xbbca6318
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10019c5c
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edi
jge 0x10019c9a
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1008], 0xfffffffa
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x10019c82
xor eax, eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], edi
jg 0x10019d58
push dword [ebp - 0x34]
lea ecx, [ebp - 0x3c8]
call fcn.10008f7a
push dword [ebp - 0x34]
lea ecx, [ebp - 0x3c8]
mov esi, eax
call fcn.10008f7a
mov ecx, dword [eax]
mov eax, dword [ebp - 0x34]
push dword [ebp - 0x34]
mov dword [esi], ecx
lea ecx, [ebp - 0x3c8]
call fcn.10008f7a
mov ecx, dword [ebp - 0x34]
cmp dword [eax], ecx
jle 0x10019ce3
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x3c8]
push dword [ebp - 0x34]
call fcn.10008f7a
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x3c8]
push dword [ebp - 0x34]
call fcn.10008f7a
xor ebx, ebx
cmp dword [eax], ebx
jne 0x10019d22
push dword [ebp - 0x34]
lea ecx, [ebp - 0x3c8]
call fcn.10008f7a
cmp dword [eax], ebx
jne 0x10019d22
xor eax, eax
inc ebx
jmp 0x10019d27
xor ebx, ebx
inc ebx
mov eax, ebx
mov dword [ebp - 0x1004], eax
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], al
je 0x10019d49
push 0x102b
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindow]
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], edi
jle 0x10019ca6
push 3
pop esi
or edi, 0xffffffff
lea ecx, [ebp - 0x3c8]
mov dword [ebp - 4], edi
call fcn.10008f75
mov dword [ebp - 0x10], edi
lea ecx, [ebp - 0x170]
push esi
call fcn.10008f33
mov dword [ebp - 4], 0xf
xor eax, eax
mov dword [ebp - 0x34], 0xe9f21c9b
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x10019dae
push dword [ebp - 0x14]
lea ecx, [ebp - 0x170]
call fcn.10008f7a
mov dword [eax], 0x2b994b74
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10019d90
xor eax, eax
cmp dword [ebp - 0x10], 0xc0351a93
jae 0x10019dbc
cmp dword [ebp - 0x10], eax
je 0x10019dbe
mov eax, ebx
cmp eax, 4
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, 0x59b504db
setl cl
xor eax, eax
cmp dword [ebp - 0x10], ecx
jg 0x10019ddd
mov edi, eax
cmp dword [ebp - 0x10], eax
je 0x10019ddf
mov edi, ebx
push eax
lea ecx, [ebp - 0x170]
call fcn.10008f7a
mov edx, dword [ebp - 0x10]
mov esi, eax
add edx, edi
neg edx
push 0xfffffffffffffffb
sbb edx, edx
xor ecx, ecx
inc edx
add edx, dword [ebp - 0x10]
cmp edx, 0x9d43
pop eax
setge cl
cmp eax, ecx
lea ecx, [ebp - 0x170]
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x10]
neg eax
sbb eax, eax
inc eax
neg eax
mov dword [esi], eax
mov eax, dword [ebp - 0x10]
xor eax, eax
push eax
call fcn.10008f7a
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [ebp - 0x10]
sete dl
xor ecx, ecx
cmp eax, edx
setg cl
neg ecx
mov dword [ebp - 0x34], ecx
je 0x10019f91
push ebx
lea ecx, [ebp - 0xa34]
call fcn.10008f33
xor eax, eax
mov byte [ebp - 4], 0x10
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x10019e81
push dword [ebp - 0x14]
lea ecx, [ebp - 0xa34]
call fcn.10008f7a
mov dword [eax], 9
xor eax, eax
inc dword [ebp - 0x14]
inc eax
cmp dword [ebp - 0x14], eax
jl 0x10019e60
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x10019f71
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x34], 2
cmp dword [ebp - 0x34], eax
jl 0x10019f6e
or ecx, 0xffffffff
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x10019ec4
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xde0], 0xfffffffc
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10019eab
xor eax, eax
push eax
lea ecx, [ebp - 0xa34]
call fcn.10008f7a
mov eax, dword [eax]
mov dword [ebp - 0xddc], eax
test eax, eax
jne 0x10019ee5
cmp dword [ebp - 0x30], eax
jne 0x10019ee5
mov edi, eax
jmp 0x10019eea
xor eax, eax
lea edi, [eax + 1]
push dword [ebp - 0x34]
lea ecx, [ebp - 0x170]
call fcn.10008f7a
push dword [ebp - 0x34]
lea ecx, [ebp - 0x170]
mov esi, dword [eax]
add esi, edi
call fcn.10008f7a
push dword [ebp - 0x34]
lea ecx, [ebp - 0x170]
mov dword [eax], esi
call fcn.10008f7a
cmp dword [eax], 0
je 0x10019f2d
push dword [ebp - 0x34]
lea ecx, [ebp - 0x170]
call fcn.10008f7a
push dword [ebp - 0x34]
lea ecx, [ebp - 0x170]
call fcn.10008f7a
lea ecx, [ebp - 0xa34]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
xor eax, eax
push eax
call fcn.10008f7a
mov esi, eax
lea ecx, [ebp - 0x170]
xor eax, eax
push eax
call fcn.10008f7a
mov ecx, dword [esi]
push 0
mov dword [eax], ecx
dec dword [ebp - 0x34]
pop eax
jns 0x10019e9c
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x1a
je 0x10019e89
lea ecx, [ebp - 0xa34]
call fcn.10008f75
xor ebx, ebx
push 2
inc ebx
pop edi
jmp 0x1001a058
push 3
lea ecx, [ebp - 0x51c]
call fcn.10008f33
mov byte [ebp - 4], 0x11
xor eax, eax
mov dword [ebp - 0x38], 0x15e3087c
mov dword [ebp - 0x14], eax
jmp 0x10019fc1
push dword [ebp - 0x14]
call fcn.10008f7a
mov dword [eax], 0xfffffffe
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
lea ecx, [ebp - 0x51c]
jl 0x10019fb0
push 2
pop edi
push edi
call fcn.10008f7a
push edi
lea ecx, [ebp - 0x170]
call fcn.10008f7a
push ebx
lea ecx, [ebp - 0x170]
mov esi, eax
call fcn.10008f7a
push edi
mov ecx, dword [eax]
mov dword [esi], ecx
lea ecx, [ebp - 0x51c]
call fcn.10008f7a
push ebx
lea ecx, [ebp - 0x51c]
mov esi, eax
call fcn.10008f7a
mov ecx, dword [esi]
xor edx, edx
cmp ecx, dword [eax]
setg dl
xor eax, eax
mov dword [ebp - 0x38], edx
cmp dword [ebp - 0x38], eax
je 0x1001a02e
cmp dword [ebp - 0x10], eax
je 0x1001a02e
xor ebx, ebx
lea esi, [eax + 1]
inc ebx
jmp 0x1001a030
mov esi, eax
push edi
lea ecx, [ebp - 0x51c]
call fcn.10008f7a
xor edx, edx
cmp esi, ebx
setle dl
xor ecx, ecx
cmp edx, dword [eax]
setl cl
mov dword [ebp - 0x34], ecx
lea ecx, [ebp - 0x51c]
call fcn.10008f75
or eax, 0xffffffff
lea ecx, [ebp - 0x170]
mov dword [ebp - 4], eax
call fcn.10008f75
mov dword [ebp - 0x20], 0x5dae5a60
mov ecx, 0xffffadaa
mov dword [ebp - 0x24], 0xfa8f90a3
mov dword [ebp - 0x38], 0x140de197
mov dword [ebp - 0x30], 0x22c08f49
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], ebx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
sub ecx, eax
add ecx, dword [ebp - 0x24]
cmp ecx, 0xa329ef4a
jne 0x1001a1d2
push 3
pop esi
push esi
lea ecx, [ebp - 0x60c]
call fcn.10008f33
mov dword [ebp - 4], 0x12
or eax, 0xffffffff
mov dword [ebp - 0x38], 0xb5ea28c7
mov dword [ebp - 0x30], eax
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x1001a0fb
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x60c]
call fcn.10008f7a
mov dword [eax], 0xfffa
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1001a0dd
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x1001a11b
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x13e0], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1001a103
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x1001a131
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x10e4], 0x6552ded1
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1001a120
push ebx
lea ecx, [ebp - 0x60c]
call fcn.10008f7a
mov eax, dword [eax]
dec eax
je 0x1001a177
push ebx
lea ecx, [ebp - 0x60c]
call fcn.10008f7a
cmp dword [eax], 0
je 0x1001a16f
xor eax, eax
lea ecx, [ebp - 0x60c]
push eax
call fcn.10008f7a
cmp dword [eax], 0
je 0x1001a16f
mov eax, ebx
jmp 0x1001a171
xor eax, eax
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
push edi
lea ecx, [ebp - 0x60c]
call fcn.10008f7a
mov ecx, dword [ebp - 0x20]
sub ecx, 0xffff
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
imul ecx, dword [eax]
mov eax, dword [ebp - 0x24]
cmp ecx, 9
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x30]
setl cl
xor edx, edx
cmp ecx, eax
lea ecx, [ebp - 0x60c]
setl dl
or eax, 0xffffffff
mov dword [ebp - 0x13d8], edx
mov dword [ebp - 0x10e4], edx
mov dword [ebp - 4], eax
call fcn.10008f75
jmp 0x1001a2db
push edi
lea ecx, [ebp - 0x360]
call fcn.10008f33
xor eax, eax
mov dword [ebp - 4], 0x13
mov dword [ebp - 0x14], eax
jmp 0x1001a1ff
push dword [ebp - 0x14]
lea ecx, [ebp - 0x360]
call fcn.10008f7a
mov dword [eax], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1001a1ec
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
xor eax, eax
cmp dword [ebp - 0x24], eax
jne 0x1001a249
push ebx
lea ecx, [ebp - 0x360]
call fcn.10008f7a
xor ebx, ebx
lea ecx, [ebp - 0x360]
cmp dword [eax], ebx
setle bl
xor eax, eax
inc eax
push eax
call fcn.10008f7a
xor ecx, ecx
cmp ebx, dword [eax]
setge cl
cmp ecx, 0x61a7160c
jle 0x1001a249
xor eax, eax
mov esi, eax
inc eax
jmp 0x1001a24e
xor eax, eax
inc eax
mov esi, eax
push eax
lea ecx, [ebp - 0x360]
call fcn.10008f7a
mov ecx, dword [ebp - 0x38]
xor edx, edx
cmp esi, ecx
lea ecx, [ebp - 0x360]
setle dl
xor ebx, ebx
cmp edx, dword [eax]
setl bl
xor eax, eax
push eax
call fcn.10008f7a
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [ebp - 0x20]
setge dl
xor ecx, ecx
neg edx
cmp edx, eax
setg cl
cmp ecx, dword [ebp - 0x38]
jl 0x1001a2ac
xor eax, eax
lea ecx, [ebp - 0x360]
inc eax
push eax
call fcn.10008f7a
cmp dword [eax], 0
je 0x1001a2ac
xor eax, eax
inc eax
mov esi, eax
jmp 0x1001a2b1
xor eax, eax
mov esi, eax
inc eax
push eax
lea ecx, [ebp - 0x360]
call fcn.10008f7a
xor ecx, ecx
cmp dword [eax], esi
setne cl
or eax, 0xffffffff
mov dword [ebp - 0x30], ecx
lea ecx, [ebp - 0x360]
mov dword [ebp - 4], eax
call fcn.10008f75
xor ebx, ebx
inc ebx
mov dword [ebp - 0x30], 0x5b8b78a
or eax, 0xffffffff
mov dword [ebp - 0x2c], eax
xor eax, eax
mov dword [ebp - 0x38], 0x68fab8d2
mov dword [ebp - 0x38], 0x874acc01
mov dword [ebp - 0x44], 0x84818a88
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x1001a322
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x780], 0xb15a8df0
xor eax, eax
inc dword [ebp - 0x14]
inc eax
cmp dword [ebp - 0x14], eax
jl 0x1001a307
xor eax, eax
mov dword [ebp - 0x780], eax
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
sub eax, 0x210cbedf
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0x3da550e8
jle 0x1001a34a
xor eax, eax
cmp dword [ebp - 0x30], eax
jne 0x1001a34a
mov ecx, eax
jmp 0x1001a34f
xor eax, eax
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x44]
sub ecx, eax
je 0x1001a360
xor eax, eax
mov dword [ebp - 0x38], eax
inc dword [ebp - 0x38]
jmp 0x1001a372
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], al
je 0x1001a372
push eax
push eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push edi
lea ecx, [ebp - 0x158]
call fcn.10008f33
lea eax, [ebp - 0x11f4]
mov dword [ebp - 4], 0x14
movdqa xmm0, xmmword [0x10007d10]
lea ecx, [ebp - 0x150c]
push eax
lea eax, [ebp - 0x1204]
push eax
movdqu xmmword [ebp - 0x1204], xmm0
call fcn.10014b5a
lea ecx, [ebp - 0x1e2]
mov esi, eax
call fcn.10009065
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x1b8]
push dword [esi]
call fcn.10014b34
push 3
xor edi, edi
mov byte [ebp - 4], 0x15
pop esi
inc edi
lea ecx, [ebp - 0xbb8]
mov dword [ebp - 0x20], edi
push esi
call fcn.10008f33
mov byte [ebp - 4], 0x16
xor eax, eax
mov dword [ebp - 0x38], 0xfff6
push 2
mov dword [ebp - 0x1c], eax
pop ebx
cmp dword [ebp - 0x1c], ebx
jge 0x1001a417
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x158]
call fcn.10008f7a
mov dword [eax], edi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1001a3fd
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edi
jge 0x1001a43d
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x218], 0xe5885267
xor eax, eax
inc dword [ebp - 0x1c]
inc eax
cmp dword [ebp - 0x1c], eax
jl 0x1001a41f
xor edi, edi
xor eax, eax
inc edi
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x1001a463
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xbb8]
call fcn.10008f7a
mov dword [eax], 0x16154ea9
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1001a445
xor eax, eax
push eax
lea ecx, [ebp - 0x158]
call fcn.10008f7a
xor eax, eax
lea ecx, [ebp - 0x158]
push eax
call fcn.10008f7a
cmp dword [eax], 0
jne 0x1001a490
xor eax, eax
lea ecx, [ebp - 0x158]
push eax
call fcn.10008f7a
push ebx
lea ecx, [ebp - 0x1b8]
call fcn.10008f7a
xor eax, eax
lea ecx, [ebp - 0x158]
push eax
call fcn.10008f7a
push ebx
lea ecx, [ebp - 0x1b8]
call fcn.10008f7a
dec dword [ebp - 0x20]
lea ecx, [ebp - 0x158]
xor eax, eax
push eax
call fcn.10008f7a
mov ecx, dword [ebp - 0x20]
xor edx, edx
cmp ecx, 0x992f1e5c
mov ecx, 0x9cea445a
setne dl
cmp ecx, edx
sbb ecx, ecx
inc ecx
imul ecx, dword [eax]
test ecx, ecx
je 0x1001a67e
push esi
lea ecx, [ebp - 0xf08]
call fcn.10008f33
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x534]
or eax, 0xffffffff
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x3c], 0x31b54653
mov dword [ebp - 0x38], 0xf74462d1
mov dword [ebp - 0x38], 0xfffffffc
mov dword [ebp - 0x38], 0xdf47b588
push edi
call fcn.10008f33
mov byte [ebp - 4], 0x18
xor eax, eax
mov dword [ebp - 0x44], 0xc8eca74b
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x1001a55b
push dword [ebp - 0x10]
lea ecx, [ebp - 0xf08]
call fcn.10008f7a
mov dword [eax], 0x4846e1d6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1001a53d
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x1001a577
push dword [ebp - 0x10]
lea ecx, [ebp - 0x534]
call fcn.10008f7a
mov dword [eax], 0x81002a95
inc dword [ebp - 0x10]
xor eax, eax
inc eax
cmp dword [ebp - 0x10], eax
jl 0x1001a560
push ebx
lea ecx, [ebp - 0x1b8]
call fcn.10008f7a
mov esi, dword [ebp - 0x3c]
lea ecx, [ebp - 0x1b8]
sub esi, dword [eax]
xor eax, eax
push eax
call fcn.10008f7a
mov ecx, dword [ebp - 0x3c]
xor edx, edx
cmp esi, ecx
lea ecx, [ebp - 0x158]
setne dl
sub edx, dword [eax]
neg edx
sbb edx, edx
xor eax, eax
inc edx
mov dword [ebp - 0x3c], edx
push eax
call fcn.10008f7a
mov ecx, dword [ebp - 0x3c]
xor edi, edi
inc edi
push edi
imul ecx, dword [eax]
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0x1b8]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
call fcn.10008f7a
push ebx
lea ecx, [ebp - 0x1b8]
mov esi, eax
call fcn.10008f7a
mov ecx, dword [eax]
xor eax, eax
cmp ecx, edi
mov dword [esi], ecx
lea ecx, [ebp - 0x534]
sete al
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
xor eax, eax
push eax
call fcn.10008f7a
xor eax, eax
lea ecx, [ebp - 0x534]
push eax
call fcn.10008f7a
mov esi, eax
lea ecx, [ebp - 0x158]
xor eax, eax
push eax
call fcn.10008f7a
xor ebx, ebx
mov ecx, dword [eax]
cmp ecx, dword [esi]
lea ecx, [ebp - 0x534]
setne bl
xor eax, eax
push eax
inc ebx
call fcn.10008f7a
cmp ebx, dword [eax]
je 0x1001a653
xor eax, eax
cmp dword [ebp - 0x30], eax
jne 0x1001a655
mov esi, eax
jmp 0x1001a657
xor eax, eax
mov esi, edi
push eax
lea ecx, [ebp - 0x534]
call fcn.10008f7a
lea ecx, [ebp - 0x534]
mov dword [eax], esi
mov dword [ebp - 0x44], esi
call fcn.10008f75
lea ecx, [ebp - 0xf08]
jmp 0x1001a7f1
push 4
pop esi
push esi
lea ecx, [ebp - 0x66c]
call fcn.10008f33
xor eax, eax
mov byte [ebp - 4], 0x19
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edi
jge 0x1001a6b4
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x80], edi
xor eax, eax
inc dword [ebp - 0x10]
inc eax
push eax
pop edi
cmp dword [ebp - 0x10], eax
jl 0x1001a69b
xor edi, edi
xor eax, eax
inc edi
mov dword [ebp - 0x10], eax
jmp 0x1001a6ca
push dword [ebp - 0x10]
call fcn.10008f7a
mov dword [eax], 0xc815f77
inc dword [ebp - 0x10]
lea ecx, [ebp - 0x66c]
cmp dword [ebp - 0x10], esi
jl 0x1001a6b9
push ebx
call fcn.10008f7a
mov edx, dword [ebp - 0x80]
mov esi, eax
mov ecx, dword [ebp - 0x20]
xor eax, eax
cmp ecx, edx
push 3
setle al
cmp eax, edi
mov eax, dword [ebp - 0x80]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, 0x75fc
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x80]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x80]
setl dl
xor ecx, ecx
cmp edx, eax
sete cl
xor ebx, ebx
cmp ecx, dword [esi]
lea ecx, [ebp - 0x66c]
setle bl
call fcn.10008f7a
cmp ebx, dword [eax]
jl 0x1001a73f
xor eax, eax
lea ecx, [ebp - 0x66c]
push eax
call fcn.10008f7a
mov eax, dword [ebp - 0x80]
lea ecx, [ebp - 0x1b8]
push edi
call fcn.10008f7a
mov eax, dword [ebp - 0x80]
lea ecx, [ebp - 0x1b8]
push 2
call fcn.10008f7a
mov esi, dword [ebp - 0x80]
lea ecx, [ebp - 0x1b8]
push 2
add esi, dword [eax]
call fcn.10008f7a
lea ecx, [ebp - 0x158]
mov dword [eax], esi
mov eax, dword [ebp - 0x20]
mov esi, dword [ebp - 0x20]
xor eax, eax
push eax
call fcn.10008f7a
push 2
lea ecx, [ebp - 0x1b8]
mov dword [eax], esi
call fcn.10008f7a
cmp dword [eax], 0xd9679ff5
sbb eax, eax
neg eax
sub esi, eax
mov eax, dword [ebp - 0x20]
add eax, esi
je 0x1001a7c3
push edi
lea ecx, [ebp - 0x66c]
call fcn.10008f7a
cmp dword [eax], 0
je 0x1001a7c3
xor eax, eax
xor edi, edi
inc edi
lea edx, [eax + 1]
jmp 0x1001a7c7
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x80]
sete cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setne dl
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x218], ecx
lea ecx, [ebp - 0x66c]
mov byte [ebp - 4], 0x16
call fcn.10008f75
xor eax, eax
lea ecx, [ebp - 0x158]
push eax
call fcn.10008f7a
lea ecx, [ebp - 0x1b8]
mov esi, dword [eax]
xor eax, eax
push eax
dec esi
call fcn.10008f7a
push edi
lea ecx, [ebp - 0x158]
mov dword [eax], esi
call fcn.10008f7a
xor ebx, ebx
lea ecx, [ebp - 0xbb8]
push edi
cmp dword [eax], 0xe62
setge bl
call fcn.10008f7a
xor edx, edx
cmp ebx, 0x5c9b65fe
setl dl
xor ecx, ecx
mov dword [eax], ebx
mov eax, dword [ebp - 0x218]
cmp eax, edx
setl cl
xor eax, eax
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0x158]
push eax
call fcn.10008f7a
imul esi, esi, 0xb304
xor edx, edx
add esi, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x218]
cmp esi, ecx
lea ecx, [ebp - 0xbb8]
setl dl
mov dword [eax], edx
call fcn.10008f75
lea ecx, [ebp - 0x1b8]
call fcn.10008f75
or esi, 0xffffffff
lea ecx, [ebp - 0x158]
mov dword [ebp - 4], esi
call fcn.10008f75
mov dword [ebp - 0x28], 0xfffffffa
xor eax, eax
mov dword [ebp - 0x3c], 0xfffffffc
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x50], 0x9786
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edi
jge 0x1001a8eb
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x7e4], 0xfbfc75da
xor eax, eax
inc dword [ebp - 0x10]
inc eax
cmp dword [ebp - 0x10], eax
jl 0x1001a8d0
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x1001a901
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1f0], 0xfda6c2e3
inc dword [ebp - 0x10]
xor eax, eax
inc eax
cmp dword [ebp - 0x10], eax
jl 0x1001a8f0
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
xor eax, eax
cmp dword [ebp - 0x24], eax
jne 0x1001a94a
mov ecx, dword [ebp - 0x24]
xor edx, edx
mov eax, dword [ebp - 0x24]
sub ecx, 0x444b0a54
cmp ecx, eax
setne dl
xor ecx, ecx
cmp edx, 0xfff8
setne cl
xor eax, eax
xor edx, edx
inc edx
cmp ecx, edx
setle al
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x38], 0x7ddbf4df
mov ecx, dword [ebp - 0x38]
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp ecx, 0xfffffff8
mov dword [ebp - 0x7e4], ecx
setle al
add eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x28]
jl 0x1001a984
xor eax, eax
cmp dword [ebp - 0x50], eax
jne 0x1001a984
mov ecx, eax
jmp 0x1001a989
xor eax, eax
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x50]
xor ebx, ebx
sub ecx, eax
inc ebx
mov dword [ebp - 0x1f0], ecx
xor edx, edx
mov dword [ebp - 0x3c], ebx
mov eax, dword [ebp - 0x1f0]
imul ecx, eax, 0xffff
mov eax, dword [ebp - 0x3c]
push 3
cmp eax, ecx
lea ecx, [ebp - 0x1100]
setge dl
mov dword [ebp - 0x1f0], edx
mov dword [ebp - 0x24], esi
call fcn.10008f33
push 8
pop eax
mov dword [ebp - 4], 0x1a
lea ecx, [ebp - 0xf20]
push 2
mov dword [ebp - 0x2c], 0xbecba2af
mov dword [ebp - 0x2c], eax
xor eax, eax
pop edi
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x2c], eax
push ebx
call fcn.10008f33
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x1098]
mov dword [ebp - 0x2c], 0xfda0246c
mov dword [ebp - 0x2c], 0x8f3b8c10
push ebx
call fcn.10008f33
mov byte [ebp - 4], 0x1c
xor eax, eax
mov dword [ebp - 0x2c], 0xfa66
mov dword [ebp - 0x38], 0x5bb5a275
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x1001aa4b
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x1100]
call fcn.10008f7a
mov dword [eax], 4
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1001aa2c
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x1001aa77
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xf20]
call fcn.10008f7a
mov dword [eax], 0xa5efa20b
xor eax, eax
inc dword [ebp - 0x1c]
inc eax
cmp dword [ebp - 0x1c], eax
jl 0x1001aa53
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x1001aaa3
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x1098]
call fcn.10008f7a
mov dword [eax], 0xfffffffe
xor eax, eax
inc dword [ebp - 0x1c]
inc eax
cmp dword [ebp - 0x1c], eax
jl 0x1001aa7f
xor ebx, ebx
xor eax, eax
inc ebx
push 4
mov dword [ebp - 0x1c], eax
pop ecx
jmp 0x1001aabc
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x15dc], 0x3053
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1001aaab
inc dword [ebp - 0x38]
lea ecx, [ebp - 0x1098]
call fcn.10008f75
lea ecx, [ebp - 0xf20]
call fcn.10008f75
lea ecx, [ebp - 0x1100]
mov dword [ebp - 4], esi
call fcn.10008f75
push edi
lea ecx, [ebp - 0x7f0]
call fcn.10008f33
push edi
lea ecx, [ebp - 0xf38]
mov dword [ebp - 4], 0x1d
call fcn.10008f33
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x14cc]
movdqa xmm0, xmmword [0x10007cb0]
xor eax, eax
mov dword [ebp - 0x3c], 0x94a18885
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x1154]
push eax
lea eax, [ebp - 0x1164]
mov dword [ebp - 0x2c], 0x7a98815c
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x2c], 0x2cb3a3fc
push eax
movdqu xmmword [ebp - 0x1164], xmm0
call fcn.10014b5a
lea ecx, [ebp - 0x1e9]
mov esi, eax
call fcn.10009065
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x1368]
push dword [esi]
call fcn.10014b34
mov byte [ebp - 4], 0x1f
xor eax, eax
mov dword [ebp - 0x2c], 0x6dc99220
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edi
jge 0x1001aba2
push dword [ebp - 0x10]
lea ecx, [ebp - 0xf38]
call fcn.10008f7a
mov dword [eax], 0x9b3198a8
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1001ab84
xor eax, eax
push 3
mov dword [ebp - 0x10], eax
pop esi
cmp dword [ebp - 0x10], esi
jge 0x1001abc5
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x159c], 0x21b0ae28
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1001abad
xor eax, eax
mov dword [ebp - 0x3c], ebx
cmp dword [ebp - 0x3c], eax
jl 0x1001ac05
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x2c], 0x693e932
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x38], 0x5378470e
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x1001abfd
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x14fc], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1001abe9
xor eax, eax
dec dword [ebp - 0x38]
dec dword [ebp - 0x3c]
jns 0x1001abcd
lea ecx, [ebp - 0x1368]
call fcn.10008f75
lea ecx, [ebp - 0xf38]
mov byte [ebp - 4], 0x1d
call fcn.10008f75
mov dword [ebp - 0x54], ebx
push 7
pop eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x2c], 0x872fa4ad
mov dword [ebp - 0x2c], eax
xor eax, eax
mov dword [ebp - 0x30], 0xb8bffbef
mov dword [ebp - 0x14], eax
inc eax
cmp dword [ebp - 0x14], eax
jge 0x1001ac5c
or ecx, 0xffffffff
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x388], ecx
xor eax, eax
inc dword [ebp - 0x14]
inc eax
cmp dword [ebp - 0x14], eax
jl 0x1001ac47
mov dword [ebp - 0x388], eax
xor ebx, ebx
mov eax, dword [ebp - 0x30]
inc ebx
mov dword [ebp - 0x388], eax
xor eax, eax
mov dword [ebp - 0x38], 0xbfe7374
mov dword [ebp - 0x2c], ebx
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], al
je 0x1001ac8a
call dword [sym.imp.KERNEL32.dll_GetVersion]
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1001ac9a
push eax
call dword [sym.imp.KERNEL32.dll_GetThreadPriority]
mov dword [ebp - 0x3c], 0x2b165808
lea ecx, [ebp - 0x284]
push edi
call fcn.10008f33
push esi
lea ecx, [ebp - 0x54c]
mov byte [ebp - 4], 0x20
call fcn.10008f33
mov byte [ebp - 4], 0x21
xor eax, eax
mov dword [ebp - 0x38], 0x260d
mov dword [ebp - 0x2c], 0xfbc3
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edi
jge 0x1001acf9
or ebx, 0xffffffff
push dword [ebp - 0x10]
lea ecx, [ebp - 0x284]
call fcn.10008f7a
mov dword [eax], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1001acdc
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x1001ad1b
push dword [ebp - 0x10]
lea ecx, [ebp - 0x54c]
call fcn.10008f7a
mov dword [eax], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1001ad01
xor eax, eax
push eax
lea ecx, [ebp - 0x54c]
call fcn.10008f7a
mov edi, eax
lea ecx, [ebp - 0x284]
xor eax, eax
push eax
call fcn.10008f7a
mov esi, dword [edi]
mov edx, dword [eax]
xor eax, eax
lea ecx, [esi + 1]
mov dword [edi], ecx
cmp esi, edx
je 0x1001ad4b
inc eax
mov esi, eax
jmp 0x1001ad50
mov esi, eax
xor eax, eax
inc eax
push eax
lea ecx, [ebp - 0x284]
call fcn.10008f7a
xor ecx, ecx
cmp esi, 0x5d7
setl cl
add ecx, dword [eax]
je 0x1001ad79
xor eax, eax
lea ecx, [ebp - 0x284]
push eax
call fcn.10008f7a
xor ebx, ebx
lea ecx, [ebp - 0x284]
inc ebx
push ebx
call fcn.10008f7a
cmp dword [eax], ebx
jl 0x1001ada4
push ebx
lea ecx, [ebp - 0x284]
call fcn.10008f7a
cmp dword [eax], 0
je 0x1001ada4
xor eax, eax
mov esi, eax
inc eax
push eax
lea ecx, [ebp - 0x284]
call fcn.10008f7a
xor ecx, ecx
cmp esi, 0xfecafe8
setl cl
mov dword [eax], ecx
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x3c], eax
jl 0x1001add8