Function at 0x100622aa
Capabilities:
Get geographical location
Get graphical window text

Disassembly:
mov eax, 0x1007de6c
call fcn.1007cbd8
sub esp, 0x19c
push ebx
push esi
push edi
push 0
pop ebx
mov dword [ebp - 0x20], 0x1b3
cmp dword [ebp - 0x20], 0x538
push 1
mov byte [ebp - 0x3d], dl
mov dword [ebp - 0x3c], ecx
pop edi
jle 0x10062355
mov esi, ebx
mov dword [ebp - 0x14], ebx
mov eax, esi
mov dword [ebp - 0x24], 0x2183
mov dword [ebp - 0x18], eax
mov esi, eax
mov dword [ebp - 0x10], 0x7f29
mov edi, ebx
mov ecx, edi
mov eax, esi
shl eax, cl
lea ecx, [ebp - 0x15c]
cdq
push edx
push eax
call fcn.1001072e
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10062313
mov eax, dword [eax]
push eax
call fcn.10067b63
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x15c]
call fcn.1001e023
inc edi
cmp edi, 0x9af
jl 0x100622f5
dec esi
dec dword [ebp - 0x10]
jne 0x100622f3
mov eax, dword [ebp - 0x18]
dec eax
dec dword [ebp - 0x24]
mov dword [ebp - 0x18], eax
jne 0x100622ea
mov esi, dword [ebp - 0x14]
inc esi
mov dword [ebp - 0x14], esi
cmp esi, 0x231f
jl 0x100622de
xor edi, edi
inc edi
push 3
pop esi
mov dword [ebp - 0x10], 0x7f08
lea ecx, [ebp - 0xb4]
push esi
call fcn.1001d86d
mov dword [ebp - 0x18], 0x8877e069
mov dword [ebp - 0x10], 0x34f1d4b0
mov dword [ebp - 0x30], 0x69ff9e6b
mov dword [ebp - 0x10], 0xbb9a67b9
mov dword [ebp - 0x2c], 0xcb51404f
mov dword [ebp - 0x28], 0xb7d4763c
mov dword [ebp - 0x14], ebx
jmp 0x100623a4
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x34], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1006239a
mov dword [ebp - 0x14], ebx
jmp 0x100623c1
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xb4]
mov dword [eax + ecx*4], 0x8a019320
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x100623ae
mov eax, dword [ebp - 0x34]
xor ecx, ecx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x10], edi
mov eax, dword [ebp - 0x10]
cmp eax, 0x94bb
mov eax, dword [ebp - 0x34]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x34]
setl dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0xb4]
setge cl
sub ecx, 9
mov dword [eax], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
add eax, 0x16d21b18
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cmp eax, 6
mov edx, dword [ebp - 0x34]
setle cl
add edx, ecx
xor ecx, ecx
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x30]
cmp edx, eax
setge cl
mov dword [ebp - 0x10], ecx
lea ecx, [ebp - 0xb4]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x2c], eax
call fcn.1001d8ef
cmp dword [ebp - 0x20], 0x127
jge 0x1006245d
push 0x1000ec20
call fcn.10067b63
pop ecx
mov dword [ebp - 0x18], 0x91f7
mov dword [ebp - 0x14], ebx
jmp 0x10062477
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x58], 0xdf251d69
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10062469
mov dword [ebp - 0x14], ebx
jmp 0x10062492
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x10c], 0x6ccb0362
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10062481
mov ecx, dword [ebp - 0x58]
xor edx, edx
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setl dl
mov dword [ebp - 0x108], edx
mov dword [ebp - 0x18], ebx
jmp 0x100624bd
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x58], 0xfe4b2830
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x100624af
push edi
lea ecx, [ebp - 0xcc]
call fcn.1001d86d
mov dword [ebp - 4], ebx
mov dword [ebp - 0x30], 5
mov dword [ebp - 0x18], 0x31ff
cmp dword [ebp - 0x18], 0x3261
jle 0x1006255b
mov edi, ebx
mov dword [ebp - 0x10], ebx
mov esi, ebx
mov dword [ebp - 0x20], ebx
mov eax, edi
mov dword [ebp - 0x30], ebx
cdq
mov edi, ebx
idiv esi
mov esi, edx
mov ecx, edi
mov eax, esi
sar eax, cl
lea ecx, [ebp - 0x12c]
cdq
push edx
push eax
call fcn.1001072e
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1006251c
mov eax, dword [eax]
push eax
call fcn.10067b63
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x12c]
call fcn.1001e023
inc edi
cmp edi, 0x6cc6
jl 0x100624fe
mov esi, dword [ebp - 0x20]
mov edi, dword [ebp - 0x10]
inc esi
mov dword [ebp - 0x20], esi
cmp esi, 0x1b40
jl 0x100624f2
inc edi
mov dword [ebp - 0x10], edi
cmp edi, 0x75dc
jl 0x100624ed
xor edi, edi
inc edi
mov dword [ebp - 0x10], ebx
jmp 0x10062573
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xcc]
mov dword [eax + ecx*4], 6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x10062560
cmp dword [ebp - 0x18], 0x2e32
jge 0x1006258c
push 0x1000ec44
call fcn.10067b63
pop ecx
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x100625a9
push ebx
push ebx
push ebx
call dword [sym.imp.GDI32.dll_GetObjectA]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xcc]
call fcn.1001d8ef
cmp byte [ebp - 0x3d], 0
mov eax, dword [ebp + 8]
mov esi, dword [0x1008a01c]
mov dword [ebp - 0x30], esi
mov dword [eax], ebx
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
je 0x10062704
cmp esi, edi
jne 0x10062704
mov dword [ebp - 0x10], 0xffffffff
mov dword [eax + 8], 4
mov dword [ebp - 0x10], ebx
jmp 0x10062601
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xe0], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x100625f4
mov dword [ebp - 0x10], ebx
jmp 0x10062646
mov dword [ebp - 0x18], 0xebb6748f
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10062623
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_Beep]
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], ebx
jl 0x10062643
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x1006263e
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
dec dword [ebp - 0x18]
jns 0x1006262b
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jle 0x1006260b
mov dword [ebp - 0x14], 0x3ca5
cmp dword [ebp - 0x14], 0x3f41
jle 0x100626e6
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_GetWindowTextA]
mov dword [ebp - 0x10], ebx
mov edi, ebx
mov dword [ebp - 0x24], ebx
mov esi, ebx
mov eax, edi
mov dword [ebp - 0x18], 0x33d2
mov edi, dword [ebp - 0x10]
mov dword [ebp - 0x20], eax
or eax, edi
lea ecx, [ebp - 0x18c]
cdq
push edx
push eax
call fcn.1001072e
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1006269b
mov eax, dword [eax]
push eax
call fcn.10067b63
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x18c]
call fcn.1001e023
mov eax, dword [ebp - 0x20]
add eax, esi
dec dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
jne 0x10062681
mov edi, dword [ebp - 0x24]
inc esi
cmp esi, 0x4c45
jl 0x10062672
inc edi
mov dword [ebp - 0x24], edi
cmp edi, 0x4b14
jl 0x10062670
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp eax, 0x75ff
jl 0x1006266b
mov esi, dword [ebp - 0x30]
cmp dword [ebp - 0x14], 0x3af1
mov eax, dword [ebp + 8]
mov dword [eax + 0xc], 0x1008a01c
jge 0x10062704
push 0x1000ec78
call fcn.10067b63
pop ecx
mov edi, dword [ebp - 0x3c]
cmp edi, esi
jge 0x100631ac
mov dword [ebp - 0x20], 0x1719
cmp dword [ebp - 0x20], 0x17b3
jle 0x10062769
mov esi, ebx
mov edi, ebx
mov eax, edi
lea ecx, [ebp - 0x144]
and eax, esi
cdq
push edx
push eax
call fcn.1001072e
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1006273f
mov eax, dword [eax]
push eax
call fcn.10067b63
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x144]
call fcn.1001e023
inc edi
cmp edi, 0x264a
jl 0x10062723
inc esi
cmp esi, 0x77b5
jl 0x10062721
mov edi, dword [ebp - 0x3c]
cmp dword [ebp - 0x20], 0x145e
mov esi, 0x1008a020
mov dword [ebp - 0x24], esi
jge 0x10062785
push 0x1000ec98
call fcn.10067b63
pop ecx
mov dword [ebp - 0x2c], ebx
test edi, edi
jle 0x10062ceb
xor edi, edi
inc edi
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x10], ebx
jmp 0x100627ac
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xd0], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1006279f
mov dword [ebp - 0x10], ebx
jmp 0x100627f1
mov dword [ebp - 0x18], 0xebb6748f
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x100627ce
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_Beep]
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], ebx
jl 0x100627ee
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x100627e9
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
dec dword [ebp - 0x18]
jns 0x100627d6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jle 0x100627b6
mov eax, dword [esi]
mov edi, dword [esi + 4]
mov dword [ebp - 0x28], eax
xor eax, eax
inc eax
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], ebx
jmp 0x1006292e
push dword [ebp + 8]
movdqa xmm0, xmmword [0x1000f2c0]
lea eax, [ebp - 0xf0]
push eax
lea eax, [ebp - 0x100]
mov dword [ebp - 0x18], 0xffffffff
push eax
mov dword [ebp - 0x20], 0x66b7a7b
lea ecx, [ebp - 0x90]
push ebx
movdqu xmmword [ebp - 0x100], xmm0
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x88], ebx
call fcn.10020961
xor ecx, ecx
mov dword [ebp - 0x10], ebx
inc ecx
jmp 0x10062875
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x5c], 0x547507af
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10062867
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x1006288a
push ebx
call dword [sym.imp.USER32.dll_SetKeyboardState]
mov eax, dword [ebp - 0x14]
xor edx, edx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setg dl
sub edx, 0x6b44b761
mov dword [ebp - 0x20], edx
xor edx, edx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
setg dl
xor eax, eax
cmp edx, 0x951b
setne al
imul eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
sub eax, 0x88fe
neg eax
sbb eax, eax
inc eax
neg eax
je 0x100628ec
cmp dword [ebp - 0x14], ebx
je 0x100628ec
xor eax, eax
inc eax
jmp 0x100628ee
mov eax, ebx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x90]
cmp dword [ecx + 0xc], ebx
je 0x10062905
mov eax, dword [ebp - 0x5c]
cmp dword [ebp - 0x14], ebx
jle 0x1006290d
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
mov dword [ecx + 0xc], 0x283019c3
lea ecx, [ebp - 0x90]
call fcn.1001d8ef
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffe7
jge 0x10062812
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x1006294b
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
add esi, 8
lea ecx, [ebp - 0x68]
push 4
mov dword [ebp - 0x24], esi
call fcn.1001d86d
mov dword [ebp - 4], 1
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x38], 0x839bf5bf
mov dword [ebp - 0x14], ebx
jmp 0x10062981
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x68]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x10062975
mov dword [ebp - 0x14], ebx
jmp 0x1006299d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x114], 0x58bbe58
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1006298c
mov eax, dword [ebp - 0x68]
cmp dword [eax + 4], ebx
je 0x10062ad6
mov dword [ebp - 0x10], 0x116c
cmp dword [ebp - 0x10], 0x143e
jle 0x10062a02
mov esi, ebx
mov edi, ebx
mov dword [ebp - 0x20], 0x54c8
mov dword [ebp - 0x14], ebx
mov ecx, ebx
mov eax, edi
sar eax, cl
mov ecx, 0x10082bb8
cdq
push edx
push eax
call fcn.1001d55e
inc ebx
cmp ebx, 0x37a
jl 0x100629cd
add edi, esi
dec dword [ebp - 0x20]
push 0
pop ebx
jne 0x100629ca
inc esi
cmp esi, 0x5199
jl 0x100629c1
mov esi, dword [ebp - 0x24]
mov edi, dword [ebp - 0x44]
mov dword [ebp - 0x14], 0xfffffffb
cmp dword [ebp - 0x10], 0xf67
jge 0x10062a21
mov edx, 0x1000ecc0
mov ecx, 0x10082bb8
call fcn.100202a3
mov dword [ebp - 0x14], 3
cmp dword [ebp - 0x14], ebx
jl 0x10062b9d
mov dword [ebp - 0x20], 0x3d0bb94d
lea ecx, [ebp - 0xdc]
push 1
call fcn.1001d86d
xor edx, edx
mov dword [ebp - 0x10], ebx
inc edx
jmp 0x10062a5c
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xdc]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x10062a4d
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x68]
mov dword [eax + edx*4], ecx
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x68]
mov dword [eax + ecx*4], edx
cmp edx, dword [ebp - 0x18]
jg 0x10062a96
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x14]
cmp dword [ecx + edx*4], eax
jne 0x10062a96
mov edx, ebx
jmp 0x10062a99
xor edx, edx
inc edx
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp eax, edx
setl cl
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 0xdc]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
call fcn.1001d8ef
dec dword [ebp - 0x14]
jns 0x10062a31
jmp 0x10062b9d
mov dword [ebp - 0x14], 0x1fa
cmp dword [ebp - 0x14], 0x506
jle 0x10062b62
mov edx, ebx
mov dword [ebp - 0x10], ebx
mov ecx, ebx
mov dword [ebp - 0x18], ebx
mov esi, ebx
mov edi, ebx
mov dword [ebp - 0x20], 0x3017
mov eax, edi
xor eax, ecx
lea ecx, [ebp - 0x174]
xor eax, edx
cdq
push edx
push eax
call fcn.1001072e
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10062b19
mov eax, dword [eax]
push eax
call fcn.10067b63
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x174]
call fcn.1001e023
mov ecx, dword [ebp - 0x18]
add edi, esi
dec dword [ebp - 0x20]
mov edx, dword [ebp - 0x10]
jne 0x10062afb
inc esi
cmp esi, 0x1a21
jl 0x10062af2
inc ecx
mov dword [ebp - 0x18], ecx
cmp ecx, 0x4631
jl 0x10062af0
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 0x59f5
jl 0x10062aeb
mov esi, dword [ebp - 0x24]
mov edi, dword [ebp - 0x44]
mov dword [ebp - 0x44], ebx
cmp dword [ebp - 0x14], 0x60
jge 0x10062b76
push 0x1000ece8
call fcn.10067b63
pop ecx
mov dword [ebp - 0x18], ebx
jmp 0x10062b83
cmp dword [ebp - 0x44], ebx
jne 0x10062b89
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x10
jge 0x10062b7b
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10062b9d
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
inc dword [ebp - 0x38]
lea ecx, [ebp - 0x68]
or dword [ebp - 4], 0xffffffff
call fcn.1001d8ef
test edi, edi
jne 0x10062bb6
add esi, 8
mov dword [ebp - 0x24], esi
push 2
lea ecx, [ebp - 0x84]
call fcn.1001d86d
mov dword [ebp - 0x18], 6
mov dword [ebp - 0x10], ebx
jmp 0x10062be2
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x84]
mov dword [eax + ecx*4], 0xdd33a4a9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10062bcf
xor edi, edi
mov dword [ebp - 0x18], ebx
inc edi
cmp dword [ebp - 0x18], edi
jg 0x10062cca
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x14], ebx
jmp 0x10062c31
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x10], ebx
jmp 0x10062c18
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x84]
cmp dword [eax + ecx*4], ebx
jne 0x10062c1d
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jle 0x10062c07
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10062c2e
push ebx
push ebx
call dword [sym.imp.GDI32.dll_SetTextColor]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jle 0x10062bff
cmp dword [ebp - 0x14], ebx
je 0x10062c3e
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp eax, edi
setl cl
sub ecx, 9
jne 0x10062c54
cmp dword [ebp - 0x14], ebx
jne 0x10062c54
mov edi, ebx
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x84]
mov edx, dword [ebp - 0x84]
mov eax, dword [eax + ecx*4]
xor ecx, ecx
cmp eax, edi
mov dword [edx + esi*4], eax
setl cl
xor eax, eax
cmp ecx, 0xa0a5
setle al
xor edi, edi
imul eax, dword [ebp - 0x18]
sub eax, 0x4d59ff44
inc edi
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x38], 0x4433ac25
mov dword [ebp - 0x38], 0x53bf
mov dword [ebp - 0x14], ebx
jmp 0x10062cb3
mov dword [ebp - 0x44], 0xffffffff
inc dword [ebp - 0x38]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jle 0x10062ca6
mov eax, dword [ebp - 0x18]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jle 0x10062bf7
mov esi, dword [ebp - 0x24]
lea ecx, [ebp - 0x84]
call fcn.1001d8ef
add esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x2c], eax
cmp eax, dword [ebp - 0x3c]
jl 0x10062793
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x20], 0x38a3
cmp dword [ebp - 0x20], 0x3b90
jle 0x10062d95
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.GDI32.dll_ExcludeClipRect]
mov dword [ebp - 0x3c], ebx
mov edi, ebx
mov dword [ebp - 0x44], ebx
mov esi, ebx
mov dword [ebp - 0x38], ebx
lea eax, [esi + edi]
mov dword [ebp - 0x2c], 0x54a3
mov edi, dword [ebp - 0x3c]
mov esi, eax
mov dword [ebp - 0x28], eax
mov ecx, esi
mov eax, edi
sar eax, cl
lea ecx, [ebp - 0x1a4]
cdq
push edx
push eax
call fcn.1001072e
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10062d4a
mov eax, dword [eax]
push eax
call fcn.10067b63
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x1a4]
call fcn.1001e023
dec esi
dec dword [ebp - 0x2c]
jne 0x10062d2c
mov esi, dword [ebp - 0x38]
mov edi, dword [ebp - 0x44]
inc esi
mov dword [ebp - 0x38], esi
cmp esi, 0x5d68
jl 0x10062d1a
inc edi
mov dword [ebp - 0x44], edi
cmp edi, 0x3274
jl 0x10062d15
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x3c], eax
cmp eax, 0x1f66
jl 0x10062d10
cmp dword [ebp - 0x20], 0x3637
jge 0x10062da9
push 0x1000ed10
call fcn.10067b63
pop ecx
xor esi, esi
lea ecx, [ebp - 0xc0]
inc esi
push esi
call fcn.1001d86d
mov dword [ebp - 0x28], 0x5c0c8fbf
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x14], ebx
jmp 0x10062dd4
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x9c], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10062dc7
mov dword [ebp - 0x14], ebx
jmp 0x10062dee
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc0]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10062ddf
mov eax, dword [ebp - 0x10]
inc eax
jne 0x10062e05
mov eax, dword [ebp - 0xc0]
mov ecx, ebx
cmp dword [eax], ebx
je 0x10062e07
mov ecx, esi
inc dword [ebp - 0x98]
mov eax, dword [ebp - 0x98]
cmp eax, ecx
je 0x10062e21
mov edx, ebx
cmp dword [ebp - 0x98], ebx
je 0x10062e23
mov edx, esi
mov eax, dword [ebp - 0x10]
xor ecx, ecx
cmp eax, edx
setle cl
mov dword [ebp - 0x28], ecx
lea ecx, [ebp - 0xc0]
call fcn.1001d8ef
mov edi, dword [ebp - 0x24]
mov esi, dword [edi]
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x28], 0x770aacc7
mov dword [ebp - 0x10], ebx
jmp 0x10062e61
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x4c], 0xfffffffa
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10062e53
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10062e77
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x4c], 0xc
cmp dword [ebp - 0x4c], 0x15
jge 0x10062fc9
xor edx, edx
inc edx
mov dword [ebp - 0x18], 9
mov dword [ebp - 0x2c], 0xfffd
mov dword [ebp - 0x28], 0xfffffffa
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x10], ebx
jmp 0x10062eba
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x50], 0xfffffffc
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x10062eac
mov dword [ebp - 0x18], ebx
jmp 0x10062fb3
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x28], 0x5fcb4448
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x10]
add eax, 0xfffffffa
add ecx, eax
jne 0x10062ee9
mov eax, ebx
cmp dword [ebp - 0x18], ebx
je 0x10062eeb
mov eax, edx
mov ecx, dword [ebp - 0x28]
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0x10]
cmp eax, ecx
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x48]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x4c]
setl dl
sub edx, 0xaba9
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x28], edx
xor edx, edx
cmp dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x10]
setle dl
xor ecx, ecx
cmp eax, edx
setl cl
xor eax, eax
cmp ecx, 0x67e784b5
setne al
xor edx, edx
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setle dl
sub edx, 0x1f433c8a
je 0x10062f5b
cmp dword [ebp - 0x4c], ebx
je 0x10062f5b
xor edx, edx
inc edx
jmp 0x10062f5d
mov edx, ebx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x48]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setge dl
xor ecx, ecx
cmp eax, edx
setge cl
mov dword [ebp - 0x24], ecx
xor ecx, ecx
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 0x48]
cmp edx, eax
sete cl
xor edx, edx
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x24]
cmp eax, ecx
setge dl
mov dword [ebp - 0x28], edx
xor edx, edx
inc dword [ebp - 0x18]
inc edx
cmp dword [ebp - 0x18], edx
jne 0x10062ec7
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], 0x15
jl 0x10062e8b
push dword [ebp + 8]
add edi, 4
mov dword [ebp - 0x74], ebx
xorps xmm0, xmm0
mov dword [ebp - 0x24], edi
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x70], ebx
movdqu xmmword [ebp - 0xf0], xmm0
mov eax, dword [edi]
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0xe0]
push eax
lea eax, [ebp - 0xf0]
mov dword [ebp - 0x18], 0xa73d2d67
push eax
push ebx
mov dword [ebp - 0x6c], ebx
call fcn.10020961
mov dword [ebp - 0x3c], 0x81a7ecc2
xor edx, edx
mov dword [ebp - 0x10], 0x95da2282
inc edx
mov dword [ebp - 0x2c], 0x321a0783
mov dword [ebp - 0x10], ebx
jmp 0x10063034
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x54], 0x6f444694
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x10063026
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x74]
mov dword [eax + 8], ecx
test ecx, ecx
jne 0x1006304d
mov edi, ebx
cmp dword [ebp - 0x3c], ebx
je 0x1006304f
mov edi, edx
mov dword [ebp - 0x10], 0xbdb
cmp dword [ebp - 0x10], ebx
je 0x100630bc
mov eax, dword [ebp - 0x18]
xor edx, edx
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
push 7
setle dl
pop eax
cmp eax, edx
sbb ecx, ecx
xor edx, edx
neg ecx
imul ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, dword [ebp - 0x3c]
setge dl
sub edx, 0xd764
neg edx
sbb edx, edx
add edx, 4
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setg cl
inc ecx
jne 0x100630b0
cmp dword [ebp - 0x10], ebx
jne 0x100630b0
xor edx, edx
mov eax, ebx
inc edx
jmp 0x100630b5
xor edx, edx
inc edx
mov eax, edx
cmp eax, dword [ebp - 0x3c]
mov eax, edx
jle 0x100630be
mov eax, ebx
cmp edi, eax
jl 0x100630cb
mov eax, dword [ebp - 0x74]
cmp dword [eax], ebx
mov eax, ebx
je 0x100630cd
mov eax, edx
add eax, 0x32ff
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x54], eax
call fcn.1001d8ef
cmp dword [ebp - 0x28], 0
mov ecx, dword [ebp - 0x24]
jne 0x100631ac
cmp byte [ebp - 0x3d], 0
je 0x10063105
cmp dword [ebp - 0x30], 1
jne 0x10063105
mov edx, dword [ebp + 8]
lea eax, [esi + 0x10]
add dword [edx + 8], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x54], eax
mov eax, dword [ecx + 8]
add ecx, 0xc
push esi
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x24], ecx
call fcn.10066636
pop ecx
mov dword [ebp - 0x30], eax
lea ecx, [ebp - 0xa8]
lea eax, [ebp - 0x78]
mov dword [ebp - 0x78], ebx
push eax
push esi
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 0xa0], ebx
call fcn.1006490e
mov edi, dword [ebp - 0xa8]
mov ecx, ebx
test esi, esi
jle 0x10063196
mov eax, ecx
and eax, 0x80000001
jns 0x10063160
dec eax
or eax, 0xfffffffe
inc eax
neg eax
sbb eax, eax
and eax, dword [ebp - 0x54]
add eax, ecx
add eax, dword [ebp - 0x54]
imul eax, dword [ebp - 0x50]
jmp 0x10063175
lea eax, [edx + 1]
cdq
idiv esi
cmp word [edi + edx*2], bx
jne 0x10063172
xor eax, eax
inc eax
mov word [edi + edx*2], ax
mov eax, dword [ebp - 0x24]
mov al, byte [edx + eax]
mov edx, dword [ebp - 0x30]
mov byte [ecx + edx], al
inc ecx
cmp ecx, esi
jl 0x10063152
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x30]
mov dword [ecx], esi
mov dword [ecx + 4], eax
test edi, edi
je 0x100631ac
push edi
call fcn.10067d39
pop ecx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret