Function at 0x1003336b
Capabilities:
Clear file content
Get file attributes
Query or enumerate registry value
Set environment variable
Set registry value
Terminate process

Disassembly:
mov eax, 0x100637f9
call fcn.10062338
mov eax, 0x4f64
call fcn.1005c6a0
push ebx
push esi
push edi
push 0
mov dword [ebp - 0x5c], ecx
pop ecx
mov dword [ebp - 0x2c], 0x141b
cmp dword [ebp - 0x2c], 0xfdc
push 1
mov byte [ebp - 0x85], dl
pop edi
jge 0x10033471
lea eax, [ebp - 0x21c]
push eax
push 0x10007754
call fcn.10049deb
xor eax, eax
or esi, 0xffffffff
or dword [ebp - 0x34], esi
mov edi, eax
mov ebx, eax
pop ecx
pop ecx
cmp dword [ebp - 0x21c], eax
jle 0x1003345f
lea eax, [ebp - 0x384]
push eax
push 0x10007754
call fcn.10049deb
mov eax, dword [ebp - 0x384]
pop ecx
pop ecx
cmp eax, esi
je 0x1003344c
push 2
pop edx
cmp eax, edx
jne 0x100333f9
cmp esi, 3
je 0x1003344c
cmp eax, 3
jne 0x10033402
cmp esi, edx
je 0x1003344c
xor ecx, ecx
inc ecx
cmp eax, ecx
jne 0x1003340d
cmp esi, edx
je 0x10033415
cmp eax, edx
jne 0x10033418
cmp esi, ecx
jne 0x1003343c
add edi, 3
cmp eax, ecx
jne 0x10033421
cmp esi, 3
je 0x1003342a
cmp eax, 3
jne 0x1003342d
cmp esi, ecx
jne 0x1003343c
add edi, 4
cmp eax, edx
jne 0x1003343c
cmp esi, ecx
jne 0x1003343c
cmp dword [ebp - 0x34], 3
jne 0x1003343c
dec edi
inc ebx
mov dword [ebp - 0x34], esi
mov esi, eax
cmp ebx, dword [ebp - 0x21c]
jl 0x100333d0
jmp 0x1003344f
or edi, 0xffffffff
test edi, edi
jns 0x1003345f
push 0x10007ab8
call fcn.1004a3e5
jmp 0x1003346b
push edi
push 0x10007ac4
call fcn.1004a17c
pop ecx
pop ecx
xor edi, edi
xor ecx, ecx
inc edi
mov dword [ebp - 0x20], 0xfffffff6
mov dword [ebp - 0x2c], 2
mov dword [ebp - 0x74], 5
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x10], ecx
jmp 0x1003349b
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x2f8], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x1003348e
mov ebx, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], 2
jg 0x100335aa
lea eax, [ebp - 0x634]
lea ecx, [ebp - 0x624]
push ecx
push ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x6fc]
push eax
movdqu xmmword [ebp - 0x634], xmm0
call fcn.1000add4
mov esi, dword [ebp - 0x6fc]
mov dword [esi + 0xc], 2
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov edx, dword [ebp + eax*4 - 0x2f8]
mov eax, dword [esi + 0xc]
mov eax, dword [ebp + eax*4 - 0x2f8]
cmp edx, eax
setl cl
xor eax, eax
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x20], eax
je 0x10033515
cmp dword [ebp - 0x2f4], eax
je 0x10033515
mov eax, edi
mov ecx, dword [esi + 0xc]
cmp edi, eax
push 0xfffffffffffffff9
sbb eax, eax
xor edx, edx
inc eax
cmp eax, 9
mov eax, dword [ebp + ecx*4 - 0x2f8]
setl dl
neg edx
sub edx, ecx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
pop eax
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esi + 0xc]
setl dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x2f8]
cmp edx, eax
mov eax, dword [ebp - 0x20]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x74]
setne dl
xor ecx, ecx
cmp edx, eax
setl cl
xor eax, eax
mov dword [ebp - 0x2c], ecx
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], al
je 0x1003357b
push eax
call ebx
dec dword [esi + 0xc]
jns 0x100334e6
lea ecx, [ebp - 0x6fc]
call fcn.1000ba11
inc dword [ebp - 0x20]
lea eax, [ebp - 0x634]
cmp dword [ebp - 0x20], 2
lea ecx, [ebp - 0x624]
jle 0x100334c0
xor ecx, ecx
mov byte [ebp - 0x2d], cl
cmp byte [ebp - 0x2d], 0
je 0x100335bc
push ecx
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
xor ecx, ecx
mov dword [ebp - 0x20], 0xfffffff6
push 5
mov dword [ebp - 0x2c], 2
pop esi
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x10], ecx
jmp 0x100335e5
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x30c], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x100335d8
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], 2
jg 0x100336ef
lea eax, [ebp - 0x664]
lea ecx, [ebp - 0x654]
push ecx
push ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x714]
push eax
movdqu xmmword [ebp - 0x664], xmm0
call fcn.1000add4
mov esi, dword [ebp - 0x714]
mov dword [esi + 0xc], 2
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov edx, dword [ebp + eax*4 - 0x30c]
mov eax, dword [esi + 0xc]
mov eax, dword [ebp + eax*4 - 0x30c]
cmp edx, eax
setl cl
xor eax, eax
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x20], eax
je 0x10033659
cmp dword [ebp - 0x308], eax
je 0x10033659
mov eax, edi
mov ecx, dword [esi + 0xc]
cmp edi, eax
push 0xfffffffffffffff9
sbb eax, eax
xor edx, edx
inc eax
cmp eax, 9
mov eax, dword [ebp + ecx*4 - 0x30c]
setl dl
neg edx
sub edx, ecx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
pop eax
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esi + 0xc]
setl dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x30c]
cmp edx, eax
mov eax, dword [ebp - 0x20]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x74]
setne dl
xor ecx, ecx
cmp edx, eax
setl cl
xor eax, eax
mov dword [ebp - 0x2c], ecx
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], al
je 0x100336bf
push eax
call ebx
dec dword [esi + 0xc]
jns 0x1003362a
lea ecx, [ebp - 0x714]
call fcn.1000ba11
inc dword [ebp - 0x20]
lea eax, [ebp - 0x664]
cmp dword [ebp - 0x20], 2
lea ecx, [ebp - 0x654]
jle 0x10033604
push 5
pop esi
xor ebx, ebx
mov byte [ebp - 0x2d], bl
cmp byte [ebp - 0x2d], bl
je 0x10033700
push ebx
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
mov dword [ebp - 0x20], 0xffff
inc dword [ebp - 0x20]
mov dword [ebp - 0x20], 0x18
jmp 0x1003372a
mov byte [ebp - 0x2d], bl
cmp byte [ebp - 0x2d], bl
je 0x10033727
push ebx
push 0x252c
call dword [sym.imp.GDI32.dll_GetWindowOrgEx]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x1f
jne 0x10033713
mov dword [ebp - 0x1c], 0xdb6d0374
lea ecx, [ebp - 0x2cc]
mov dword [ebp - 0x44], esi
push 3
call fcn.1000ad98
mov dword [ebp - 0x20], 0xc9ebf495
mov dword [ebp - 0x34], 0x67bc620
mov dword [ebp - 0x4c], 0xcad8e65d
mov dword [ebp - 0x10], ebx
jmp 0x10033774
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x2cc]
mov dword [eax + ecx*4], 0x8b9dbea5
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x10033761
mov eax, dword [ebp - 0x20]
dec dword [ebp - 0x20]
test eax, eax
jne 0x100337a7
mov eax, dword [ebp - 0x2cc]
xor ecx, ecx
mov dword [eax + 4], 0xf74
mov eax, dword [ebp - 0x20]
test eax, eax
setle cl
cmp ecx, dword [ebp - 0x20]
jge 0x100337a7
xor edx, edx
mov ecx, ebx
inc edx
jmp 0x100337ac
xor edx, edx
inc edx
mov ecx, edx
xor eax, eax
cmp ecx, 0x1958
setne al
add eax, 0x3585ca25
cmp eax, dword [ebp - 0x1c]
jg 0x100337d3
mov eax, dword [ebp - 0x2cc]
cmp dword [eax], ebx
je 0x100337d3
cmp dword [ebp - 0x44], ebx
je 0x100337d3
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x34], 9
cmp dword [ebp - 0x34], ebx
jne 0x100337e6
mov eax, ebx
cmp dword [ebp - 0x1c], ebx
je 0x100337e8
mov eax, edx
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x2cc]
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x2cc]
call fcn.1000ba11
mov dword [ebp - 0x3c], esi
lea ecx, [ebp - 0x708]
push 2
xor esi, esi
inc esi
pop edi
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x3c], 0xf3de0369
push edi
call fcn.1000ad98
mov dword [ebp - 4], ebx
mov dword [ebp - 0x20], 0xffff
mov dword [ebp - 0x28], ebx
jmp 0x1003384d
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x684], 0x5f70
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jl 0x1003383c
mov dword [ebp - 0x2c], 0x1baa
cmp dword [ebp - 0x2c], 0x10cb
jge 0x100338de
lea eax, [ebp - 0x38c]
push eax
push 0x10007754
call fcn.10049deb
lea eax, [ebp - 0x378]
push eax
lea eax, [ebp - 0x314]
push eax
lea eax, [ebp - 0x1f0]
push eax
push 0x10007894
call fcn.10049deb
mov eax, dword [ebp - 0x38c]
add esp, 0x18
cmp eax, esi
jne 0x100338ab
push 0x10007924
call fcn.1004a3e5
jmp 0x100338dd
mov edx, dword [ebp - 0x314]
cmp dword [ebp - 0x1f0], edx
mov ecx, dword [ebp - 0x378]
cmovl edx, dword [ebp - 0x1f0]
cmp edx, ecx
cmovl ecx, edx
add eax, 0xfffffffe
imul ecx, eax
add ecx, edx
push ecx
push 0x10007778
call fcn.1004a17c
pop ecx
pop ecx
mov dword [ebp - 0x28], ebx
jmp 0x100338f6
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x708]
mov dword [eax + ecx*4], 0x780ca9f8
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jl 0x100338e3
mov dword [ebp - 0x28], ebx
jmp 0x10033911
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x904], 0x2da3c3d
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jl 0x10033900
cmp dword [ebp - 0x684], ebx
je 0x10033952
mov dword [ebp - 0x3c], 0xb546158d
mov dword [ebp - 0x3c], 0x8c3ad3b3
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x10], ebx
jmp 0x10033945
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x92c], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x10033938
dec dword [ebp - 0x20]
jmp 0x100339f9
push 3
lea ecx, [ebp - 0x768]
call fcn.1000ad98
xor eax, eax
inc eax
mov byte [ebp - 4], al
mov dword [ebp - 0x10], ebx
jmp 0x1003397d
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x768]
mov dword [eax + ecx*4], 0x40c18ab9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x1003396a
mov dword [ebp - 0x1c], ebx
jmp 0x100339e8
push edi
lea ecx, [ebp - 0x570]
call fcn.1000ad98
mov dword [ebp - 0x10], ebx
jmp 0x100339ac
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x570]
mov dword [eax + ecx*4], 0x64ea33a4
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x10033999
mov byte [ebp - 0x2d], bl
cmp byte [ebp - 0x2d], 0
je 0x100339c2
push ebx
push ebx
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
xor ecx, ecx
mov dword [ebp - 0x20], ebx
inc ecx
jmp 0x100339d5
mov eax, dword [ebp - 0x570]
dec dword [eax]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jle 0x100339ca
lea ecx, [ebp - 0x570]
call fcn.1000ba11
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffef
jge 0x10033988
lea ecx, [ebp - 0x768]
call fcn.1000ba11
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x708]
call fcn.1000ba11
xor eax, eax
mov dword [ebp - 0x20], 0xfffffff6
inc eax
mov dword [ebp - 0x24], 0xfffffff7
mov dword [ebp - 0x4c], 0xffffffff
lea ecx, [ebp - 0x48c]
push eax
call fcn.1000ad98
mov dword [ebp - 0x10], 0xffffffff
xor edx, edx
mov dword [ebp - 0x1c], 0x786ff529
inc edx
mov dword [ebp - 0x2c], 0xa1dd5c0a
mov dword [ebp - 0x34], 0x4f86fc33
mov dword [ebp - 0x20], ebx
jmp 0x10033a63
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x48c]
mov dword [eax + ecx*4], 0x7cba
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jl 0x10033a50
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x48c]
sub ecx, 0xfffffff8
neg ecx
sbb ecx, ecx
inc ecx
mov dword [eax], ecx
mov ecx, edx
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x10]
sub ecx, eax
imul ecx, dword [ebp - 0x10]
test ecx, ecx
je 0x10033ac0
mov eax, edx
cmp dword [ebp - 0x10], ebx
jne 0x10033ac2
mov eax, ebx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jne 0x10033ad1
cmp dword [ebp - 0x4c], ebx
jne 0x10033ad1
mov edx, ebx
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x1c]
setl cl
sub ecx, 0xe2e
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
setge dl
xor ecx, ecx
sub edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2c]
cmp edx, eax
setle cl
mov dword [ebp - 0x34], ecx
lea ecx, [ebp - 0x48c]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x1c], eax
call fcn.1000ba11
mov dword [ebp - 0x2c], edi
xor ecx, ecx
mov dword [ebp - 0x64], 5
inc ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x3c], 9
mov dword [ebp - 0x2c], 0x1b8d
cmp dword [ebp - 0x2c], 0xa0f
jge 0x10033bf6
lea eax, [ebp - 0x148]
push eax
push 0x10007754
call fcn.10049deb
mov eax, dword [ebp - 0x148]
pop ecx
pop ecx
test eax, eax
je 0x10033bec
dec eax
mov dword [ebp - 0x148], eax
lea eax, [ebp - 0x20c]
push eax
push 0x10007754
call fcn.10049deb
pop ecx
pop ecx
xor ecx, ecx
xor eax, eax
inc ecx
mov edi, eax
mov bl, cl
mov esi, ecx
cmp dword [ebp - 0x20c], ecx
jl 0x10033bc4
lea eax, [ebp - 0x204]
push eax
push 0x10007754
call fcn.10049deb
pop ecx
pop ecx
test bl, bl
je 0x10033bae
cmp esi, dword [ebp - 0x204]
je 0x10033bae
xor eax, eax
inc eax
jmp 0x10033bb0
xor eax, eax
add edi, eax
cmp esi, dword [ebp - 0x204]
sete bl
inc esi
cmp esi, dword [ebp - 0x20c]
jle 0x10033b8a
push 2
pop eax
cmp edi, eax
cmovl eax, edi
push eax
push 0x10007778
call fcn.1004a17c
mov eax, dword [ebp - 0x148]
pop ecx
pop ecx
test eax, eax
jne 0x10033b5d
push 2
xor ebx, ebx
pop edi
dec eax
xor ecx, ecx
mov dword [ebp - 0x148], eax
inc ecx
mov dword [ebp - 0x3c], 0x25d16df2
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x3c], 0x1891f782
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x3c], 0x83066c93
push 3
pop edx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x3c], 0x717be9fb
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x3c], 0x62b000c
push 7
pop eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x3c], 0x1fc2da8a
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x2c], 0x2d34caa8
dec dword [ebp - 0x34]
push 0xffffffffffffffe8
mov dword [ebp - 0x10], ebx
pop esi
cmp dword [ebp - 0x10], esi
jge 0x10033c6f
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10033c5b
push 7
pop eax
mov dword [ebp - 0x3c], 9
mov dword [ebp - 0x3c], 0x25d16df2
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x3c], 0x1891f782
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x3c], 0x83066c93
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x3c], 0x717be9fb
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x3c], 0x62b000c
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x3c], 0x1fc2da8a
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x2c], 0x2d34caa8
dec dword [ebp - 0x34]
mov dword [ebp - 0x10], ebx
jmp 0x10033cdb
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10033ccf
mov dword [ebp - 0x10], ebx
jmp 0x10033cf2
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x334], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x10033ce5
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], edi
jg 0x10034bfc
push edi
lea ecx, [ebp - 0x588]
call fcn.1000ad98
mov dword [ebp - 4], edi
lea ecx, [ebp - 0x324]
mov dword [ebp - 0x24], 0xffffffff
push edi
call fcn.1000ad98
mov dword [ebp - 0x10], 0xad5b481d
mov dword [ebp - 0x18], ebx
jmp 0x10033d41
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x588]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10033d31
mov dword [ebp - 0x18], ebx
jmp 0x10033d5a
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x324]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10033d4b
mov esi, dword [ebp - 0x588]
mov dword [esi + 4], ebx
mov dword [ebp - 0x240], ebx
xor ecx, ecx
mov dword [ebp - 0x23c], ebx
inc ecx
mov dword [ebp - 0x238], ebx
xor edx, edx
mov dword [ebp - 0x234], ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x34], 0x522452a2
mov eax, dword [ebp - 0x238]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x324]
or dword [eax], 0xffffffff
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x24]
cmp eax, ecx
mov eax, dword [ebp - 0x238]
setle dl
xor ecx, ecx
imul edx, eax
mov eax, dword [ebp - 0x238]
cmp edx, eax
setg cl
xor eax, eax
cmp ecx, 8
setge al
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x238]
cmp eax, dword [esi + 4]
je 0x10033df6
cmp dword [ebp - 0x10], ebx
je 0x10033df6
xor edx, edx
inc edx
mov ecx, edx
jmp 0x10033dfb
xor edx, edx
mov ecx, ebx
inc edx
xor eax, eax
cmp ecx, edx
setne al
cmp eax, dword [ebp - 0x24]
jl 0x10033e75
mov dword [ebp - 0x44], 0x60fc5c2f
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], edx
jg 0x10033e38
xor ebx, ebx
inc ebx
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x324]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jle 0x10033e19
xor edx, edx
xor ebx, ebx
inc edx
mov eax, dword [ebp - 0x44]
cmp dword [ebp - 0x34], ebx
je 0x10033e57
mov eax, dword [ebp - 0x238]
xor ecx, ecx
cmp dword [esi + 4], ebx
mov eax, dword [ebp - 0x4c]
setg cl
add eax, ecx
mov eax, edx
jne 0x10033e59
mov eax, ebx
cmp eax, dword [ebp - 0x44]
jl 0x10033e68
mov ecx, edx
cmp dword [ebp - 0x238], ebx
jne 0x10033e6a
mov ecx, ebx
mov eax, dword [ebp - 0x324]
mov dword [eax + 4], ecx
jmp 0x10033ea1
mov dword [ebp - 0x10], ebx
jmp 0x10033e9b
mov byte [ebp - 0x2d], bl
cmp byte [ebp - 0x2d], 0
je 0x10033e98
push 0xd9f
push 0x2232
push 0x62d
call dword [sym.imp.USER32.dll_SetWindowLongA]
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x3a
je 0x10033e7a
dec dword [esi + 4]
cmp dword [esi + 4], 0xffffffee
jg 0x10033d68
lea ecx, [ebp - 0x324]
call fcn.1000ba11
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x588]
call fcn.1000ba11
push ecx
lea eax, [ebp - 0x780]
xorps xmm0, xmm0
push eax
lea eax, [ebp - 0x790]
push eax
lea ecx, [ebp - 0x734]
movdqu xmmword [ebp - 0x790], xmm0
call fcn.1000add4
push 3
pop eax
push eax
lea ecx, [ebp - 0x3dc]
mov dword [ebp - 4], eax
call fcn.1000ad98
mov dword [ebp - 0x18], ebx
jmp 0x10033f17
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x3dc]
mov dword [eax + ecx*4], 0xfffffffa
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10033f04
push 4
mov dword [ebp - 0x18], ebx
pop ecx
jmp 0x10033f36
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x3ac], 0xdada439b
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10033f25
mov dword [ebp - 0x3ac], edi
cmp dword [ebp - 0x3ac], ebx
jl 0x10033f8d
mov dword [ebp - 0x2c], 0x4d9edbda
mov ecx, dword [ebp - 0x3ac]
mov eax, dword [ebp - 0x3dc]
cmp dword [eax + ecx*4], ebx
je 0x10033f74
mov ecx, dword [ebp - 0x3ac]
mov eax, dword [ebp - 0x3dc]
cmp dword [eax + ecx*4], ebx
jne 0x10033f8d
jmp 0x10033f82
mov dword [ebp - 0x2c], 0x1ded6804
mov dword [ebp - 0x2c], 0xfaaaeb9a
mov dword [ebp - 0x2c], ebx
dec dword [ebp - 0x3ac]
jns 0x10033f49
lea ecx, [ebp - 0x3dc]
call fcn.1000ba11
mov dword [ebp - 0x10], 0xda1
lea ecx, [ebp - 0x5b8]
mov dword [ebp - 0x1c], 0x3b6182ea
mov dword [ebp - 0x3c], 0x8cccddd
mov dword [ebp - 0x18], 5
mov dword [ebp - 0x3c], 0xfffffff7
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x3c], 0x8d9ba5f2
push 3
call fcn.1000ad98
push 4
pop ecx
mov byte [ebp - 4], cl
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x18], ebx
jmp 0x10033ff5
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x884], 0x8c9a01c7
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10033fe4
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], 3
jge 0x1003401f
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x5b8]
mov dword [eax + ecx*4], 0x104353ea
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10034003
push 4
pop ecx
cmp dword [ebp - 0x10], ebx
je 0x100343aa
mov dword [ebp - 0x3c], ebx
xor eax, eax
mov dword [ebp - 0x3c], 0x2dafbbd0
inc eax
mov dword [ebp - 0x3c], 0xc9c3d069
mov dword [ebp - 0x3c], 0x884cb8f6
mov dword [ebp - 0x3c], ecx
lea ecx, [ebp - 0x5a0]
push eax
call fcn.1000ad98
xor edx, edx
mov byte [ebp - 4], 5
mov dword [ebp - 0x10], ebx
inc edx
jmp 0x1003406e
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x5a0]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x1003405e
mov dword [ebp - 0x10], 0xffffffe4
cmp dword [ebp - 0x10], 0x21
jg 0x100342e3
push 4
pop ecx
mov dword [ebp - 0x3c], 8
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x3c], 0x16a205b2
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x3c], 0x997b09b3
mov dword [ebp - 0x3c], 0x8f62c4df
mov dword [ebp - 0x3c], 0x831966c4
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x2c], 0x1e1c
cmp dword [ebp - 0x2c], 0xa83
jge 0x100342b0
mov edi, 0x16869500
push edi
push 0x167a5f98
push 0x10007ad0
call fcn.10049deb
add esp, 0xc
push edi
call fcn.10049d60
mov esi, eax
mov dword [0x168694f8], esi
pop ecx
test esi, esi
jle 0x10034110
push esi
push edi
push 0x16869550
call fcn.10048d40
add esp, 0xc
lea edx, [esi + 0x16869550]
mov byte [ebp - 0x310], bl
push dword [ebp - 0x310]
mov eax, edx
mov ecx, 0x16869550
sub eax, ecx
push eax
call fcn.100410d9
mov edx, dword [0x168694f8]
mov esi, ebx
mov dword [ebp - 0xa8], esi
pop ecx
pop ecx
test edx, edx
jle 0x100341d6
movsx eax, byte [esi + 0x16869500]
push eax
call fcn.1004c574
test eax, eax
lea eax, [ebp - 0xa8]
pop ecx
push eax
movsx eax, byte [esi + 0x16869500]
je 0x1003416e
sub eax, 0x61
jmp 0x10034171
sub eax, 0x27
imul ecx, eax, 0xc
add ecx, 0x16869b88
call fcn.1002ae91
mov esi, dword [ebp - 0xa8]
movsx eax, byte [esi + 0x16869550]
push eax
call fcn.1004c574
test eax, eax
lea eax, [ebp - 0xa8]
pop ecx
push eax
movsx eax, byte [esi + 0x16869550]
je 0x100341aa
sub eax, 0x61
jmp 0x100341ad
sub eax, 0x27
imul ecx, eax, 0xc
add ecx, 0x16869ec0
call fcn.1002ae91
mov esi, dword [ebp - 0xa8]
mov edx, dword [0x168694f8]
inc esi
mov dword [ebp - 0xa8], esi
cmp esi, edx
jl 0x10034149
mov ecx, dword [0x167a5f98]
mov al, byte [ecx + 0x1686954f]
mov byte [0x168694b0], al
mov al, byte [ecx + 0x168694ff]
mov byte [edx + 0x168694af], al
xor eax, eax
inc eax
mov byte [edx + 0x168694b0], bl
dec ecx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x184], ecx
cmp edx, eax
jle 0x1003429c
movsx ebx, byte [ecx + 0x16869550]
push ebx
call fcn.1004c574
lea edx, [ebp - 0x184]
pop ecx
test eax, eax
je 0x10034231
lea eax, [ebx - 0x61]
lea ecx, [ebp - 0x750]
jmp 0x1003423a
lea eax, [ebx - 0x27]
lea ecx, [ebp - 0x718]
imul eax, eax, 0xc
push dword [eax + 0x16869ec4]
mov esi, dword [eax + 0x16869ec0]
push esi
call fcn.10040843
pop ecx
pop ecx
push ebx
mov edi, dword [eax]
sub edi, esi
sar edi, 2
call fcn.1004c574
test eax, eax
lea eax, [ebx - 0x61]
pop ecx
jne 0x10034269
lea eax, [ebx - 0x27]
mov esi, dword [ebp - 0x34]
imul eax, eax, 0xc
mov eax, dword [eax + 0x16869b88]
mov ecx, dword [eax + edi*4]
mov dword [ebp - 0x184], ecx
mov al, byte [ecx + 0x16869550]
mov byte [esi + 0x168694b0], al
inc esi
mov dword [ebp - 0x34], esi
cmp esi, dword [0x168694f8]
jl 0x1003420e
xor ebx, ebx
push 0x168694b0
push 0x10007ad8
call fcn.1004a17c
pop ecx
pop ecx
push 4
pop ecx
mov dword [ebp - 0x1c], ebx
jmp 0x100342c6
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x984], 6
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x100342b5
mov eax, dword [ebp - 0x5b8]
dec dword [eax]
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x21
jle 0x10034087
xor edx, edx
inc edx
mov dword [ebp - 0x18], ebx
jmp 0x1003438d
mov dword [ebp - 0x2c], 0x1578
cmp dword [ebp - 0x2c], 0xbc1
jge 0x1003436d
push 0x168694a8
push 0x168694f4
push 0x167a5ddc
push 0x1000795c
call fcn.10049deb
mov edi, dword [0x167a5ddc]
add esp, 0x10
mov eax, edi
cdq
idiv dword [0x168694f4]
lea esi, [eax + 1]
imul esi, dword [0x168694f4]
cmp esi, dword [0x168694a8]
jg 0x1003435f
mov eax, esi
sub eax, edi
push eax
push 0x10007920
call fcn.1004a17c
add esi, dword [0x168694f4]
pop ecx
pop ecx
cmp esi, dword [0x168694a8]
jg 0x1003436a
mov edi, dword [0x167a5ddc]
jmp 0x10034338
push 0x100077a4
call fcn.1004a3e5
pop ecx
xor edx, edx
inc edx
mov dword [ebp - 0x1c], ebx
jmp 0x10034385
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x5a0]
mov dword [eax + ecx*4], 0xb137d37
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x10034372
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x15
jge 0x100342eb
lea ecx, [ebp - 0x5a0]
call fcn.1000ba11
push 2
pop edi
jmp 0x10034759
mov dword [ebp - 0x2c], 0x159d
cmp dword [ebp - 0x2c], 0x8f3
jge 0x10034748
lea eax, [ebp - 0xc4]
mov dword [ebp - 0x90], ebx
push eax
lea eax, [ebp - 0x90]
mov dword [ebp - 0xc4], ebx
push eax
push 0x10007884
call fcn.10049deb
xor eax, eax
lea ecx, [ebp - 0x1e0]
inc eax
add esp, 0xc
mov byte [ebp - 0xaa], al
lea eax, [ebp - 0xaa]
push eax
mov eax, dword [ebp - 0x90]
inc eax
push eax
call fcn.1002b10d
mov byte [ebp - 4], 6
mov dword [ebp - 0xd8], ebx
mov dword [ebp - 0xd4], ebx
call fcn.10040818
mov dword [ebp - 0xd8], eax
push 7
pop eax
mov byte [ebp - 4], al
mov esi, ebx
mov eax, dword [ebp - 0xc4]
mov edi, ebx
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x34], edi
test eax, eax
je 0x1003467f
dec eax
mov dword [ebp - 0xc4], eax
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0xa9]
push eax
push 0x10007adc
call fcn.10049deb
add esp, 0xc
cmp byte [ebp - 0xa9], 0x2b
jne 0x10034513
cmp dword [ebp - 0xd4], 0
jbe 0x10034481
lea eax, [ebp - 0x90c]
jmp 0x100344c9
mov eax, dword [ebp - 0x98]
test esi, esi
jle 0x1003449c
cmp esi, eax
je 0x1003449a
push ebx
push ecx
push eax
lea eax, [ebp - 0x894]
jmp 0x100344d1
test esi, esi
jne 0x100344e7
test edi, edi
jle 0x100344e7
cmp edi, eax
je 0x100344e7
push ebx
push ecx
push edi
lea eax, [ebp - 0x944]
push eax
lea ecx, [ebp - 0x1e0]
call fcn.1002b18e
pop ecx
mov ecx, eax
call fcn.1002b1ad
lea eax, [ebp - 0x8a4]
push ebx
push ecx
push dword [ebp - 0x98]
push eax
lea ecx, [ebp - 0x1e0]
call fcn.1002b18e
pop ecx
mov ecx, eax
call fcn.1002b1ad
jmp 0x100344ec
mov esi, eax
mov dword [ebp - 0x4c], esi
movzx eax, byte [0x1686a1f2]
push eax
lea eax, [ebp - 0x98]
push eax
push ecx
lea eax, [ebp - 0x91c]
push eax
lea ecx, [ebp - 0xd8]
call fcn.10040a6a
jmp 0x100345fb
mov ecx, dword [ebp - 0xd8]
mov edx, ecx
mov edi, dword [ebp - 0x98]
mov dword [ebp - 0x34], edi
mov eax, dword [ecx + 4]
cmp byte [eax + 0xd], 0
jne 0x10034558
cmp dword [eax + 0x10], edi
jge 0x10034537
mov eax, dword [eax + 8]
jmp 0x1003453b
mov edx, eax
mov eax, dword [eax]
cmp byte [eax + 0xd], 0
je 0x1003452d
cmp edx, ecx
je 0x10034558
cmp edi, dword [edx + 0x10]
jl 0x10034558
mov dword [ebp - 0x358], edx
lea eax, [ebp - 0x358]
jmp 0x10034564
mov dword [ebp - 0x318], ecx
lea eax, [ebp - 0x318]
cmp dword [eax], ecx
jne 0x100345b7
mov eax, dword [ecx]
mov dword [ebp - 0x214], eax
cmp eax, ecx
je 0x100345ac
push ebx
push ecx
push dword [eax + 0x10]
lea eax, [ebp - 0x8b4]
push eax
lea ecx, [ebp - 0x1e0]
call fcn.1002b18e
pop ecx
mov ecx, eax
call fcn.1002b1ad
lea ecx, [ebp - 0x214]
call fcn.1002c6d2
mov eax, dword [ebp - 0x214]
cmp eax, dword [ebp - 0xd8]
jne 0x10034574
push ebx
push ecx
push edi
lea eax, [ebp - 0x93c]
jmp 0x100345e0
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0xd8]
call fcn.1003ff1b
cmp dword [ebp - 0xd4], 0
jbe 0x100345f6
push ebx
push ecx
push dword [ebp - 0x98]
lea eax, [ebp - 0x8c4]
push eax
lea ecx, [ebp - 0x1e0]
call fcn.1002b18e
pop ecx
mov ecx, eax
call fcn.1002b1ad
jmp 0x100345fb
mov esi, ebx
mov dword [ebp - 0x4c], esi
xor eax, eax
inc eax
mov ebx, eax
cmp dword [ebp - 0x90], eax
jl 0x1003464f
mov edi, dword [ebp - 0x90]
push ebx
lea eax, [ebp - 0x8fc]
push eax
lea ecx, [ebp - 0x1e0]
call fcn.1002b18e
xor ecx, ecx
mov esi, dword [eax]
lea edx, [ecx + 1]
mov ecx, dword [eax + 4]
shl edx, cl
test dword [esi], edx
je 0x10034644
push ebx
push 0x1000779c
call fcn.1004a17c
mov edi, dword [ebp - 0x90]
pop ecx
pop ecx
inc ebx
cmp ebx, edi
jle 0x1003460e
mov edi, dword [ebp - 0x34]
mov esi, dword [ebp - 0x4c]
push edi
push esi
push dword [ebp - 0x98]
push 0x10007ae4
call fcn.1004a17c
push 0x100076bd
call fcn.1004a3e5
mov eax, dword [ebp - 0xc4]
add esp, 0x14
push 0
pop ebx
test eax, eax
jne 0x10034441
dec eax
mov dword [ebp - 0xc4], eax
xor eax, eax
inc eax
mov edi, eax
cmp dword [ebp - 0x90], eax
jl 0x100346c0
push edi
lea eax, [ebp - 0x8dc]
push eax
lea ecx, [ebp - 0x1e0]
call fcn.1002b18e
xor ecx, ecx
mov esi, dword [eax]
lea edx, [ecx + 1]
mov ecx, dword [eax + 4]
shl edx, cl
test dword [esi], edx
je 0x100346b7
inc ebx
inc edi
cmp edi, dword [ebp - 0x90]
jle 0x10034693
push 0x10007b14
call fcn.1004a3e5
pop ecx
push ebx
push 0x10007778
call fcn.1004a17c
mov ebx, dword [ebp - 0x90]
xor eax, eax
inc eax
mov edi, eax
pop ecx
pop ecx
cmp ebx, eax
jl 0x10034722
push edi
lea eax, [ebp - 0x874]
push eax
lea ecx, [ebp - 0x1e0]
call fcn.1002b18e
xor ecx, ecx
mov esi, dword [eax]
lea edx, [ecx + 1]
mov ecx, dword [eax + 4]
shl edx, cl
test dword [esi], edx
je 0x1003471d
push edi
push 0x1000779c
call fcn.1004a17c
mov ebx, dword [ebp - 0x90]
pop ecx
pop ecx
inc edi
cmp edi, ebx
jle 0x100346e7
push 0x100076bd
call fcn.1004a3e5
pop ecx
lea ecx, [ebp - 0xd8]
call fcn.1003a895
lea ecx, [ebp - 0x1e0]
call fcn.1002b16e
push 2
xor ebx, ebx
pop edi
mov byte [ebp - 0x2d], bl
cmp byte [ebp - 0x2d], 0
je 0x10034759
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
lea ecx, [ebp - 0x5b8]
mov byte [ebp - 4], 3
call fcn.1000ba11
mov ebx, dword [ebp - 0x734]
push 4
mov dword [ebp - 0x4c], ebx
pop esi
mov dword [ebx + 0xc], edi
mov dword [ebp - 0x1c], 0xa296
lea ecx, [ebp - 0x698]
mov dword [ebp - 0x24], 0xe7ed6f18
mov dword [ebp - 0x2c], 0xfffffff8
mov dword [ebp - 0x74], 0xffff
push esi
call fcn.1000ad98
xor edx, edx
mov dword [ebp - 0x3c], 0x69097d9
mov dword [ebp - 0x10], edx
jmp 0x100347bc
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x698]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x100347ad
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setne dl
xor ecx, ecx
sub edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp eax, edx
setge cl
sub ecx, 0xfffffff8
neg ecx
sbb ecx, ecx
inc ecx
add ecx, dword [ebp - 0x1c]
jne 0x100347f4
cmp dword [ebp - 0x1c], ecx
jne 0x100347f6
mov eax, ecx
jmp 0x100347f9
xor ecx, ecx
xor eax, eax
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ecx
je 0x1003488d
mov dword [ebp - 0x10], 0xb6fe6d39
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x74], 0xffffffff
mov dword [ebp - 0x54], 0xd17c
mov dword [ebp - 0x18], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0xb2f6
setge cl
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x10]
add eax, 0x12c0
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x74], ecx
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x18]
sub edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x10]
setge cl
sub eax, ecx
xor ecx, ecx
cmp eax, 0xeb59
setg cl
mov dword [ebp - 0x74], ecx
jmp 0x100348b0
mov dword [ebp - 0x24], 0xfffffff2
jmp 0x100348aa
mov byte [ebp - 0x2d], cl
cmp byte [ebp - 0x2d], 0
je 0x100348a7
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
xor ecx, ecx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x11
jg 0x10034896
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 3
jg 0x100348cb
inc eax
mov dword [ebp - 0x34], eax
dec dword [ebp - 0x34]
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jle 0x100348bc
lea ecx, [ebp - 0x698]
call fcn.1000ba11
mov eax, dword [ebx + 0xc]
xor ecx, ecx
mov edx, dword [ebp + eax*4 - 0x334]
mov eax, dword [ebx + 0xc]
mov eax, dword [ebp + eax*4 - 0x334]
cmp edx, eax
setl cl
xor eax, eax
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x20], eax
je 0x10034904
cmp dword [ebp - 0x330], eax
je 0x10034904
inc eax
xor edx, edx
mov ecx, dword [ebx + 0xc]
inc edx
cmp edx, eax
push 0xfffffffffffffff9
sbb eax, eax
xor edx, edx
inc eax
cmp eax, 9
mov eax, dword [ebp + ecx*4 - 0x334]
setl dl
neg edx
sub edx, ecx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
pop eax
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebx + 0xc]
setl dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x334]
cmp edx, eax
mov eax, dword [ebp - 0x20]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x64]
setne dl
xor ecx, ecx
cmp edx, eax
setl cl
xor edx, edx
mov dword [ebp - 0x2c], ecx
xor ecx, ecx
mov dword [ebp - 0x10], ecx
inc edx
jmp 0x10034977
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x69c], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x1003496a
mov byte [ebp - 0x2d], cl
cmp byte [ebp - 0x2d], cl
je 0x10034991
push 0x1a17
call dword [sym.imp.USER32.dll_GetSysColor]
xor ecx, ecx
mov byte [ebp - 0x2d], cl
cmp byte [ebp - 0x2d], 0
je 0x100349a3
push ecx
call dword [sym.imp.USER32.dll_RegisterClassW]
xor ecx, ecx
mov byte [ebp - 0x11], cl
mov dword [ebp - 0x18], 9
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], esi
jne 0x10034a74
xor eax, eax
inc eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x13
jg 0x10034a68
mov dword [ebp - 0x2c], 0x20d7
cmp dword [ebp - 0x2c], 0x704
jge 0x10034a2b
lea eax, [ebp - 0x180]
mov dword [ebp - 0x1f8], ecx
push eax
lea eax, [ebp - 0x1f8]
mov dword [ebp - 0x180], ecx
push eax
push 0x10007770
call fcn.10049deb
mov esi, dword [ebp - 0x1f8]
add esp, 0xc
inc esi
jmp 0x10034a0d
inc esi
mov ecx, esi
call fcn.10033338
cmp eax, dword [ebp - 0x180]
jne 0x10034a0c
push esi
push 0x10007778
call fcn.1004a17c
pop ecx
pop ecx
xor ecx, ecx
mov dword [ebp - 0x10], 0x9fb023ed
mov dword [ebp - 0x10], 0xffffffe3
jmp 0x10034a4f
mov byte [ebp - 0x2d], cl
cmp byte [ebp - 0x2d], 0
je 0x10034a4c
call dword [sym.imp.USER32.dll_ReleaseCapture]
xor ecx, ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
je 0x10034a3b
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x13
jle 0x100349cc
xor eax, eax
push 4
inc eax
pop esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
je 0x100349bc
cmp byte [ebp - 0x11], 0
je 0x10034bd5
xor eax, eax
lea ecx, [ebp - 0x5e8]
inc eax
push eax
call fcn.1000ad98
push edi
lea ecx, [ebp - 0x5d0]
mov byte [ebp - 4], 8
call fcn.1000ad98
mov dword [ebp - 0x3c], 0x4e1c2e93
mov dword [ebp - 0x2c], 0x18e6
cmp dword [ebp - 0x2c], 0x1187
jge 0x10034b29
lea eax, [ebp - 0x244]
push eax
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x200]
push eax
push 0x10007894
call fcn.10049deb
mov ecx, dword [ebp - 0x244]
xor eax, eax
add esp, 0x10
mov edi, eax
test ecx, ecx
je 0x10034b12
mov edx, dword [ebp - 0x220]
mov esi, dword [ebp - 0x200]
push 4
pop ebx
lea eax, [esi + edx]
sub esi, ebx
lea edi, [edi + eax*2]
sub edx, ebx
add edi, 0xfffffffc
dec ecx
jne 0x10034af3
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x220], edx
mov dword [ebp - 0x200], esi
dec ecx
push edi
push 0x10007778
mov dword [ebp - 0x244], ecx
call fcn.1004a17c
pop ecx
pop ecx
push 2
pop edi
xor edx, edx
mov dword [ebp - 0x2c], 0x78ee3f2f
xor eax, eax
mov dword [ebp - 0x18], edx
inc eax
cmp dword [ebp - 0x18], eax
jge 0x10034b58
inc edx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x5e8]
mov dword [eax + ecx*4], 0x2667
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x10034b3e
xor edx, edx
mov dword [ebp - 0x18], edx
jmp 0x10034b70
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x5d0]
mov dword [eax + ecx*4], 0xea21
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10034b5d
mov eax, dword [ebp - 0x5e8]
xor ecx, ecx
mov esi, dword [eax]
test esi, esi
mov eax, dword [ebp - 0x5d0]
setne cl
xor edx, edx
cmp ecx, dword [eax]
setge dl
xor eax, eax
cmp edx, 0x33c017f2
setg al
xor ecx, ecx
add eax, esi
cmp eax, esi
setne cl
xor eax, eax
cmp esi, ecx
lea ecx, [ebp - 0x5d0]
setge al
mov dword [ebp - 0x2c], eax
call fcn.1000ba11
lea ecx, [ebp - 0x5e8]
mov byte [ebp - 4], 3
call fcn.1000ba11
xor eax, eax
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
push 4
pop esi
dec dword [ebx + 0xc]
jns 0x10034777
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x734]
call fcn.1000ba11
inc dword [ebp - 0x20]
push 0
pop ebx
cmp dword [ebp - 0x20], edi
jle 0x10033d03
mov dword [ebp - 0x2c], 0x1cf9
cmp dword [ebp - 0x2c], 0xf14
jge 0x10034c17
push 0x10007b20
call fcn.1004a3e5
pop ecx
mov dword [ebp - 0x10], ebx
xor ecx, ecx
mov dword [ebp - 0x2c], 0x67f5ed9a
inc ecx
mov dword [ebp - 0x34], 0x11151c3c
mov dword [ebp - 0x64], 0xffffffff
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x10], ebx
jmp 0x10034c4e
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x178], 0x6de0184d
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10034c3d
mov dword [ebp - 0x10], 0xd
jmp 0x10034cd2
mov dword [ebp - 0x44], 0x398070a
mov dword [ebp - 0x644], eax
mov dword [ebp - 0x640], eax
mov dword [ebp - 0x63c], eax
mov dword [ebp - 0x638], eax
mov dword [ebp - 0x4c], 0xffff
dec dword [ebp - 0x4c]
mov dword [ebp - 0x63c], 0x300c
mov eax, dword [ebp - 0x178]
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x34]
jle 0x10034ca0
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
xor edx, edx
mov eax, dword [ebp - 0x64]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x34]
cmp eax, ecx
mov eax, dword [ebp - 0x178]
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x64], ecx
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x178], eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xe
mov eax, 0xa5c62e08
jg 0x10034c5c
mov dword [ebp - 0x10], 0xfd3df75d
lea ecx, [ebp - 0x4a4]
push 3
call fcn.1000ad98
mov dword [ebp - 0x2c], 0xad67a4be
mov dword [ebp - 0x10], ebx
jmp 0x10034d14
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x4a4]
mov dword [eax + ecx*4], 0xfffffff7
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x10034d01
mov dword [ebp - 0x10], 0xffffffe4
cmp dword [ebp - 0x10], 0xffffffe6
jg 0x10034d58
mov ecx, dword [ebp - 0x4a4]
mov dword [ebp - 0x34], 0x1d83
cmp dword [ebp - 0x34], ebx
je 0x10034d47
cmp dword [ebp - 0x34], 0x4781
jg 0x10034d47
xor eax, eax
inc eax
jmp 0x10034d49
mov eax, ebx
mov dword [ecx + 4], eax
mov dword [ebp - 0x2c], eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffe6
jle 0x10034d2d
lea ecx, [ebp - 0x4a4]
call fcn.1000ba11
push 4
pop esi
mov byte [ebp - 0x11], bl
lea ecx, [ebp - 0x2c0]
push esi
call fcn.1000ad98
mov dword [ebp - 4], 9
mov dword [ebp - 0x6c], 0x98ceef9a
mov dword [ebp - 0x18], ebx
jmp 0x10034d9b
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c0]
mov dword [eax + ecx*4], 0xe48d327c
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10034d88
mov dword [ebp - 0x18], ebx
jmp 0x10034db6
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xb4], 0x52061f6
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10034da5
mov dword [ebp - 0x2c], 0x1c32
cmp dword [ebp - 0x2c], 0x1266
jge 0x100350f7
push ebx
push ebx
lea ecx, [ebp - 0x1c0]
mov dword [ebp - 0x1b0], ebx
mov dword [ebp - 0x1ac], ebx
call fcn.1000b4a3
mov esi, 0x10653dd0
mov byte [ebp - 4], 0xa
lea edx, [ebp - 0x1c0]
mov ecx, esi
call fcn.1002c9ed
lea eax, [ebp - 0x268]
push eax
push ecx
lea eax, [ebp - 0x480]
mov ecx, esi
push eax
call fcn.1003fd7c
pop ecx
mov ecx, eax
call fcn.1003fd7c
mov dword [ebp - 0x1a0], ebx
mov dword [ebp - 0x19c], ebx
call fcn.1002c70c
mov dword [ebp - 0x1a0], eax
mov byte [ebp - 4], 0xb
xorps xmm0, xmm0
cmp dword [ebp - 0x1b0], 0
movlpd qword [ebp - 0x40], xmm0
movlpd qword [ebp - 0x1e8], xmm0
jbe 0x10034f13
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x1e8]
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x1ac], 0x10
lea eax, [ebp - 0x1c0]
cmovae eax, dword [ebp - 0x1c0]
movsx eax, byte [ebx + eax]
sub eax, 0x30
cdq
mov edi, eax
mov esi, edx
xor eax, eax
push eax
push 0xa
push ecx
push dword [ebp - 0x34]
call fcn.1004f840
push dword [ebp - 0x47c]
add edi, eax
push dword [ebp - 0x480]
adc esi, edx
push esi
push edi
call fcn.10062410
mov ecx, eax
mov eax, edx
mov dword [ebp - 0x34], ecx
or ecx, eax
mov dword [ebp - 0x4c], eax
jne 0x10034ed8
movzx ecx, byte [0x1686a1f2]
lea eax, [ebp - 0x1e8]
push ecx
push eax
push ecx
lea eax, [ebp - 0x8f4]
push eax
lea ecx, [ebp - 0x1a0]
call fcn.10040b23
xor eax, eax
inc eax
add ebx, eax
mov eax, dword [ebp - 0x1e4]
push 0
pop ecx
adc eax, ecx
mov dword [ebp - 0x1e8], ebx
cmp eax, ecx
mov dword [ebp - 0x1e4], eax
mov ecx, dword [ebp - 0x4c]
jl 0x10034e63
mov eax, dword [ebp - 0x1b0]
jg 0x10034f0f
cmp ebx, eax
jb 0x10034e63
xor ebx, ebx
jmp 0x10034f19
mov eax, dword [ebp - 0x1b0]
lea esi, [eax - 1]
mov dword [ebp - 0x4c], ebx
xor eax, eax
xor ecx, ecx
inc ecx
mov edi, eax
or ebx, 0xffffffff
mov dword [ebp - 0x10], ecx
xorps xmm0, xmm0
movlpd qword [ebp - 0x40], xmm0
cmp edi, eax
jl 0x100350cf
jg 0x10034f46
cmp esi, eax
jb 0x100350cf
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x1ac], 0x10
lea eax, [ebp - 0x1c0]
push dword [ebp - 0x4c]
cmovae eax, dword [ebp - 0x1c0]
push ecx
movsx eax, byte [esi + eax]
sub eax, 0x30
cdq
push edx
push eax
call fcn.1004f840
push dword [ebp - 0x264]
add eax, dword [ebp - 0x44]
push dword [ebp - 0x268]
adc edx, dword [ebp - 0x64]
push edx
push eax
call fcn.10062410
mov dword [ebp - 0x44], eax
xor eax, eax
push eax
mov eax, dword [ebp - 0x10]
push 0xa
push dword [ebp - 0x4c]
mov dword [ebp - 0x64], edx
push eax
call fcn.1004f840
push dword [ebp - 0x264]
push dword [ebp - 0x268]
push edx
push eax
call fcn.10062410
cmp dword [ebp - 0x1ac], 0x10
lea ecx, [ebp - 0x1c0]
mov dword [ebp - 0x10], eax
cmovae ecx, dword [ebp - 0x1c0]
mov dword [ebp - 0x4c], edx
cmp byte [esi + ecx], 0x30
je 0x10035022
mov ecx, dword [ebp - 0x44]
or ecx, dword [ebp - 0x64]
jne 0x10035022
xor eax, eax
mov ecx, esi
inc eax
sub ecx, eax
mov eax, edi
push 0
pop edx
sbb eax, edx
mov dword [ebp - 0x478], ecx
mov dword [ebp - 0x474], eax
lea ecx, [ebp - 0x1a0]
lea eax, [ebp - 0x478]
push eax
lea eax, [ebp - 0x6d4]
push eax
call fcn.1003ffaf
mov eax, dword [eax]
cmp eax, dword [ebp - 0x1a0]
cmovne ebx, esi
mov ecx, dword [ebp - 0x10]
add esi, 0xffffffff
adc edi, 0xffffffff
xor eax, eax
cmp edi, eax
jg 0x10034f52
jl 0x1003503f
cmp esi, eax
jae 0x10034f52
test ebx, ebx
js 0x100350cf
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x974]
push eax
lea ecx, [ebp - 0x1c0]
call fcn.1002a8fe
mov edi, eax
push ebx
xor ebx, ebx
mov byte [ebp - 4], 0xc
push ebx
lea eax, [ebp - 0x95c]
push eax
lea ecx, [ebp - 0x1c0]
call fcn.1002a8fe
mov esi, eax
mov edx, 0x100078cc
mov byte [ebp - 4], 0xd
mov ecx, 0x10653d18
call fcn.1002c75b
mov edx, esi
mov ecx, eax
call fcn.1000e5bb
push eax
call fcn.1000e758
pop ecx
mov edx, edi
mov ecx, eax
call fcn.1000e5bb
push eax
call fcn.1000e758
pop ecx
xor eax, eax
lea ecx, [ebp - 0x95c]
push ebx
inc eax
push eax
call fcn.1000b4a3
xor eax, eax
lea ecx, [ebp - 0x974]
push ebx
inc eax
push eax
call fcn.1000b4a3
jmp 0x100350dc
push 0x100078c4
call fcn.1004a3e5
pop ecx
xor ebx, ebx
lea ecx, [ebp - 0x1a0]
call fcn.1002b043
xor eax, eax
lea ecx, [ebp - 0x1c0]
push ebx
inc eax
push eax
call fcn.1000b4a3
mov dword [ebp - 0xb0], 3
cmp dword [ebp - 0xb0], ebx
jl 0x100351b4
xor edi, edi
inc edi
mov dword [ebp - 0x10], 0x76ab2aee
mov ecx, dword [ebp - 0xb0]
mov esi, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x2c0]
mov edx, dword [ebp - 0x10]
sub edx, dword [eax + ecx*4]
mov eax, dword [ebp - 0xb0]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
mov eax, dword [ebp - 0x2c0]
setne cl
add ecx, dword [eax + esi*4]
je 0x1003514f
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0xb0]
mov esi, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x2c0]
cmp dword [ecx + eax*4], edi
mov ecx, dword [ecx + esi*4]
mov eax, dword [ebp - 0x10]
sete dl
sub ecx, edx
xor edx, edx
cmp ecx, eax
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x2c0]
setle dl
mov dword [eax + ecx*4], edx
mov dword [ebp - 0x6c], edx
dec dword [ebp - 0xb0]
jns 0x10035110
mov ecx, dword [ebp - 0xb0]
xor edx, edx
mov eax, dword [ebp - 0x6c]
cmp eax, ecx
lea ecx, [ebp - 0x2c0]
setne dl
mov dword [ebp - 0x6c], edx
or dword [ebp - 4], 0xffffffff
call fcn.1000ba11
cmp byte [ebp - 0x11], 0
je 0x100352d7
push 4
pop esi
mov dword [ebp - 0x1c], 0x2a43d953
lea ecx, [ebp - 0x5f4]
mov dword [ebp - 0x10], 0x746e33a7
push esi
call fcn.1000ad98
mov dword [ebp - 0x34], 0x570e81de
mov dword [ebp - 0x2c], 0xd1d8475
mov dword [ebp - 0x20], ebx
jmp 0x10035223
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x5f4]
mov dword [eax + ecx*4], 0x55248722
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x10035210
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10035247
push 0xff4
push 0x8bd
push ebx
push 0x189
call dword [sym.imp.USER32.dll_DrawEdge]
cmp dword [ebp - 0x1c], ebx
jne 0x100352b5
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
test eax, eax
mov eax, dword [ebp - 0x5f4]
sets cl
mov dword [eax + 8], ecx
test ecx, ecx
je 0x1003527b
cmp dword [ebp - 0x10], ebx
je 0x1003527b
xor eax, eax
lea ecx, [eax + 1]
jmp 0x1003527d
mov ecx, ebx
xor eax, eax
cmp ecx, 0xffff
sete al
cmp eax, 0xfff6
mov eax, dword [ebp - 0x10]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
setne dl
add edx, dword [ebp - 0x10]
jne 0x100352a8
cmp dword [ebp - 0x1c], ebx
jne 0x100352a8
mov eax, ebx
jmp 0x100352ab
xor eax, eax
inc eax
mov dword [ebp - 0x34], eax
mov ecx, ebx
mov eax, dword [ebp - 0x34]
jmp 0x100352ba
xor eax, eax
lea ecx, [eax + 1]
xor eax, eax
cmp ecx, 0xfffffffd
lea ecx, [ebp - 0x5f4]
setle al
mov dword [ebp - 0x2c], eax
call fcn.1000ba11
push ebx
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
mov edi, 0x5dcec3d7
mov dword [ebp - 0x3c], edi
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
mov ebx, dword [sym.imp.GDI32.dll_Polygon]
je 0x100352fd
push 0x21ab
xor eax, eax
push eax
push 0x228a
call ebx
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x10035311
call esi
xor eax, eax
mov dword [ebp - 0x20], 0xffff
inc dword [ebp - 0x20]
mov dword [ebp - 0x20], 0x18
jmp 0x1003533e
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x1003533b
push eax
push 0x252c
call dword [sym.imp.GDI32.dll_GetWindowOrgEx]
xor eax, eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x1f
jne 0x10035324
mov dword [ebp - 0x3c], edi
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x1003535d
push 0x21ab
push eax
push 0x228a
call ebx
xor ebx, ebx
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x10035369
call esi
mov dword [ebp - 0x10], 0xeee2
mov dword [ebp - 0x34], 0x4888999d
cmp dword [ebp - 0x10], ebx
je 0x10035383
xor eax, eax
lea edx, [eax + 1]
jmp 0x10035385
mov edx, ebx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x10]
add ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x34]
imul eax, edx
xor edx, edx
mov byte [ebp - 0x11], bl
cmp eax, ecx
setle dl
cmp edx, 0xffff
jae 0x100353bb
cmp byte [ebp - 0x11], bl
je 0x100353d5
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SizeofResource]
jmp 0x100353d5
cmp byte [ebp - 0x11], bl
je 0x100353d5
push 0x16b8
push 0x32a
push 0x1115
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
push 0xfffffffffffffffc
pop esi
push 2
pop edi
mov dword [ebp - 0x28], 0x3ae35568
lea ecx, [ebp - 0x4bc]
mov dword [ebp - 0x34], esi
push edi
call fcn.1000ad98
mov dword [ebp - 4], 0xe
mov dword [ebp - 0x10], ebx
jmp 0x1003540c
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x4bc]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x100353fd
mov dword [ebp - 0x28], ebx
cmp dword [ebp - 0x28], 0xfffffffe
jl 0x1003568a
mov ebx, dword [ebp - 0x4bc]
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x24], 0xa473eb90
mov dword [ebp - 0x4c], 0xfffffffa
mov dword [ebp - 0x24], 0xb
cmp dword [ebp - 0x24], 0xfffffff6
je 0x10035484
xor ebx, ebx
mov dword [ebp - 0x34], 6
inc dword [ebp - 0x34]
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x10035478
push ebx
push 0xc80
push ebx
push ebx
push 0x733
push 0xbf7
push 0x6a9
push 0x265e
call dword [sym.imp.GDI32.dll_ExtTextOutA]
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xfffffff6
jne 0x10035444
mov ebx, dword [ebp - 0x44]
mov dword [ebp - 0x2c], 0x158f
cmp dword [ebp - 0x2c], 0x8bf
jge 0x100355d7
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x16c]
push eax
push 0x100077bc
call fcn.10049deb
add esp, 0xc
cmp eax, edi
jne 0x100355d7
xor eax, eax
push 0x4000
push eax
lea eax, [ebp - 0x4f70]
push eax
call fcn.10032915
xor eax, eax
add esp, 0xc
inc eax
mov byte [ebp - 0x4f70], al
xor eax, eax
mov ebx, eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x16c], eax
jle 0x10035582
mov edi, eax
lea eax, [ebp - 0x228]
push eax
push 0x10007750
call fcn.10049deb
xor eax, eax
mov esi, eax
pop ecx
pop ecx
cmp dword [ebp - 0x228], eax
jle 0x10035544
xor ebx, ebx
lea eax, [ebp - 0x208]
push eax
push 0x10007750
call fcn.10049deb
pop ecx
pop ecx
mov ecx, dword [ebp - 0x208]
lea eax, [ebx + 1]
dec ecx
shl eax, cl
or edi, eax
mov dword [ebp - 0x208], ecx
inc esi
cmp esi, dword [ebp - 0x228]
jl 0x10035511
mov ebx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x170]
xor eax, eax
mov ecx, esi
lea edx, [eax + 1]
shl edx, cl
jmp 0x10035567
mov al, byte [ebp + edx - 0x4f70]
mov ecx, edx
or ecx, edi
or byte [ebp + ecx - 0x4f70], al
dec edx
jns 0x10035555
inc ebx
push 0
mov dword [ebp - 0x34], ebx
pop eax
cmp ebx, dword [ebp - 0x16c]
jl 0x100354ee
push 2
pop edi
jmp 0x10035588
mov esi, dword [ebp - 0x170]
mov edx, eax
mov ecx, esi
xor eax, eax
inc eax
shl eax, cl
jmp 0x1003559e
cmp byte [ebp + eax - 0x4f70], 0
je 0x1003559e
inc edx
dec eax
test eax, eax
jg 0x10035593
push edx
push 0x100077c4
call fcn.1004a17c
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x16c]
push eax
push 0x100077bc
call fcn.10049deb
add esp, 0x14
cmp eax, edi
je 0x100354bb
mov ebx, dword [ebp - 0x44]
push 0xfffffffffffffffc
pop esi
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
xor eax, eax
inc eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x24]
imul eax, dword [ebp - 0x28], 0x48865c89
test eax, eax
je 0x1003563c
mov dword [ebp - 0x34], 0x18f8f6a1
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0x28], esi
je 0x1003560f
mov eax, dword [ebp - 0x28]
xor eax, eax
xor ecx, ecx
cmp dword [ebx + 4], eax
sete cl
test ecx, ecx
setg al
xor edx, edx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x24]
cmp eax, ecx
setle dl
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x4c]
jmp 0x1003567b
xor eax, eax
push 4
mov dword [ebp - 0x10], eax
pop ecx
jmp 0x10035657
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x8d4], 0x3314648a
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10035646
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
cmp ecx, eax
sbb ecx, ecx
neg ecx
sub ecx, dword [ebp - 0x8d0]
mov eax, dword [ebp - 0x4c]
neg ecx
sbb ecx, ecx
inc ecx
add eax, ecx
mov dword [ebx + 4], eax
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xfffffffe
jge 0x10035427
xor ebx, ebx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4bc]
call fcn.1000ba11
xor eax, eax
lea ecx, [ebp - 0x3f4]
inc eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x3c], 0xacc4
push 4
mov dword [ebp - 0x3c], 0x8b15e31
mov dword [ebp - 0x3c], esi
pop esi
mov dword [ebp - 0x3c], 0x8ab9c279
push esi
call fcn.1000ad98
mov dword [ebp - 4], 0xf
mov dword [ebp - 0x28], ebx
jmp 0x100356e8
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x29c], ebx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 3
jl 0x100356db
mov dword [ebp - 0x28], ebx
jmp 0x10035704
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x464], 0x8787d636
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jl 0x100356f3
mov dword [ebp - 0x28], ebx
jmp 0x10035721
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x3f4]
mov dword [eax + ecx*4], 9
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], esi
jl 0x1003570e
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x1c]
sub ecx, eax
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x24], 8
jmp 0x10035954
push 0xfffffffffffffff9
pop eax
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x594]
push edi
call fcn.1000ad98
xor ecx, ecx
mov dword [ebp - 0x2c], 0x1d979388
mov dword [ebp - 0x18], ebx
inc ecx
jmp 0x1003577b
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x144], 0xdfa90ef8
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1003576a
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], edi
jge 0x100357a3
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x594]
mov dword [eax + ecx*4], 0x25ad92ed
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10035788
xor ecx, ecx
inc ecx
mov dword [ebp - 0x1c], ebx
jmp 0x1003593d
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x20], edi
cmp dword [ebp - 0x20], ebx
jl 0x1003585e
mov dword [ebp - 0x10], ebx
jmp 0x100357cf
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x210], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x100357c2
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
jne 0x100359ab
mov eax, dword [ebp - 0x20]
push 1
mov eax, dword [ebp + eax*4 - 0x29c]
mov eax, dword [ebp - 0x460]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x29c]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x3f4]
mov dword [eax + 0xc], ecx
mov eax, dword [ebp - 0x294]
mov eax, dword [ebp - 0x210]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x144]
mov eax, dword [ebp - 0x210]
dec dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x29c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x29c]
mov ecx, dword [ebp - 0x144]
mov eax, dword [ebp - 0x20]
dec ecx
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp + eax*4 - 0x29c], ecx
dec dword [ebp - 0x20]
pop ecx
jns 0x100357bd
mov dword [ebp - 0x18], 0xa
cmp dword [ebp - 0x18], edi
jne 0x10035937
mov esi, dword [ebp - 0x3f4]
mov edi, dword [ebp - 0x594]
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x10], 0xad14ca72
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x20]
xor eax, eax
cmp dword [esi + 0xc], ebx
setne al
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x144]
setge dl
xor ecx, ecx
cmp edx, 0x2de47e5f
setg cl
add eax, ecx
mov ecx, dword [ebp - 0x464]
imul ecx, eax
neg ecx
je 0x100358c8
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x144], 0xe410f713
mov eax, dword [ebp - 0x10]
neg eax
je 0x100358df
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
mov ecx, 0x8456a9e5
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
neg eax
sbb eax, eax
inc eax
cmp ecx, eax
mov eax, dword [ebp - 0x20]
sbb ecx, ecx
xor edx, edx
neg ecx
dec ecx
cmp ecx, eax
setl dl
sub edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
neg edx
sbb edx, edx
inc edx
sub eax, edx
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x2c], eax
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
je 0x1003587a
push 2
pop edi
inc dword [ebp - 0x1c]
push 1
pop ecx
cmp dword [ebp - 0x1c], edi
jle 0x100357ab
lea ecx, [ebp - 0x594]
call fcn.1000ba11
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x1c
jle 0x10035749
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3f4]
call fcn.1000ba11
mov dword [ebp - 0x20], 0xffff
inc dword [ebp - 0x20]
mov dword [ebp - 0x20], 0x18
cmp dword [ebp - 0x20], 0x1f
je 0x10035db8
mov esi, 0x6243a5d8
push 4
pop eax
push eax
lea ecx, [ebp - 0x290]
call fcn.1000ad98
push 4
mov dword [ebp - 0x4c], 0x98ceef9a
mov dword [ebp - 0x18], ebx
pop edx
jmp 0x100359c9
push 0x252
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x290]
mov dword [eax + ecx*4], 0xe48d327c
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x100359b6
mov dword [ebp - 0x18], ebx
jmp 0x100359e4
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xa0], 0x52061f6
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x100359d3
mov dword [ebp - 0x9c], 3
cmp dword [ebp - 0x9c], ebx
jl 0x10035aae
xor edi, edi
inc edi
mov dword [ebp - 0x10], 0x76ab2aee
mov ecx, dword [ebp - 0x9c]
mov esi, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x10]
sub edx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x9c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
mov eax, dword [ebp - 0x290]
setne cl
add ecx, dword [eax + esi*4]
je 0x10035a41
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x9c]
mov esi, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x290]
cmp dword [ecx + eax*4], edi
mov ecx, dword [ecx + esi*4]
mov eax, dword [ebp - 0x10]
sete dl
sub ecx, edx
xor edx, edx
cmp ecx, eax
mov ecx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x290]
setle dl
mov dword [eax + ecx*4], edx
mov dword [ebp - 0x4c], edx
dec dword [ebp - 0x9c]
jns 0x10035a02
push 2
pop edi
mov esi, 0x6243a5d8
mov ecx, dword [ebp - 0x9c]
xor edx, edx
mov eax, dword [ebp - 0x4c]
cmp eax, ecx
lea ecx, [ebp - 0x290]
setne dl
mov dword [ebp - 0x4c], edx
call fcn.1000ba11
mov byte [ebp - 0x11], bl
lea ecx, [ebp - 0x780]
mov dword [ebp - 0x1c], ebx
push 4
mov dword [ebp - 0x44], 0x3cf95751
pop eax
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [ebp - 0x4c], 0xbd3aeb59
inc eax
mov dword [ebp - 0x34], 0xf1fdbd01
mov dword [ebp - 0x2c], 0x93c1
mov dword [ebp - 0x24], 0x43b8a277
push eax
call fcn.1000ad98
push 3
lea ecx, [ebp - 0x6a8]
mov dword [ebp - 4], 0x10
call fcn.1000ad98
xor edx, edx
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x18], ebx
inc edx
jmp 0x10035b3c
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x780]
mov dword [eax + ecx*4], 0x109d
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x10035b29
mov dword [ebp - 0x18], ebx
jmp 0x10035b56
cmp dword [ebp - 0x18], 3
jl 0x10035b46
mov dword [ebp - 0x1c], 0x8da8e97e
lea ecx, [ebp - 0x4d4]
push 3
call fcn.1000ad98
mov dword [ebp - 0x4c], 0xe491ba6b
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x18], ebx
jmp 0x10035df5
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x4d4]
mov dword [eax + ecx*4], 0xbefa1e1c
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10035de2
mov dword [ebp - 0x18], ebx
jmp 0x10035e11
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x2ec], 0x46b4
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10035e00
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp eax, 0x14cd4959
setne cl
xor edx, edx
imul ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp ecx, 0x8e17
setl dl
sub eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
add edx, eax
mov eax, dword [ebp - 0x1c]
cmp edx, eax
mov eax, dword [ebp - 0x4d4]
setg cl
xor edx, edx
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x2e8]
imul ecx, ecx, 0xa9b
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setl dl
xor ecx, ecx
cmp eax, edx
setge cl
mov dword [ebp - 0x4c], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x2e8]
inc ecx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x34], ebx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x2e8]
mov dword [ebp - 0x2c], 0x2601c8d5
mov dword [ebp - 0x10], ebx
jmp 0x10035eb0
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x388], 0x53d97512
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10035e9f
mov eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0x4d4]
mov dword [ebp - 0x388], eax
call fcn.1000ba11
mov dword [ebp - 0x34], 0x49c9fb37
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x18], ebx
jmp 0x10035ef4
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x154], 0x3df603fa
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10035ee3
push 3
mov dword [ebp - 0x18], ebx
pop ecx
jmp 0x10035f12