Function at 0x42c00c
Capabilities:
Get common file path
Get geographical location

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1f8
push ebx
mov dword [ebp - 0x14], 0x91a049fe
xor ebx, ebx
mov dword [ebp - 0x30], 0xa094
inc ebx
xor eax, eax
mov dword [ebp - 0x30], ebx
push esi
push edi
mov byte [ebp - 5], al
mov edi, ecx
mov byte [ebp - 0x31], dl
mov dword [ebp - 0x20], edi
cmp byte [ebp - 5], al
je 0x42c056
push 0x2046
push eax
push 0x1cf9
push 0x1af7
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
xor eax, eax
mov dword [ebp - 0x14], 2
cmp dword [ebp - 0x14], 5
jl 0x42c17a
xor edi, edi
inc edi
mov dword [ebp - 0x1c], 0xaa39ed08
mov dword [ebp - 0x1c], eax
jmp 0x42c084
mov ecx, dword [ebp - 0x1c]
mov dword [ebp + ecx*4 - 0x4c], 0x124f84b8
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x42c076
mov dword [ebp - 0x1c], eax
jmp 0x42c0a0
mov ecx, dword [ebp - 0x1c]
mov dword [ebp + ecx*4 - 0x1c4], 0xfffffffd
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x42c08f
mov dword [ebp - 0x1c], eax
jmp 0x42c15e
mov ecx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ebp + ecx*4 - 0x4c]
mov edx, dword [ebp - 0x4c]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, esi
setl cl
xor edx, edx
cmp ecx, 0x7f51
mov ecx, dword [ebp - 0x14]
setle dl
xor ebx, ebx
cmp edx, ecx
setl bl
imul ebx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x30], ebx
xor ebx, ebx
cmp dword [ebp - 0x30], ecx
mov ecx, dword [ebp - 0x1c]
setg bl
xor edx, edx
cmp ebx, ecx
mov ecx, dword [ebp - 0x14]
setge dl
sub ecx, edx
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x1c0], ecx
jne 0x42c118
mov esi, eax
cmp dword [ebp - 0x14], eax
je 0x42c11a
mov esi, edi
mov ecx, dword [ebp - 0x14]
xor edx, edx
cmp esi, ecx
setle dl
xor ebx, ebx
mov dword [ebp - 0x30], edx
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp + ecx*4 - 0x4c]
mov ecx, dword [ebp - 0x30]
cmp edx, ecx
setne bl
sub ebx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
imul ebx, dword [ebp + ecx*4 - 0x4c]
neg ebx
sbb ebx, ebx
neg ebx
lea ecx, [ebx + 0x5243b9c3]
mov dword [ebp - 0x30], ecx
mov ecx, dword [ebp - 0x1c]
cmp dword [ebp + ecx*4 - 0x4c], eax
jne 0x42c167
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jle 0x42c0ae
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 5
jge 0x42c06a
mov edi, dword [ebp - 0x20]
xor ebx, ebx
inc ebx
mov dword [ebp - 0x24], 0xd29be1d9
mov dword [ebp - 0x24], eax
jmp 0x42c197
mov ecx, dword [ebp - 0x24]
mov dword [ebp + ecx*4 - 0x98], 0x648261f
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jl 0x42c186
mov dword [ebp - 0x24], eax
jmp 0x42c1b0
mov ecx, dword [ebp - 0x24]
cmp dword [ebp + ecx*4 - 0x98], eax
jne 0x42c1b5
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], eax
jle 0x42c1a1
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x42c206
push eax
push 0x218d
push 0xeb0
push 0x16c3
push 0x23cc
push 0x1588
push 0x407
push 0x1095
push 0x1826
push 0x22cb
push 0x251e
push 0x83b
push 0x1a9e
push 0x124d
call dword [sym.imp.GDI32.dll_CreateFontA]
or eax, 0xffffffff
lea ecx, [ebp - 0xa8]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0xc], 0x5c7a00f4
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], 0xfffffff7
mov dword [ebp - 0x24], ebx
push ebx
call fcn.0042bc99
push 3
lea ecx, [ebp - 0x138]
call fcn.0042bc99
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x42c24f
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xa8]
mov dword [ecx + edx*4], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x42c240
mov dword [ebp - 0x1c], eax
jmp 0x42c268
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x138]
mov dword [ecx + edx*4], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x42c259
mov byte [ebp - 5], al
cmp byte [ebp - 5], al
je 0x42c27f
push eax
call dword [sym.imp.GDI32.dll_CreateBitmapIndirect]
xor eax, eax
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x18]
cmp edx, ecx
sbb ecx, ecx
inc ecx
sub ecx, dword [ebp - 0x10]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x14], ecx
mov esi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
neg esi
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0xc]
sbb esi, esi
neg esi
cmp ecx, esi
mov ecx, dword [ebp - 0x18]
setne dl
xor ebx, ebx
cmp edx, ecx
mov ecx, dword [ebp - 0x18]
setle bl
xor edx, edx
cmp ecx, ebx
setne dl
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], eax
je 0x42c417
mov dword [ebp - 0x1c], 0x5acee617
xor edx, edx
mov dword [ebp - 0x28], 0xa80146bf
mov dword [ebp - 0x30], 0xf9c8
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x24]
cmp ecx, 0x7d6b5922
mov esi, dword [ebp - 0x1c]
setne dl
xor ecx, ecx
cmp edx, 0x4262
setl cl
neg esi
sbb esi, esi
inc esi
sub esi, ecx
mov ecx, dword [ebp - 0x1c]
neg esi
sbb esi, esi
xor edx, edx
inc esi
cmp esi, ecx
setge dl
mov dword [ebp - 0x14], edx
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], eax
je 0x42c3a9
mov dword [ebp - 0x18], 0x6c7a88ff
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], 0x46cb4f5f
cmp dword [ebp - 0x18], eax
jne 0x42c351
cmp dword [ebp - 0xc], eax
jne 0x42c351
mov esi, eax
jmp 0x42c354
xor esi, esi
inc esi
mov ecx, dword [ebp - 0x1c]
xor edx, edx
test ecx, ecx
mov ecx, dword [ebp - 0x14]
setle dl
xor ebx, ebx
cmp edx, ecx
mov ecx, dword [ebp - 0x1c]
setg bl
xor edx, edx
cmp ecx, ebx
setle dl
xor ebx, ebx
imul edx, dword [ebp - 0x24]
mov dword [ebp - 0x30], edx
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x30]
add edx, esi
cmp edx, ecx
setle bl
sub ebx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
neg ebx
sbb ebx, ebx
xor edx, edx
inc ebx
cmp ebx, ecx
setle dl
xor ebx, ebx
mov dword [ebp - 0x30], edx
inc ebx
mov dword [ebp - 0x1c], 0x4ade726f
jmp 0x42c3c6
xor ebx, ebx
mov dword [ebp - 0x10], eax
inc ebx
jmp 0x42c3c1
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xa8]
or dword [ecx + edx*4], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x42c3b1
cmp dword [ebp - 0x10], eax
je 0x42c404
mov ecx, dword [ebp - 0x1c]
cmp dword [ebp - 0x14], eax
jne 0x42c3fd
cmp dword [ebp - 0x1c], eax
je 0x42c3e2
mov ecx, dword [ebp - 0x1c]
mov edx, ebx
cmp ecx, dword [ebp - 0x14]
je 0x42c3e4
mov edx, eax
mov ecx, dword [ebp - 0x1c]
imul ecx, edx
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x28]
imul ecx, dword [ebp - 0x1c]
test ecx, ecx
je 0x42c404
cmp dword [ebp - 0xc], eax
je 0x42c404
mov ecx, ebx
cmp dword [ebp - 0x28], eax
jne 0x42c406
mov ecx, eax
mov eax, dword [ebp - 0x28]
imul eax, ecx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x30], ebx
jmp 0x42c493
mov dword [ebp - 0xc], 0xab72231b
mov dword [ebp - 0x28], 0x96c9a5ce
mov dword [ebp - 0x30], 0x2a7322e5
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], eax
jl 0x42c458
mov dword [ebp - 0x18], eax
jmp 0x42c44e
mov ecx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0xa8]
mov ecx, dword [edx + ecx*4]
mov dword [edx + esi*4], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], eax
jle 0x42c439
dec dword [ebp - 0x14]
jns 0x42c434
mov eax, dword [ebp - 0x28]
xor edx, edx
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x138]
mov eax, dword [ebp - 0x28]
cmp eax, dword [ecx + 4]
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
setne dl
xor ebx, ebx
cmp edx, 0xfffffffa
setle bl
xor edx, edx
cmp ecx, eax
setle dl
sub edx, ebx
xor ebx, ebx
dec edx
inc ebx
mov dword [ebp - 0x30], edx
lea ecx, [ebp - 0x138]
call fcn.0042bd6b
lea ecx, [ebp - 0xa8]
call fcn.0042bd6b
xor eax, eax
mov dword [ebp - 0x10], 0xfffffff7
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xfffffff2
jge 0x42c6ed
push ebx
lea ecx, [ebp - 0x88]
call fcn.0042bc99
mov dword [ebp - 0x14], 2
mov dword [ebp - 0x28], 0xd253d975
mov dword [ebp - 0x18], 0
jmp 0x42c4f8
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x88]
mov dword [eax + ecx*4], 0x97eede0b
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x42c4e5
mov dword [ebp - 0x18], 0
cmp dword [ebp - 0x18], 3
jge 0x42c520
or ecx, 0xffffffff
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x114], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x42c50d
mov eax, dword [ebp - 0x88]
and dword [eax], 0
push ebx
lea ecx, [ebp - 0xb4]
call fcn.0042bc99
mov dword [ebp - 0x18], 0x7f191253
mov dword [ebp - 0x38], 0x93fe6966
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x30], 0x98aac1e0
mov dword [ebp - 0x2c], 0x494dfd99
mov dword [ebp - 0x2c], 0xd04549c4
mov dword [ebp - 0xc], 0
jmp 0x42c574
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xb4]
and dword [eax + ecx*4], 0
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jl 0x42c564
mov eax, dword [ebp - 0xb4]
mov dword [eax], 0x1a
mov dword [ebp - 0x24], 0xfffffff7
lea ecx, [ebp - 0x194]
mov dword [ebp - 0xc], 0xe491ba6b
mov dword [ebp - 0x30], 0x6c5051dd
push ebx
call fcn.0042bc99
push dword [ebp + 8]
movdqa xmm0, xmmword [0xa92ef0]
lea ecx, [ebp - 0x19c]
push ecx
xor eax, eax
lea ecx, [ebp - 0x1ac]
push ecx
push eax
lea ecx, [ebp - 0xd8]
mov dword [ebp - 0xd8], eax
movdqu xmmword [ebp - 0x1ac], xmm0
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd0], eax
call fcn.0042bddc
xor eax, eax
mov dword [ebp - 0xc], eax
jmp 0x42c5fd
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x194]
mov dword [ecx + edx*4], ebx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jl 0x42c5ee
cmp dword [ebp - 0x14], eax
jge 0x42c60e
mov esi, ebx
cmp dword [ebp - 0x24], eax
jne 0x42c610
mov esi, eax
mov ecx, dword [ebp - 0x18]
xor edx, edx
cmp esi, ecx
setg dl
add edx, dword [ebp - 0x24]
je 0x42c626
mov ecx, ebx
cmp dword [ebp - 0x10], eax
jne 0x42c628
mov ecx, eax
xor eax, eax
test ecx, ecx
setns al
xor ecx, ecx
test eax, eax
mov eax, dword [ebp - 0x88]
sets cl
xor edx, edx
cmp ecx, dword [eax]
setg dl
xor eax, eax
cmp edx, 0x1188
setl al
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x114], 9
jg 0x42c663
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
lea ecx, [ebp - 0xd8]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x10c]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
dec dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x114], eax
call fcn.0042bd6b
lea ecx, [ebp - 0x194]
call fcn.0042bd6b
mov eax, dword [ebp - 0xb4]
dec dword [eax]
cmp dword [eax], 0xffffffe9
jne 0x42c585
lea ecx, [ebp - 0xb4]
call fcn.0042bd6b
mov eax, dword [ebp - 0x88]
dec dword [eax]
cmp dword [eax], 0xffffffef
jg 0x42c529
lea ecx, [ebp - 0x88]
call fcn.0042bd6b
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffff2
jl 0x42c4c2
xor eax, eax
mov ecx, dword [0x4a15ec]
mov dword [ebp - 0x14], 0x4d63
mov dword [ebp - 0x30], ecx
or ecx, 0xffffffff
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0xc], 0x23205e60
mov dword [ebp - 0x2c], 0x8302cca7
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
neg esi
sbb esi, esi
xor edx, edx
neg esi
cmp esi, ecx
mov ecx, dword [ebp - 0x14]
setge dl
xor ebx, ebx
cmp ecx, edx
setl bl
imul ebx, dword [ebp - 0x14]
sub ebx, 0x193208af
cmp ebx, dword [ebp - 0x14]
jge 0x42c755
cmp dword [ebp - 0x14], eax
je 0x42c755
xor esi, esi
inc esi
mov ecx, esi
jmp 0x42c75a
xor esi, esi
mov ecx, eax
inc esi
cmp ecx, dword [ebp - 0x14]
jle 0x42c762
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
inc ecx
cmp ecx, dword [ebp - 0x14]
jl 0x42c778
mov edx, eax
cmp dword [ebp - 0x14], eax
je 0x42c77a
mov edx, esi
xor ecx, ecx
cmp edx, 0x7497f3c8
sete cl
neg ecx
jne 0x42c797
cmp dword [ebp - 0x14], eax
jne 0x42c797
mov dword [ebp - 0xc], 0xb872a60d
jmp 0x42c7d4
mov dword [ebp - 0x28], 0x9ff9e6b9
cmp dword [ebp - 0x28], eax
jne 0x42c7c3
mov ecx, dword [ebp - 0x14]
xor edx, edx
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x28]
test ecx, ecx
setle dl
mov dword [ebp - 0xc], edx
mov edx, eax
mov ecx, dword [ebp - 0xc]
add ecx, dword [ebp - 0x14]
mov dword [ebp - 0xc], ecx
je 0x42c7c5
mov edx, esi
mov ecx, dword [ebp - 0x28]
imul ecx, edx
sub ecx, dword [ebp - 0x14]
sub ecx, 2
mov dword [ebp - 0x2c], ecx
mov ebx, dword [ebp + 8]
lea ecx, [ebp - 0xfc]
push 2
mov dword [ebx], eax
mov dword [ebx + 4], eax
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], eax
call fcn.0042bc99
mov dword [ebp - 0x10], 0xfffffff9
or eax, 0xffffffff
mov dword [ebp - 0x28], eax
xor eax, eax
mov dword [ebp - 0x2c], 0x51bb35b6
mov dword [ebp - 0xc], eax
jmp 0x42c81d
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0xfc]
mov dword [ecx + edx*4], 0xfffffff7
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jl 0x42c80a
mov dword [ebp - 0x10], esi
cmp dword [ebp - 0x10], eax
jl 0x42c98d
mov dword [ebp - 0x18], 8
mov dword [ebp - 0x18], esi
cmp dword [ebp - 0x18], eax
jl 0x42c97e
mov dword [ebp - 0x24], 0xcdcb363f
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x42c85b
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
xor eax, eax
mov dword [ebp - 0x24], esi
cmp dword [ebp - 0x24], eax
jl 0x42c975
push 3
lea ecx, [ebp - 0x108]
call fcn.0042bc99
xor eax, eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0xc], eax
jmp 0x42c891
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x108]
mov dword [ecx + edx*4], 0x840eb449
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jl 0x42c87e
cmp dword [ebp - 0x24], 0xe468a07c
mov edx, 0x441a62a9
mov edi, dword [ebp - 0x108]
sbb ecx, ecx
inc ecx
sub edx, ecx
mov dword [edi + 4], edx
je 0x42c8b8
cmp dword [ebp - 0x10], eax
jne 0x42c8ba
mov esi, eax
imul ecx, dword [ebp - 0x24], 0x7979
xor edx, edx
cmp ecx, esi
setge dl
or ecx, 0xffffffff
cmp ecx, edx
sbb ecx, ecx
xor ebx, ebx
inc ecx
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x28], ecx
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0x28]
cmp dword [edx + esi*4], ecx
setne bl
cmp ebx, dword [ebp - 0x10]
jl 0x42c90c
mov byte [ebp - 5], al
cmp byte [ebp - 5], al
je 0x42c95c
push eax
push eax
push 0x1a5c
push eax
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
jmp 0x42c95c
mov dword [ebp - 0x2c], 0x9d2e
lea ecx, [ebp - 0x120]
push 4
call fcn.0042bc99
mov dword [ebp - 0xc], 0
jmp 0x42c939
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x120]
and dword [eax + ecx*4], 0
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 4
jl 0x42c929
mov eax, dword [edi + 4]
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x120]
mov dword [eax + 0xc], ecx
lea ecx, [ebp - 0x120]
call fcn.0042bd6b
lea ecx, [ebp - 0x108]
call fcn.0042bd6b
dec dword [ebp - 0x24]
push 1
pop esi
jns 0x42c867
xor eax, eax
dec dword [ebp - 0x18]
jns 0x42c842
dec dword [ebp - 0x10]
jns 0x42c82f
mov ebx, dword [ebp + 8]
mov edi, dword [ebp - 0x20]
lea ecx, [ebp - 0xfc]
call fcn.0042bd6b
cmp byte [ebp - 0x31], 0
mov esi, dword [ebp - 0x30]
je 0x42c9de
cmp esi, 1
jne 0x42c9de
or eax, 0xffffffff
mov dword [ebx + 8], 4
mov dword [ebp - 0x2c], eax
mov byte [ebp - 5], 0
cmp byte [ebp - 5], 0
je 0x42c9c7
push 0
push 0
call dword [sym.imp.GDI32.dll_GetRgnBox]
mov byte [ebp - 5], 0
cmp byte [ebp - 5], 0
je 0x42c9d7
call dword [sym.imp.KERNEL32.dll_GetACP]
mov dword [ebx + 0xc], 0x4a15ec
cmp edi, esi
jge 0x42d87e
push 2
lea ecx, [ebp - 0x70]
call fcn.0042bc99
mov dword [ebp - 0x1c], 3
xor ebx, ebx
mov dword [ebp - 0xc], 0xfffffffa
inc ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x28], 0x4677319
mov dword [ebp - 0xc], 0
jmp 0x42ca20
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x70]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jl 0x42ca14
mov dword [ebp - 0x1c], 0
cmp dword [ebp - 0x1c], ebx
jg 0x42cb7b
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x2c], eax
push ebx
lea ecx, [ebp - 0xcc]
call fcn.0042bc99
xor eax, eax
mov dword [ebp - 0x28], 0xdd66408
mov dword [ebp - 0xc], eax
jmp 0x42ca69
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0xcc]
mov dword [ecx + edx*4], 0xfffffff8
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jl 0x42ca56
mov ecx, dword [ebp - 0xcc]
mov dword [ecx], eax
or ecx, 0xffffffff
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0xc], 0x3d2f5512
mov ecx, dword [ecx]
mov dword [ebp - 0xc], ecx
cmp dword [ebp - 0xc], eax
jne 0x42caab
mov edi, dword [ebp - 0x1c]
xor edx, edx
mov esi, dword [ebp - 0x70]
mov ecx, dword [ebp - 0xc]
cmp dword [esi + edi*4], ecx
mov ecx, eax
sete dl
mov dword [ebp - 0x28], edx
cmp dword [ebp - 0x28], eax
je 0x42caad
mov ecx, ebx
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x28], eax
jne 0x42cabe
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
xor ebx, ebx
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
imul ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x70]
cmp ecx, dword [edx + esi*4]
setl bl
xor ecx, ecx
cmp dword [edx + edi*4], ebx
sete cl
xor ebx, ebx
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [edx + esi*4]
mov ecx, dword [ebp - 0x2c]
setg bl
imul ebx, dword [ecx + 4]
mov dword [ebp - 0xc], ebx
xor ebx, ebx
mov dword [ebp - 0x10], 0x1a
inc ebx
cmp dword [ebp - 0x10], 0x1d
jle 0x42cb51
mov dword [ebp - 0x28], 0xffff
mov dword [ebp - 0xc], ebx
cmp dword [ebp - 0xc], eax
jl 0x42cb4c
mov dword [ebp - 0x28], 0xfffffff6
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x28], ecx
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x42cb47
push 0xb61
call dword [sym.imp.USER32.dll_MessageBeep]
xor eax, eax
dec dword [ebp - 0xc]
jns 0x42cb24
inc dword [ebp - 0x10]
jmp 0x42cb0f
mov ecx, dword [ebp - 0xcc]
inc dword [ecx]
cmp dword [ecx], ebx
jle 0x42ca76
lea ecx, [ebp - 0xcc]
call fcn.0042bd6b
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jle 0x42ca3c
mov edi, dword [ebp - 0x20]
lea ecx, [ebp - 0x70]
call fcn.0042bd6b
xor eax, eax
mov dword [ebp - 0x10], 0xffff
mov esi, 0x4a15f0
mov dword [ebp - 0xc], eax
jmp 0x42cba4
mov ecx, dword [ebp - 0xc]
mov dword [ebp + ecx*4 - 0x40], 0xe8cff0ea
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jl 0x42cb96
mov dword [ebp - 0x40], 0x13
jmp 0x42cbe3
mov dword [ebp - 0xc], 3
mov dword [ebp - 0xc], eax
jmp 0x42cbda
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x42cbd7
push eax
push 0x1e41
push eax
call dword [sym.imp.GDI32.dll_ExtCreateRegion]
xor eax, eax
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xd
jle 0x42cbbf
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], 0x1b
jl 0x42cbb3
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov ebx, dword [sym.imp.USER32.dll_GetDC]
cmp dword [ebp - 0x40], eax
je 0x42cce7
mov dword [ebp - 0x24], 0xe2db80eb
mov dword [ebp - 0x2c], eax
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x42cc5f
push 0x24df
push 0x988
push 0xb2b
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call ebx
push eax
push 0x363
push 0xc47
push 0x15bb
push 0x25b3
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call ebx
push eax
call dword [sym.imp.GDI32.dll_BitBlt]
xor eax, eax
or ecx, 0xffffffff
mov dword [ebp - 0x24], ecx
jmp 0x42ccdf
mov dword [ebp - 0xc], 0x5537c57f
mov dword [ebp - 0x2c], 0x335900b0
mov dword [ebp - 0xc], 0x13
jmp 0x42ccd6
dec dword [ebp - 0x10]
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x42ccd3
push 0x26db
push 0x856
push 0x1152
push 0x1d83
push 0x300
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call ebx
push eax
push 0x1363
push 0xa2
push 0x1120
push 0x9fc
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call ebx
push eax
call dword [sym.imp.GDI32.dll_StretchBlt]
xor eax, eax
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x12
jg 0x42cc7e
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x16
je 0x42cc67
jmp 0x42cd38
mov dword [ebp - 0xc], 0x1636
mov dword [ebp - 0x10], 0xfffffff9
jmp 0x42cd32
mov dword [ebp - 0x28], 1
mov dword [ebp - 0x2c], 0x3af8ef5d
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x2c], eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x28
jg 0x42ccf7
test edi, edi
jle 0x42d170
push 2
pop edi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x24], 0x15
cmp dword [ebp - 0x24], 0xffffffe2
jle 0x42ce29
jmp 0x42cd5b
xor eax, eax
mov dword [ebp - 0xc], eax
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x42cd82
push eax
push 0x771
push 0x1a73
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call ebx
push eax
call dword [sym.imp.GDI32.dll_SetViewportOrgEx]
mov dword [ebp - 0xc], 0x15
jmp 0x42ce12
push 3
lea ecx, [ebp - 0x188]
call fcn.0042bc99
mov dword [ebp - 0x2c], 0xfffffffb
lea ecx, [ebp - 0x12c]
push edi
call fcn.0042bc99
mov dword [ebp - 0x18], 0
jmp 0x42cdca
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x188]
mov dword [eax + ecx*4], 0xc4530722
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x42cdb7
mov dword [ebp - 0x18], 0
jmp 0x42cdec
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x12c]
mov dword [eax + ecx*4], 0xffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x42cdd9
mov eax, dword [ebp - 0x12c]
lea ecx, [ebp - 0x12c]
dec dword [eax]
call fcn.0042bd6b
lea ecx, [ebp - 0x188]
call fcn.0042bd6b
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x12
jl 0x42cd8e
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xffffffe2
jg 0x42cd59
mov edi, dword [esi]
xor ebx, ebx
inc ebx
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x24], 0xffffffe3
jmp 0x42ce7b
mov dword [ebp - 0xc], 0
jmp 0x42ce57
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x1d0], 0x1dbeccce
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jl 0x42ce46
mov byte [ebp - 5], 0
cmp byte [ebp - 5], 0
je 0x42ce6f
push 0
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1cc], eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x15
jne 0x42ce3d
push 4
pop edx
add esi, edx
mov dword [ebp - 0x18], 0xac204e2d
xor eax, eax
mov dword [ebp - 0xc], 0xfffffff7
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0xc], eax
jmp 0x42ceaf
mov ecx, dword [ebp - 0xc]
mov dword [ebp + ecx*4 - 0x164], 0xfffffffa
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edx
jl 0x42ce9e
mov dword [ebp - 0x18], 0xffffffe3
cmp dword [ebp - 0x18], 0xffffffea
jne 0x42cf6e
mov dword [ebp - 0x24], 6
mov dword [ebp - 0x28], edx
mov dword [ebp - 0xc], eax
jmp 0x42cee1
mov ecx, dword [ebp - 0xc]
mov dword [ebp + ecx*4 - 0x1b8], eax
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jl 0x42ced4
cmp dword [ebp - 0x24], eax
jne 0x42cf6b
mov ecx, dword [ebp - 0x15c]
mov esi, eax
cmp ecx, dword [ebp - 0x15c]
je 0x42cefe
mov esi, ebx
mov edx, dword [ebp - 0x24]
xor ebx, ebx
mov ecx, dword [ebp - 0x160]
cmp edx, ecx
setg bl
xor edx, edx
mov dword [ebp - 0x1b0], ebx
mov ecx, dword [ebp - 0x158]
cmp ecx, 0x6dd2cc91
setle dl
mov dword [ebp - 0xc], edx
xor edx, edx
mov ecx, dword [ebp - 0x18]
cmp ecx, esi
setle dl
cmp edx, dword [ebp - 0xc]
je 0x42cf41
cmp dword [ebp - 0xc], eax
je 0x42cf41
xor ecx, ecx
inc ecx
jmp 0x42cf43
mov ecx, eax
neg ecx
xor ebx, ebx
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
cmp ecx, edx
push 1
setg bl
mov dword [ebp - 0x28], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffea
pop ebx
push 4
pop edx
je 0x42cec5
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0x18], 0x19
jmp 0x42cf7d
mov dword [ebp - 0xc], edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x1d
jge 0x42cf77
mov eax, dword [esi]
lea ecx, [ebp - 0xe4]
push 2
mov dword [ebp - 0x28], eax
call fcn.0042bc99
mov dword [ebp - 0x10], 0x13532fe2
xor eax, eax
mov dword [ebp - 0x2c], 0x4c266d8f
mov dword [ebp - 0xc], eax
jmp 0x42cfbd
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0xe4]
mov dword [ecx + edx*4], 0xfffffff7
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jl 0x42cfaa
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], eax
jl 0x42d05e
mov dword [ebp - 0xc], 0x252604
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], ebx
jg 0x42d04f
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 0x10]
mov edx, 0xda22
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0x10]
mov ebx, dword [ebp - 0xe4]
imul ecx, dword [ebx + ecx*4], 0xb534
sub edx, ecx
xor ecx, ecx
imul edx, dword [ebx + esi*4]
mov esi, dword [ebp - 0x2c]
sub edx, 0xdad9
cmp edx, dword [ebx + edi*4]
setne cl
xor edx, edx
cmp dword [ebx + esi*4], ecx
mov ecx, dword [ebp - 0x38]
setge dl
xor ebx, ebx
sub edx, dword [ecx + 4]
mov ecx, dword [ebp - 0x10]
cmp edx, ecx
mov ecx, dword [ebp - 0x10]
sete bl
xor edx, edx
cmp ebx, ecx
setge dl
xor ebx, ebx
mov dword [ebp - 0x2c], edx
inc ebx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jle 0x42cfe7
dec dword [ebp - 0x10]
jns 0x42cfcf
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x14]
lea ecx, [ebp - 0xe4]
call fcn.0042bd6b
add esi, 4
cmp dword [ebp - 0x28], 0
jne 0x42d075
add esi, 8
mov dword [ebp - 0x24], 0xe6e83846
xor eax, eax
mov dword [ebp - 0x2c], 0xa421e0be
mov dword [ebp - 0x28], 0xbf35dd75
mov dword [ebp - 0x38], 0x1b05
mov dword [ebp - 0x2c], 0xd3b51a
cmp dword [ebp - 0x24], eax
jne 0x42d0b4
mov ecx, dword [ebp - 0x24]
sub ecx, 0xfffffffc
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, 0x8f21
mov ecx, eax
jg 0x42d0b6
mov ecx, ebx
inc ecx
je 0x42d0db
mov byte [ebp - 5], al
cmp byte [ebp - 5], al
je 0x42d15f
push eax
push eax
push 0x1da8
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
xor eax, eax
jmp 0x42d15f
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x18], 0xb6cd04cd
mov dword [ebp - 0xc], eax
jmp 0x42d0fb
mov ecx, dword [ebp - 0xc]
mov dword [ebp + ecx*4 - 0x170], 0xfffffff6
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jl 0x42d0ea
dec dword [ebp - 0x16c]
xor ebx, ebx
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x24]
cmp edx, ecx
setle bl
xor edx, edx
imul ecx, ebx, 0xfffe
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x10]
cmp ecx, 1
mov ecx, dword [ebp - 0x10]
setl dl
xor ebx, ebx
cmp edx, ecx
mov ecx, dword [ebp - 0x10]
setle bl
xor edx, edx
inc ebx
cmp ebx, ecx
setle dl
xor ebx, ebx
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x38]
cmp ecx, edx
setle bl
mov dword [ebp - 0x10], ebx
mov ebx, dword [sym.imp.USER32.dll_GetDC]
add esi, edi
dec dword [ebp - 0x20]
jne 0x42cd40
mov edi, dword [esi]
mov dword [ebp - 0xc], 0xb26bdde0
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0xfffffffa
mov dword [ebp - 0x24], edi
jg 0x42d273
or edi, 0xffffffff
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x10], eax
jmp 0x42d22c
xor edx, edx
mov dword [ebp - 0x20], eax
inc edx
jmp 0x42d1a9
mov ecx, dword [ebp - 0x20]
mov dword [ebp + ecx*4 - 0x44], eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jl 0x42d19f
mov dword [ebp - 0x44], eax
jmp 0x42d1f1
cmp byte [ebp - 5], 0
je 0x42d1d2
push 0xa35
push 0xf18
push edx
push eax
push 0x1869
call dword [sym.imp.USER32.dll_MsgWaitForMultipleObjects]
xor eax, eax
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x42d1eb
push 0x1575
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
xor eax, eax
dec dword [ebp - 0x44]
push 1
pop edx
cmp dword [ebp - 0x44], 0xffffffeb
mov byte [ebp - 5], al
jge 0x42d1b3
cmp byte [ebp - 5], 0
je 0x42d229
push eax
push 0x7e9
push eax
push eax
push 0x77d
push 0xe4f
push 0x268c
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call ebx
push eax
call dword [sym.imp.GDI32.dll_ExtTextOutA]
xor eax, eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 9
jg 0x42d197
mov dword [ebp - 0x10], eax
jmp 0x42d25d
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x42d25a
push eax
push eax
push 0x2456
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
xor eax, eax
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffff6
jne 0x42d23b
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xfffffffa
jle 0x42d18c
mov edi, dword [ebp - 0x24]
add esi, 4
mov dword [ebp - 0x14], 0xfffffffe
xor ebx, ebx
mov dword [ebp - 0x10], 0xfffffff7
inc ebx
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x20], eax
jmp 0x42d2a0
mov ecx, dword [ebp - 0x20]
mov dword [ebp + ecx*4 - 0x54], 0x63588c55
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x42d292
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
imul ecx, dword [ebp - 0x14]
imul ecx, ecx, 0x1880
cmp ecx, dword [ebp - 0x14]
jg 0x42d2c4
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x50], ecx
test ecx, ecx
je 0x42d371
mov dword [ebp - 0x2c], eax
lea ecx, [ebp - 0x144]
mov dword [ebp - 0x2c], 0x283d1f0d
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x2c], 7
push 3
call fcn.0042bc99
xor eax, eax
push 3
mov dword [ebp - 0x14], eax
pop edx
jmp 0x42d31a
mov ecx, dword [ebp - 0x14]
mov dword [ebp + ecx*4 - 0x1e4], 0xfffffff7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x42d309
mov dword [ebp - 0x14], eax
jmp 0x42d335
mov ecx, dword [ebp - 0x14]
mov dword [ebp + ecx*4 - 0x1d8], 0xca4d9a54
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x42d324
mov dword [ebp - 0x14], eax
jmp 0x42d353
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x144]
mov dword [eax + ecx*4], 0x842b4cf2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x42d340
mov eax, dword [ebp - 0x144]
lea ecx, [ebp - 0x144]
dec dword [eax + 4]
call fcn.0042bd6b
jmp 0x42d46f
mov dword [ebp - 0xc], 0x510b2d4a
mov dword [ebp - 0x2c], 3
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], eax
jl 0x42d44b
or edi, 0xffffffff
mov dword [ebp - 0x20], eax
jmp 0x42d3a4
mov ecx, dword [ebp - 0x20]
mov dword [ebp + ecx*4 - 0x17c], 0x6367afff
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x42d393
mov ecx, dword [ebp - 0x14]
cmp dword [ebp + ecx*4 - 0x54], edi
jg 0x42d3eb
mov ecx, dword [ebp - 0x14]
xor ebx, ebx
mov edx, dword [ebp + ecx*4 - 0x54]
mov ecx, dword [ebp - 0xc]
cmp edx, ecx
mov ecx, dword [ebp - 0xc]
setle bl
add ebx, 0x4630
mov dword [ebp - 0x2c], ebx
xor ebx, ebx
cmp dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x14]
setl bl
xor edx, edx
cmp ebx, ecx
setl dl
xor ebx, ebx
inc ebx
cmp edx, ebx
mov edx, ebx
jg 0x42d3ed
mov edx, eax
xor ecx, ecx
cmp edx, ebx
push 1
setge cl
xor ebx, ebx
mov dword [ebp - 0x17c], ecx
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x17c]
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + ecx*4 - 0x54]
imul ecx, dword [ebp - 0xc], 7
cmp edx, ecx
mov ecx, dword [ebp - 0x50]
setle bl
xor edx, edx
sub ebx, ecx
mov ecx, dword [ebp - 0x10]
cmp ebx, ecx
pop ebx
sete dl
sub edx, dword [ebp - 0xc]
neg edx
sbb edx, edx
sub edx, 2
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x2c], edx
dec dword [ebp - 0x14]
jns 0x42d38e
mov edi, dword [ebp - 0x24]
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x42d471
push 0x1ea4
push eax
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_PolyPolygon]
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x42d4a2
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x42d49f
push 0x7c7
push 0x2088
push 0x20a0
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
push 0
call dword [sym.imp.USER32.dll_PeekMessageA]
xor eax, eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xa
jne 0x42d476
mov ecx, dword [esi]
mov dword [ebp - 0x18], eax
push 2
mov dword [ebp - 0x38], ecx
pop ecx
mov dword [ebp - 0x154], ecx
mov dword [ebp - 0x150], ecx
mov dword [ebp - 0x14c], ecx
mov dword [ebp - 0x148], ecx
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 4
jge 0x42d4ea
or edx, 0xffffffff
mov ecx, dword [ebp - 0x20]
mov dword [ebp + ecx*4 - 0x1f4], edx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
jl 0x42d4d7
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 3
jg 0x42d662
mov dword [ebp - 0x10], 9
mov dword [ebp - 0x10], eax
jmp 0x42d60c
mov dword [ebp - 0xc], 0xb8ce3e63
mov dword [ebp - 0xc], 3
cmp dword [ebp - 0xc], eax
jl 0x42d609
push ebx
lea ecx, [ebp - 0xc0]
call fcn.0042bc99
mov dword [ebp - 0x20], 0
jmp 0x42d545
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xc0]
mov dword [eax + ecx*4], 0x9e672ca3
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jl 0x42d532
mov eax, dword [ebp - 0xc0]
and dword [eax], 0
push 2
lea ecx, [ebp - 0xf0]
call fcn.0042bc99
xor eax, eax
mov dword [ebp - 0x20], eax
jmp 0x42d57a
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0xf0]
mov dword [ecx + edx*4], 6
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x42d567
mov byte [ebp - 5], al
cmp byte [ebp - 5], al
je 0x42d59b
push 0x943
push 0x120b
push eax
call dword [sym.imp.USER32.dll_DeleteMenu]
xor eax, eax
mov esi, dword [ebp - 0xf0]
mov dword [esi + 4], 3
mov dword [ebp - 0x20], 0xfffffff6
mov dword [ebp - 0x20], 3
cmp dword [ebp - 0x20], eax
jl 0x42d5d2
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x42d5cd
push eax
call dword [sym.imp.KERNEL32.dll_InitializeSListHead]
xor eax, eax
dec dword [ebp - 0x20]
jns 0x42d5bb
dec dword [esi + 4]
jns 0x42d5a8
lea ecx, [ebp - 0xf0]
call fcn.0042bd6b
mov eax, dword [ebp - 0xc0]
inc dword [eax]
cmp dword [eax], 3
jle 0x42d553
lea ecx, [ebp - 0xc0]
call fcn.0042bd6b
dec dword [ebp - 0xc]
jns 0x42d51d
xor eax, eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jle 0x42d506
mov dword [ebp - 0x10], eax
jmp 0x42d64c
mov dword [ebp - 0x2c], 0x56540f21
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x42d639
push 0x5b5
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
xor eax, eax
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x2c], 2
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jle 0x42d61b
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jle 0x42d4f7
mov esi, dword [ebp - 0x1c]
add esi, 4
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x10], 7
lea ecx, [ebp - 0x94]
push ebx
mov dword [ebp - 0x1c], esi
call fcn.0042bc99
xor eax, eax
mov dword [ebp - 0x20], eax
jmp 0x42d698
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x94]
mov dword [ecx + edx*4], 0x74c7af5a
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jl 0x42d685
mov ecx, dword [ebp - 0x18]
xor ebx, ebx
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
cmp edx, ecx
mov ecx, dword [ebp - 0x94]
setne bl
mov dword [ecx], ebx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], eax
jl 0x42d7a4
or edi, 0xffffffff
mov dword [ebp - 0x2c], 0xc25c5395
mov dword [ebp - 0x18], eax
jmp 0x42d78a
mov dword [ebp - 0x20], eax
jmp 0x42d6ef
mov ecx, dword [ebp - 0x20]
mov dword [ebp + ecx*4 - 0x64], 5
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
jl 0x42d6e1
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], eax
jl 0x42d787
mov dword [ebp - 0x20], 0xb372ba29
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], eax
jl 0x42d77e
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x94]
cmp dword [ecx + edx*4], eax
jne 0x42d721
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x64]
add ecx, dword [ebp - 0x58]
cmp ecx, edi
jg 0x42d738
cmp dword [ebp - 0x58], eax
je 0x42d738
xor ecx, ecx
inc ecx
jmp 0x42d73a
mov ecx, eax
mov esi, dword [ebp - 0x10]
xor edx, edx
cmp ecx, 0xfffffffb
mov ecx, dword [ebp - 0x20]
sete dl
xor ebx, ebx
cmp edx, ecx
mov ecx, dword [ebp - 0x2c]
setne bl
xor edx, edx
cmp ebx, ecx
mov ecx, dword [ebp - 0x58]
setl dl
xor ebx, ebx
cmp edx, ecx
mov ecx, dword [ebp - 0x58]
setle bl
xor edx, edx
cmp ebx, ecx
mov ecx, dword [ebp - 0x94]
setg dl
sub edx, 0xa
mov dword [ecx + esi*4], edx
dec dword [ebp - 0x20]
jns 0x42d710
dec dword [ebp - 0x58]
jns 0x42d701
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], eax
jle 0x42d6dc
jne 0x42d79e
dec dword [ebp - 0x10]
jns 0x42d6cd
mov edi, dword [ebp - 0x24]
mov esi, dword [ebp - 0x1c]
lea ecx, [ebp - 0x94]
call fcn.0042bd6b
cmp dword [ebp - 0x38], 0
jne 0x42d87e
cmp byte [ebp - 0x31], 0
je 0x42d7ce
cmp dword [ebp - 0x30], 1
jne 0x42d7ce
mov ecx, dword [ebp + 8]
lea eax, [edi + 0x10]
add dword [ecx + 8], eax
mov eax, dword [esi]
mov dword [ebp - 0x2c], eax
mov eax, dword [esi + 4]
add esi, 8
push edi
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x1c], esi
call fcn.0047ada4
mov ebx, eax
xor eax, eax
pop ecx
mov dword [ebp - 0x9c], eax
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], eax
lea eax, [ebp - 0x9c]
push eax
push edi
call fcn.0045e680
xor ecx, ecx
test edi, edi
mov edi, dword [ebp - 0x7c]
mov esi, ecx
jle 0x42d85b
mov eax, esi
and eax, 0x80000001
jns 0x42d822
dec eax
or eax, 0xfffffffe
inc eax
neg eax
sbb eax, eax
and eax, dword [ebp - 0x2c]
add eax, esi
add eax, dword [ebp - 0x2c]
imul eax, dword [ebp - 0x38]
jmp 0x42d837
lea eax, [edx + 1]
cdq
idiv dword [ebp - 0x24]
cmp word [edi + edx*2], cx
jne 0x42d834
xor eax, eax
inc eax
mov word [edi + edx*2], ax
mov eax, dword [ebp - 0x1c]
mov al, byte [edx + eax]
mov byte [esi + ebx], al
inc esi
mov eax, dword [ebp - 0x24]
cmp esi, eax
jl 0x42d814
jmp 0x42d85e
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp + 8]
mov dword [edx], eax
mov dword [edx + 4], ebx
test edi, edi
je 0x42d880
push edi
call fcn.0047c296
pop ecx
xor ecx, ecx
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], ecx
jmp 0x42d880
xor ecx, ecx
or eax, 0xffffffff
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [ebp - 0x30], 6
inc eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x2c], 0xfffffff6
mov dword [ebp - 0x20], ecx
jmp 0x42d8b0
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x19c], 0xfffffff9
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x42d89f
mov eax, dword [ebp - 0x10]
dec eax
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x30], eax
mov esi, dword [ebp - 0x10]
imul esi, dword [ebp - 0x10]
sub esi, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
neg esi
sbb esi, esi
xor edx, edx
inc esi
cmp esi, eax
mov eax, dword [ebp - 0x10]
setl dl
xor ebx, ebx
cmp edx, eax
setne bl
cmp dword [ebp - 0x10], 0xd7c1188e
mov eax, dword [ebp - 0x10]
sbb esi, esi
neg esi
sub esi, ebx
neg esi
sbb esi, esi
xor edx, edx
inc esi
cmp eax, esi
setge dl
add edx, dword [ebp - 0x30]
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x2c], eax
mov byte [ebp - 5], cl
cmp byte [ebp - 5], 0
je 0x42d92d
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_IsIconic]
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret