Function at 0x100187ce
Capabilities:
Create pipe
Get geographical location

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x154
push ebx
push esi
mov dword [ebp - 0x14], 0xffffffff
xor ebx, ebx
push edi
mov dword [ebp - 0x14], 0xa37bb008
mov dword [ebp - 0x14], 7
push 3
mov dword [ebp - 0x90], ecx
pop ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x14], 0x686a37bd
mov dword [ebp - 4], 0x6ca0cec5
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x18], ebx
jmp 0x10018824
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x144], 0x7865e1b
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10018813
push 2
pop esi
mov dword [ebp - 4], ebx
push 1
mov dword [ebp - 4], 0xeaa32b1c
mov dword [ebp - 0x18], ebx
pop edi
jmp 0x1001884b
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x98], edi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1001883e
mov dword [ebp - 4], ebx
jmp 0x10018903
mov dword [ebp - 8], 0xb6748f69
mov dword [ebp - 0x1c], 0xeaa29c14
mov dword [ebp - 8], ebx
jmp 0x1001889d
mov dword [ebp - 0x1c], 0x34c865b4
xor ecx, ecx
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0x98]
test eax, eax
sete cl
mov dword [ebp - 0x1c], ecx
mov ecx, 0xffff
mov eax, dword [ebp - 0x94]
cmp ecx, eax
sbb eax, eax
neg eax
mov dword [ebp - 0x1c], eax
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jle 0x1001886b
mov dword [ebp - 0x1c], edi
cmp dword [ebp - 0x1c], ebx
jl 0x10018900
mov dword [ebp - 8], ebx
jmp 0x100188f6
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x20], ebx
jmp 0x100188ee
mov dword [ebp - 0xc], 0xfffffffd
mov dword [ebp - 0xc], ebx
jmp 0x100188e6
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x18], ebx
jmp 0x100188de
mov eax, dword [ebp - 8]
cmp dword [ebp + eax*4 - 0x98], ebx
jne 0x100188e3
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jle 0x100188cf
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jle 0x100188c7
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jle 0x100188bb
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jle 0x100188af
dec dword [ebp - 0x1c]
jns 0x100188aa
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jle 0x10018858
mov dword [ebp - 0xc], 0xd29be1d9
mov dword [ebp - 4], ebx
jmp 0x10018929
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xa0], 0x48261f9c
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x10018918
mov dword [ebp - 0xc], ebx
cmp dword [ebp - 0xc], ebx
jl 0x1001895b
mov dword [ebp - 4], 0xfffffffc
mov dword [ebp - 4], ebx
cmp dword [ebp - 4], ebx
jl 0x10018956
mov eax, dword [ebp - 0xc]
cmp dword [ebp + eax*4 - 0xa0], ebx
jne 0x10018956
dec dword [ebp - 4]
jns 0x10018945
dec dword [ebp - 0xc]
jns 0x10018936
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], 4
mov dword [ebp - 0x1c], 0x6b8f3d42
mov dword [ebp - 4], 0xf55e00fe
mov dword [ebp - 8], ebx
jmp 0x10018989
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x70], 0x8206
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x1001897b
mov dword [ebp - 8], ebx
jmp 0x100189a1
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x30], 0x642c70bb
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x10018993
mov dword [ebp - 0x30], ebx
jmp 0x100189b5
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x70], edi
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], edi
jl 0x100189ab
inc dword [ebp - 4]
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x14], 0xfffa
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x100189dd
push 0x1244
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreatePipe]
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x100189ec
push ebx
call dword [sym.imp.GDI32.dll_CreatePenIndirect]
mov dword [ebp - 0x14], 0x6f65e790
mov dword [ebp - 8], 4
mov dword [ebp - 0x14], 0x544bd1a6
mov dword [ebp - 0x8c], esi
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x84], esi
mov dword [ebp - 0x80], esi
mov dword [ebp - 0x20], 0xffffffff
cmp dword [ebp - 8], 0x22124f84
jne 0x10018a2d
mov eax, edi
cmp dword [ebp - 8], ebx
jne 0x10018a2f
mov eax, ebx
cmp eax, dword [ebp - 8]
je 0x10018a5f
mov dword [ebp - 8], ebx
jmp 0x10018a54
mov dword [ebp - 4], 0x5cc25bfc
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x10018a4e
call dword [sym.imp.KERNEL32.dll_GetACP]
dec dword [ebp - 4]
inc dword [ebp - 8]
cmp dword [ebp - 8], 0x1c
jg 0x10018a39
jmp 0x10018b3a
mov dword [ebp - 0x18], 0x52509e71
mov dword [ebp - 8], ebx
cmp dword [ebp - 8], 0x3c
jne 0x10018b34
mov dword [ebp - 0xc], 7
mov dword [ebp - 0x14], 0xfffffffb
mov dword [ebp - 4], ebx
jmp 0x10018a94
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x38], 0xfa9b
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x10018a86
mov dword [ebp - 0xc], ebx
cmp dword [ebp - 0xc], ebx
jl 0x10018b1f
mov dword [ebp - 4], 0x61943ec3
mov dword [ebp - 0x24], 0x58e7
mov dword [ebp - 4], 0x594484f7
cmp dword [ebp - 0x18], ebx
je 0x10018af4
mov eax, dword [ebp - 0xc]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x38]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp + eax*4 - 0x38]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp + eax*4 - 0x38]
cmp eax, 0xec0
setl cl
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 8], ebx
jne 0x10018af4
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0xc]
xor ecx, ecx
mov esi, dword [ebp + eax*4 - 0x38]
mov eax, dword [ebp - 8]
cmp eax, 2
mov eax, dword [ebp - 0x18]
setne cl
xor edx, edx
cmp esi, ecx
setg dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 4], ecx
dec dword [ebp - 0xc]
jns 0x10018aa1
cmp dword [ebp - 0x14], ebx
jne 0x10018b31
inc dword [ebp - 8]
cmp dword [ebp - 8], 0x3c
je 0x10018a73
push 2
pop esi
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
mov dword [ebp - 8], ebx
jmp 0x10018b6b
mov dword [ebp - 0x14], 0x3ac16b40
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x14], 0xfffffffd
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0x80], ebx
inc dword [ebp - 0x20]
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jle 0x10018b3f
mov dword [ebp - 0xc], 0xf4f46db5
mov dword [ebp - 4], ebx
jmp 0x10018b8b
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x54], 0xffffffff
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x10018b7d
mov dword [ebp - 0xc], ebx
cmp dword [ebp - 0xc], ebx
jl 0x10018d01
mov dword [ebp - 4], 3
mov dword [ebp - 4], ebx
jmp 0x10018bb6
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x2c], 0xffffffff
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x10018ba8
mov dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x2c], ebx
jl 0x10018cf8
mov dword [ebp - 8], edi
mov dword [ebp - 4], 0xfad54077
mov dword [ebp - 4], ebx
mov dword [ebp - 8], ebx
cmp dword [ebp - 8], ebx
jl 0x10018c2c
mov dword [ebp - 0x14], 0xfffffffe
xor edx, edx
mov dword [ebp - 0x24], 0xd3672969
mov eax, dword [ebp - 0xc]
mov esi, dword [ebp + eax*4 - 0x54]
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x54], esi
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
imul ecx, eax
mov eax, dword [ebp - 0x14]
imul eax, dword [ebp - 0xc]
cmp ecx, eax
setge dl
xor ecx, ecx
add edx, esi
sub edx, dword [ebp - 8]
mov eax, dword [ebp - 8]
sub edx, 0x246a63bb
cmp edx, eax
setne cl
mov dword [ebp - 0x24], ecx
dec dword [ebp - 8]
jns 0x10018bdc
push 2
mov dword [ebp - 8], ebx
pop esi
cmp dword [ebp - 8], 0x1c
jl 0x10018cef
or eax, 0xffffffff
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], eax
mov dword [ebp - 4], ebx
jmp 0x10018c6a
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x5c], 0x16e2
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x10018c5c
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x10018c8a
push ebx
push ebx
push 0x4bf
push 0x2282
push ebx
call dword [sym.imp.USER32.dll_InsertMenuA]
cmp dword [ebp - 0x58], ebx
jne 0x10018cb0
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov dword [ebp - 4], edi
cmp dword [ebp - 4], ebx
je 0x10018cbf
mov edx, edi
cmp dword [ebp - 0x58], ebx
jne 0x10018cc1
mov edx, ebx
mov eax, dword [ebp - 0xc]
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 4], 0xfffffffc
mov eax, dword [ebp - 4]
mov dword [ebp - 0xb8], eax
inc dword [ebp - 8]
jmp 0x10018c32
dec dword [ebp - 0x2c]
jns 0x10018bc7
dec dword [ebp - 0xc]
jns 0x10018b9c
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x10018d15
push 0x15b9
push ebx
call dword [sym.imp.ADVAPI32.dll_InitializeSecurityDescriptor]
push 7
pop ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x18], 0x345fe46c
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x24], 0xc13fe66
mov dword [ebp - 0x20], 0x6b8d9637
mov dword [ebp - 0x24], 0xfffffff7
mov dword [ebp - 4], 0xf665
mov dword [ebp - 8], 9
mov dword [ebp - 8], ebx
jmp 0x10018d5e
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xf8], 0x45ccb972
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jl 0x10018d4d
mov dword [ebp - 8], ebx
jmp 0x10018d73
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x78], ecx
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x10018d69
cmp dword [ebp - 0xc], ebx
jne 0x10018dc8
mov eax, dword [ebp - 4]
xor edx, edx
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0xc]
cmp eax, ecx
mov eax, dword [ebp - 0x14]
setg dl
xor ecx, ecx
cmp eax, edx
setg cl
xor edx, edx
cmp ecx, 0xdbc7
setl dl
add edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x78]
inc dword [ebp - 0x78]
cmp eax, edx
je 0x10018dc8
mov edx, ebx
cmp dword [ebp - 4], ebx
je 0x10018dca
mov edx, edi
mov eax, dword [ebp - 0x20]
xor ecx, ecx
sub edx, eax
mov eax, dword [ebp - 0xc]
sub edx, 0x20c8
cmp edx, eax
mov eax, dword [ebp - 0xf4]
setg cl
xor ebx, ebx
cmp ecx, eax
mov eax, dword [ebp - 4]
setl bl
xor edx, edx
cmp ebx, eax
mov eax, dword [ebp - 0x18]
setl dl
xor ecx, ecx
cmp edx, eax
setg cl
cmp ecx, 0xffffffff
sbb eax, eax
neg eax
xor ebx, ebx
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], ebx
jmp 0x10018e29
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x10018e26
push ebx
push 0x12a1
push ebx
call dword [sym.imp.GDI32.dll_GetBitmapBits]
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jle 0x10018e11
mov dword [ebp - 4], ebx
jmp 0x10018e44
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xec], 0xffffffff
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x10018e33
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 9
jle 0x10018e70
mov dword [ebp - 0x14], 0xd947597a
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
jmp 0x10018eab
mov dword [ebp - 0x14], 0xd2038e85
mov dword [ebp - 4], ebx
jmp 0x10018e8d
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x138], 0x53589fe5
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x10018e7c
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
sbb edx, edx
inc edx
cmp eax, edx
setle cl
mov dword [ebp - 0x138], ecx
mov dword [ebp - 0xc], ebx
jmp 0x10018ebf
mov eax, dword [ebp - 0xc]
cmp dword [ebp + eax*4 - 0xec], ebx
jne 0x10018ec4
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jle 0x10018eb0
mov dword [ebp - 8], 0xd1ad67a4
push 0xfffffffffffffff7
pop ecx
mov dword [ebp - 4], ecx
mov dword [ebp - 0x1c], 5
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x14], 0xf36f
mov dword [ebp - 0x24], 0x91704d9f
mov dword [ebp - 0xc], ebx
jmp 0x10018eff
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x9c], ebx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x10018ef2
mov dword [ebp - 0xc], ebx
jmp 0x10018f16
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x128], ecx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jl 0x10018f09
mov eax, dword [ebp - 8]
xor edx, edx
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov dword [ebp - 4], eax
mov dword [ebp - 0x9c], 0x498e
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp ecx, eax
mov eax, dword [ebp - 8]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 8]
setl cl
cmp ecx, 4
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setge cl
xor edx, edx
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 4]
cmp eax, ecx
setle dl
sub edx, 0xdfcc
mov dword [ebp - 0x24], edx
mov dword [ebp - 8], 0x99841b3c
mov dword [ebp - 0x1c], 7
mov dword [ebp - 0x14], 0xfffb
mov dword [ebp - 4], ebx
jmp 0x10018fbf
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xe4], 0xf9ed02e8
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x10018fae
mov dword [ebp - 8], ebx
jmp 0x10018fe5
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x10018fe2
push 0x18f2
push 0x1681
push ebx
call dword [sym.imp.GDI32.dll_PtInRegion]
inc dword [ebp - 8]
cmp dword [ebp - 8], 0x17
je 0x10018fc9
mov dword [ebp - 8], 0x12
jmp 0x10019068
mov dword [ebp - 4], 0xc1464f16
mov dword [ebp - 0x20], 4
cmp dword [ebp - 8], ebx
jne 0x10019044
mov eax, dword [ebp - 4]
sub eax, 0x3cc47d1a
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
jne 0x1001901e
cmp dword [ebp - 4], ebx
je 0x10019021
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 8]
cmp dword [ebp - 0x14], 0xfffd
mov eax, dword [ebp - 8]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
setne dl
sub edx, 6
jne 0x10019044
mov ecx, ebx
cmp dword [ebp - 4], ebx
je 0x10019046
mov ecx, edi
mov eax, dword [ebp - 4]
imul eax, ecx
xor ecx, ecx
sub eax, dword [ebp - 0x20]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0x1c]
cmp eax, 0x49bc
setne cl
mov dword [ebp - 0x20], ecx
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xffffffe3
jge 0x10018ff4
mov dword [ebp - 4], ebx
jmp 0x10019084
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xd4], 0xfffffff8
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x10019073
push 5
pop eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x14], 0xfffffffa
mov dword [ebp - 0x14], 3
mov dword [ebp - 0x14], 0xd94543be
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], ebx
jmp 0x100190c7
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x154], 8
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x100190b6
inc dword [ebp - 0x1c]
push ebx
call fcn.1001c0f0
mov dword [ebp - 0xc], 0x825e7a66
mov byte [ebp - 0xd], bl
pop ecx
cmp byte [ebp - 0xd], bl
je 0x100190f4
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_MapDialogRect]
mov dword [ebp - 0xc], ebx
cmp dword [ebp - 0xc], 0x14
jl 0x100191ae
mov dword [ebp - 8], 0xa727
mov dword [ebp - 4], ebx
jmp 0x1001911e
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x100], 0xc86992f1
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x1001910d
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
add eax, esi
je 0x10019134
mov eax, edi
cmp dword [ebp - 8], ebx
jne 0x10019136
mov eax, ebx
mov ecx, dword [ebp - 8]
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0xc]
cmp ecx, eax
push 0
setne dl
xor ebx, ebx
imul edx, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
cmp edx, eax
mov eax, dword [ebp - 0xc]
setg bl
xor ecx, ecx
cmp eax, 0xb568
setne cl
xor eax, eax
cmp ecx, ebx
mov ecx, 0xe5a945cb
pop ebx
setle al
sub eax, esi
neg eax
sbb eax, eax
inc eax
cmp ecx, eax
mov eax, dword [ebp - 8]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 8]
setge dl
sub edx, 0xf12a83a0
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setg cl
mov dword [ebp - 0x100], ecx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x14
jge 0x10019101
mov dword [ebp - 0x1c], 0xb0f73838
mov dword [ebp - 8], 0x64a53aa9
mov dword [ebp - 4], ebx
mov dword [ebp - 0x20], 0x1f199e1f
mov dword [ebp - 0xc], 0x92e7baa9
mov dword [ebp - 0x18], 8
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], ebx
je 0x100192fb
mov dword [ebp - 0xc], 0x93e0
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x14], 0x807c1abd
mov dword [ebp - 0x18], 0xc769
mov dword [ebp - 0x24], edi
mov dword [ebp - 4], 0x1846e972
mov dword [ebp - 0x14], 0x6c2db602
mov dword [ebp - 4], ebx
jmp 0x10019222
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x110], 0xfffffff8
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x10019211
mov eax, dword [ebp - 8]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], ebx
je 0x100192c8
mov eax, dword [ebp - 0xc]
neg eax
sbb eax, eax
neg eax
add eax, dword [ebp - 0xc]
imul eax, dword [ebp - 0xc]
test eax, eax
je 0x10019252
mov eax, edi
cmp dword [ebp - 0x1c], ebx
jne 0x10019254
mov eax, ebx
mov dword [ebp - 0x14], eax
xor ecx, ecx
mov eax, dword [ebp - 0xc]
cmp eax, edi
setle cl
mov dword [ebp - 0x104], ecx
mov eax, dword [ebp - 0xc]
sub ecx, eax
mov dword [ebp - 0x14], ecx
je 0x10019278
mov edx, edi
cmp dword [ebp - 0x1c], ebx
jne 0x1001927a
mov edx, ebx
mov eax, dword [ebp - 0xc]
xor ecx, ecx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x20]
cmp edx, eax
mov eax, dword [ebp - 4]
setl cl
xor edx, edx
cmp ecx, 0x1defcecb
setg dl
xor ecx, ecx
cmp eax, edx
setge cl
sub ecx, dword [ebp - 0x18]
jne 0x100192ad
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x104]
xor edx, edx
mov eax, dword [ebp - 0x24]
cmp ecx, eax
setl dl
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x20]
inc eax
mov eax, edi
je 0x100192ca
mov eax, ebx
inc eax
cmp eax, dword [ebp - 0x18]
jge 0x100192d5
cmp dword [ebp - 0x1c], ebx
jne 0x100192dc
mov eax, ebx
cmp dword [ebp - 8], ebx
je 0x100192de
mov eax, edi
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jne 0x100192e9
mov eax, dword [ebp - 0x20]
mov dword [ebp - 4], 0x23541209
mov eax, dword [ebp - 4]
mov dword [ebp - 0x14], eax
jmp 0x100193af
push 9
pop eax
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0x1c], 0x8161dbfa
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x14], 0xfff9
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jne 0x1001933c
mov eax, dword [ebp - 0xc]
mov edx, ebx
cmp eax, dword [ebp - 4]
jne 0x1001933e
mov edx, edi
mov eax, dword [ebp - 4]
xor ecx, ecx
cmp eax, edi
push 0xfffffffffffffff7
setle cl
mov dword [ebp - 8], ecx
xor ecx, ecx
mov dword [ebp - 0xc4], ebx
mov eax, dword [ebp - 0x20]
sub edx, eax
mov eax, dword [ebp - 0x14]
cmp edx, eax
pop eax
setne cl
cmp eax, ecx
mov eax, dword [ebp - 8]
sbb esi, esi
xor ecx, ecx
inc esi
test eax, eax
mov eax, dword [ebp - 0x20]
setg cl
xor edx, edx
cmp ecx, esi
setge dl
xor ecx, ecx
cmp edx, eax
setge cl
cmp ecx, 0xbca0f963
sbb eax, eax
inc eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 4], eax
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x100193ac
push 0x28e
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
push 2
pop esi
mov dword [ebp - 0x14], 0x70ad6f2e
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x100193cd
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_BeginPaint]
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x100193ef
push ebx
push ebx
push 0x6c5
push 0xcf3
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_ScrollWindow]
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x100194db
push ebx
call fcn.1001b9d9
mov eax, 0x4b25
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 4], 0xd4e2b79d
pop ecx
mov dword [ebp - 0xc], ebx
jmp 0x1001942e
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x40], 0xfffffffd
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jl 0x10019420
mov dword [ebp - 0xc], ebx
jmp 0x10019442
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x34], ebx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x10019438
cmp dword [ebp - 0x4c], ebx
jne 0x10019453
mov esi, ebx
cmp dword [ebp - 0x44], ebx
je 0x10019455
mov esi, edi
mov ecx, dword [ebp - 0x3c]
xor edx, edx
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x50]
cmp ecx, eax
mov eax, dword [ebp - 0x4c]
sete dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x4c]
setne cl
sub esi, eax
mov eax, dword [ebp - 0x4c]
xor edx, edx
cmp ecx, esi
setl dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], ebx
jne 0x1001949f
cmp dword [ebp - 4], 0x758b
jne 0x1001949c
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 4]
xor ecx, ecx
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x4c]
cmp eax, 0x723
mov eax, dword [ebp - 0x4c]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x4c]
setl dl
xor ebx, ebx
cmp eax, edx
mov eax, dword [ebp - 0x34]
setge bl
xor ecx, ecx
cmp eax, ebx
setg cl
xor ebx, ebx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 4], 0xfffffffa
or esi, 0xffffffff
mov dword [ebp - 4], edi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x14], 0x91ee
mov dword [ebp - 4], ebx
jmp 0x10019501
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x28], edi
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x100194f7
mov ecx, dword [ebp - 0x28]
xor edx, edx
mov eax, dword [ebp - 0x28]
add ecx, 0xc055cd0d
cmp eax, ecx
mov eax, 0x45c8100c
setg dl
sub eax, edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 4], eax
jle 0x10019532
mov eax, ebx
cmp dword [ebp - 4], ebx
je 0x10019534
mov eax, edi
mov ecx, 0xfff839e0
mov edi, dword [sym.imp.USER32.dll_GetDC]
cmp ecx, eax
sbb edx, edx
inc edx
sub edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setge cl
xor eax, eax
cmp ecx, 0xae97
mov ecx, dword [ebp - 0x28]
setle al
imul ecx, eax
mov eax, dword [ebp - 0x28]
sub ecx, eax
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
lea eax, [ecx + 7]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 4]
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setne dl
xor ebx, ebx
cmp eax, edx
mov eax, dword [ebp - 0x28]
setg bl
xor ecx, ecx
cmp ebx, eax
setg cl
xor ebx, ebx
mov dword [ebp - 0x14], ecx
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x100195b6
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call edi
push eax
call dword [sym.imp.GDI32.dll_EndPage]
push 0xfffffffffffffff7
pop eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 0xb0], esi
mov dword [ebp - 0xac], esi
mov dword [ebp - 0xa8], esi
mov dword [ebp - 0xa4], esi
mov dword [ebp - 0x14], 0x9ced66e5
mov dword [ebp - 0x18], 0x3cfcb8f1
cmp dword [ebp - 0xc], ebx
je 0x10019764
mov dword [ebp - 4], 0x3f1571c0
push 4
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0xc], ebx
pop ecx
jmp 0x1001960b
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x6c], 8
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ecx
jl 0x100195fd
mov dword [ebp - 0xc], ebx
jmp 0x10019622
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xdc], ecx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jl 0x10019615
mov dword [ebp - 0xc], 0xffffffeb
jmp 0x1001973a
mov dword [ebp - 8], 0x32937a3a
mov dword [ebp - 4], esi
mov dword [ebp - 8], ebx
jmp 0x1001972d
mov dword [ebp - 0x14], 9
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x10019670
push 0xd19
push 0x1a40
push 0x20cd
push 0x25de
push ebx
call dword [sym.imp.USER32.dll_SetRect]
mov eax, dword [ebp - 0x60]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 4], eax
cmp dword [ebp - 4], ebx
jne 0x1001968a
cmp dword [ebp - 0xc], ebx
jne 0x1001968a
mov esi, ebx
jmp 0x1001968d
xor esi, esi
inc esi
mov eax, dword [ebp - 8]
xor ecx, ecx
mov edx, dword [ebp + eax*4 - 0x6c]
mov eax, dword [ebp - 8]
cmp esi, eax
sete cl
xor eax, eax
cmp edx, ecx
setg al
cmp eax, 0xc257a10d
sbb eax, eax
neg eax
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0x64]
imul eax, dword [ebp - 8]
sub eax, 0xfffffffa
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
or esi, 0xffffffff
cmp eax, esi
mov eax, dword [ebp - 8]
setle cl
mov eax, dword [ebp + eax*4 - 0x6c]
imul eax, ecx
mov dword [ebp - 4], eax
cmp dword [ebp - 4], ebx
je 0x100196f3
mov dword [ebp - 4], 0x925f
dec dword [ebp - 4]
cmp dword [ebp - 0xa8], ebx
jne 0x10019737
jmp 0x1001972a
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + eax*4 - 0x6c]
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x6c], ecx
mov dword [ebp - 0x18], 0xffffffe3
jmp 0x10019724
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0x6c]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0x6c]
mov dword [ebp - 0xdc], eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffff1
jl 0x1001970a
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jle 0x10019646
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 8
jne 0x10019634
mov ecx, dword [ebp - 0x60]
xor edx, edx
mov eax, dword [ebp - 0xa8]
cmp ecx, eax
setg dl
xor eax, eax
cmp edx, 0xed83
setne al
mov dword [ebp - 0x18], eax
jmp 0x1001976e
mov dword [ebp - 0x14], 0x42f34c93
mov dword [ebp - 0x14], esi
mov dword [ebp - 8], 0xfffffffd
xor esi, esi
mov dword [ebp - 4], ebx
inc esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 8], 0x19
jmp 0x10019835
mov dword [ebp - 0xc], 6
mov dword [ebp - 4], ebx
jmp 0x100197ae
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x11c], 7
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x1001979d
mov dword [ebp - 0xc], 0x6a485bf2
cmp dword [ebp - 0xc], ebx
je 0x10019807
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0xc]
jl 0x100197da
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
xor edx, edx
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
mov eax, dword [ebp - 4]
setl dl
xor ecx, ecx
cmp eax, edx
mov eax, esi
setne cl
cmp ecx, dword [ebp - 0x11c]
jge 0x10019809
mov eax, ebx
inc eax
mov dword [ebp - 0x24], eax
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x10019832
push 0x61e
push ebx
push ebx
push 0x9fb
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call edi
push eax
call dword [sym.imp.GDI32.dll_CreateDIBitmap]
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xfffffff3
jne 0x10019791
mov eax, dword [ebp - 0x7c]
mov ecx, 0x3e8
cdq
idiv ecx
mov ecx, dword [ebp - 0x90]
mov edi, edx
mov esi, eax
call fcn.1001875c
add eax, esi
add eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret