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

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x2aa8]
mov eax, 0x2ba8
call fcn.18006ece0
sub rsp, rax
imul eax, ecx, 0x672
xor ebx, ebx
mov rdi, r8
mov r13d, ecx
lea r14d, [rbx + 0x2e]
mov dword [rbp + 0x2b08], eax
cmp ecx, eax
ja 0x18004e69b
mov rsi, qword [rbp + 0x2b08]
mov r15, qword [rbp + 0x2b08]
mov eax, 0x6574
cmp r13d, 0xc083
ja 0x18004e571
je 0x18004ed89
cmp r13d, 0x4257
ja 0x18004e257
je 0x18004e752
mov eax, r13d
sub eax, 0x99
je 0x18004e1fb
cmp eax, 0x1e
jne 0x18004e684
movzx eax, word [0x1800a20af]
mov word [rsp + 0x38], ax
movzx eax, byte [0x1800a20b1]
mov byte [rsp + 0x3a], al
mov byte [rsp + 0x3b], bl
jmp 0x18004e684
lea rax, [0x1800bd170]
mov ecx, 0x200
nop word [rax + rax]
mov qword [rax], rbx
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbx
lea rax, [rax + 0x40]
mov qword [rax - 0x28], rbx
mov qword [rax - 0x20], rbx
mov qword [rax - 0x18], rbx
mov qword [rax - 0x10], rbx
mov qword [rax - 8], rbx
sub rcx, 1
jne 0x18004e210
xor r8d, r8d
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov rdx, qword [rbp + 0x2af8]
mov qword [0x1800bd168], rax
jmp 0x18004e684
cmp r13d, 0x4f59
je 0x18004e54d
cmp r13d, 0x60b1
je 0x18004e283
cmp r13d, 0x9dfb
jne 0x18004e684
mov byte [rsp + 0x42], bl
jmp 0x18004e684
mov r12, 0xffffffffffffffff
nop word [rax + rax]
inc r12
cmp byte [rdx + r12], bl
jne 0x18004e290
mov rcx, qword [rdi]
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x18004e7a7
mov r14d, 0xe9
mov eax, r14d
sub eax, 0xe9
je 0x18004e3bc
sub eax, 0x69
je 0x18004e3a4
sub eax, 0x69
je 0x18004e2f0
sub eax, 0x69
je 0x18004e39c
cmp eax, 0x69
jne 0x18004e3bf
mov r13d, 0x60b1
jmp 0x18004e3bf
mov edi, 0x87
mov eax, edi
sub eax, 0x87
je 0x18004e31b
cmp eax, 1
jne 0x18004e349
mov r8d, 0xff
lea rdx, [rbp + 0xa0]
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetClassNameW]
jmp 0x18004e349
lea rcx, [rbp + 0xa0]
call fcn.1800737f4
mov rcx, rax
lea rdx, str.mdiclient
call fcn.180078e00
mov r15, rsi
test eax, eax
je 0x18004e35a
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetParent]
mov rsi, rax
inc edi
cmp edi, 0x89
jb 0x18004e2f5
test rsi, rsi
jne 0x18004e2f0
jmp 0x18004e3bf
mov rcx, qword [rbp + 0x2af8]
mov qword [0x1800c56c8], rsi
call fcn.1800737f4
mov rdx, rbx
lea r8, [0x1800a10a8]
nop word [rax + rax]
movzx ecx, byte [rax + rdx]
inc rdx
cmp cl, byte [r8 + rdx - 1]
jne 0x18004e39c
cmp rdx, 4
jne 0x18004e380
mov rax, rsi
jmp 0x18004ed8e
mov r14d, 0x224
jmp 0x18004e3bf
mov r8d, 0xff
lea rdx, [rbp + 0xa0]
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetClassNameW]
jmp 0x18004e3bf
mov rsi, qword [rdi]
mov rdi, qword [rbp + 0x2b00]
add r14d, 0x69
cmp r14d, 0x2f6
jb 0x18004e2b0
mov rcx, r15
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x18004e52c
mov rcx, r15
test r12, r12
je 0x18004e773
mov edx, 5
call qword [sym.imp.USER32.dll_GetWindow]
mov rsi, rax
nop dword [rax]
nop word [rax + rax]
mov rdx, rsi
mov rcx, r15
mov r14, rsi
call qword [sym.imp.USER32.dll_IsChild]
test eax, eax
je 0x18004e7a7
mov edi, 0x73
nop dword [rax]
mov eax, edi
sub eax, 0x73
je 0x18004e4c7
sub eax, 0x28
je 0x18004e4af
cmp eax, 0x28
jne 0x18004e4dd
lea rcx, [rbp + 0xa0]
call fcn.1800737f4
mov rcx, rax
lea rdx, str.mdiclient
call fcn.180078e00
test eax, eax
jne 0x18004e49c
mov rcx, qword [rbp + 0x2af8]
call fcn.1800737f4
mov rdx, rbx
lea r8, [0x1800a10a8]
nop
movzx ecx, byte [rax + rdx]
inc rdx
cmp cl, byte [r8 + rdx - 1]
jne 0x18004e49c
cmp rdx, 4
jne 0x18004e480
mov rax, r14
jmp 0x18004ed8e
mov edx, 2
mov rcx, r14
call qword [sym.imp.USER32.dll_GetWindow]
mov rsi, rax
jmp 0x18004e4dd
mov r8d, 0xff
lea rdx, [rbp + 0xa0]
mov rcx, r14
call qword [sym.imp.USER32.dll_GetClassNameW]
jmp 0x18004e4dd
mov r8d, 0x100
lea rdx, [rbp + 0x1a0]
mov rcx, r14
call qword [sym.imp.USER32.dll_GetWindowTextW]
add edi, 0x28
cmp edi, 0xeb
jb 0x18004e430
lea rcx, [rbp + 0x1a0]
call fcn.1800737f4
mov rcx, qword [rbp + 0x2af8]
mov rdi, rax
call fcn.1800737f4
sub rdi, rax
nop word [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + rdi]
sub edx, ecx
jne 0x18004e522
inc rax
test ecx, ecx
jne 0x18004e510
test edx, edx
jne 0x18004e410
jmp 0x18004e52f
mov r14, rbx
mov rdi, qword [rbp + 0x2b00]
mov rdx, qword [rbp + 0x2af8]
mov qword [rsp + 0x50], r14
mov r14d, 0x2e
jmp 0x18004e684
movzx eax, word [0x1800a2044]
mov word [rsp + 0x3f], ax
movzx eax, byte [0x1800a2046]
mov byte [rsp + 0x41], al
mov dword [rsp + 0x3b], 0x61666544
jmp 0x18004e684
cmp r13d, 0x1d883
ja 0x18004e5dd
je 0x18004e5d4
cmp r13d, 0xec9d
je 0x18004e5b3
cmp r13d, 0x13b3f
je 0x18004e5a5
cmp r13d, 0x189e1
jne 0x18004e684
mov byte [rsp + 0x48], 0x72
jmp 0x18004e684
mov word [rsp + 0x46], ax
mov byte [rsp + 0x48], bl
jmp 0x18004e684
movzx eax, word [0x1800a2010]
mov word [rsp + 0x42], ax
movzx eax, byte [0x1800a2012]
mov byte [rsp + 0x44], al
mov byte [rsp + 0x45], 0x6e
jmp 0x18004e684
mov byte [rsp + 0x49], bl
jmp 0x18004e684
cmp r13d, 0x22725
je 0x18004e64c
cmp r13d, 0x275c7
je 0x18004e612
cmp r13d, 0x2c469
jne 0x18004e684
mov eax, dword [0x1800a20a0]
mov dword [rbp - 0x76], eax
movzx eax, word [0x1800a20a4]
mov word [rbp - 0x72], ax
jmp 0x18004e684
mov eax, dword [0x1800a2090]
lea rdx, [0x1800a2098]
mov dword [rsp + 0x7e], eax
lea rcx, [rsp + 0x78]
movzx eax, word [0x1800a2094]
mov r8d, 3
mov word [rbp - 0x7e], ax
call fcn.18007304c
mov rdx, qword [rbp + 0x2af8]
mov word [rbp - 0x78], r14w
jmp 0x18004e684
mov eax, dword [0x1800a0194]
lea rcx, [rsp + 0x78]
mov dword [rsp + 0x78], eax
sub rcx, 2
movzx eax, word [0x1800a0198]
mov word [rsp + 0x7c], ax
mov word [rsp + 0x49], 0x57
cmp word [rcx + 2], bx
lea rcx, [rcx + 2]
jne 0x18004e672
mov eax, dword [0x18009fe08]
mov dword [rcx], eax
imul eax, dword [rbp + 0x2af0], 0x6e
add r13d, eax
cmp r13d, dword [rbp + 0x2b08]
jbe 0x18004e19d
mov edi, dword [rbp + 0x2af0]
imul esi, edi, 0x6db
mov dword [rbp - 0x60], esi
cmp edi, esi
ja 0x18004ed89
mov r13, qword [rbp - 0x18]
mov ecx, 1
imul r14d, edi, 0x75
lea r11d, [rcx + 0x65]
lea r8d, [rcx + 0x75]
mov dword [rbp + 0x2b08], r14d
lea r9d, [rcx + 0x46]
mov r15, qword [rbp + 0x2b08]
lea r10d, [rcx + 0x68]
mov r12, qword [rbp + 0x2b08]
mov eax, dword [rbp + 0x2b08]
mov r14, qword [rbp - 0x20]
nop
cmp edi, 0x24a2c
ja 0x18004e84e
je 0x18004e841
cmp edi, 0xfba0
ja 0x18004e7e6
je 0x18004e7c9
cmp edi, 0xb7
je 0x18004e7bb
cmp edi, 0x545a
je 0x18004e7af
cmp edi, 0xa7fd
jne 0x18004ed72
mov edx, 0x7561
mov word [rbp - 0x43], r11w
mov word [rbp - 0x42], dx
mov dword [rbp - 0x40], 0x50746c
jmp 0x18004ed72
cmp qword [0x1800bd168], rbx
jne 0x18004e76a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x50], eax
jmp 0x18004ed89
mov dword [rsp + 0x50], ebx
jmp 0x18004ed89
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x18004e792
mov rcx, r15
call qword [sym.imp.USER32.dll_GetParent]
mov r15, rax
mov rcx, r15
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x18004e7a7
mov rax, r15
jmp 0x18004ed8e
mov rax, rbx
jmp 0x18004ed8e
mov dword [rbp - 0x47], 0x65447465
jmp 0x18004ed72
mov dword [rbp - 0x72], r8d
mov word [rbp - 0x48], r9w
jmp 0x18004ed72
mov edx, 0x77
mov dword [rbp - 0x3d], 0x746e6972
mov word [rsp + 0x58], dx
mov dword [rbp - 0x39], 0x577265
jmp 0x18004ed72
cmp edi, 0x14f43
je 0x18004e836
cmp edi, 0x1a2e6
je 0x18004e81f
cmp edi, 0x1f689
jne 0x18004ed72
mov dword [rsp + 0x62], 0x6f006f
mov dword [rsp + 0x66], 0x2e006c
mov dword [rsp + 0x6a], 0x720064
jmp 0x18004ed72
mov edx, 0x70
mov dword [rsp + 0x5c], 0x73006e
mov word [rsp + 0x60], dx
jmp 0x18004ed72
mov word [rsp + 0x5a], r10w
jmp 0x18004ed72
mov dword [rsp + 0x6e], 0x76
jmp 0x18004ed72
cmp edi, 0x398b8
ja 0x18004ea9b
je 0x18004ea6b
cmp edi, 0x29dcf
je 0x18004e8be
cmp edi, 0x2f172
je 0x18004e88c
cmp edi, 0x34515
jne 0x18004ed72
mov r15, rbx
mov dword [rsp + 0x30], 0x1000
jmp 0x18004ed72
xor edx, edx
lea rcx, [rbp + 0xaa0]
mov r8d, 0x1000
call fcn.180070440
mov r8d, 0x1000
lea rdx, [rbp + 0xaa0]
lea rcx, [rbp + 0x1aa0]
call fcn.180070030
jmp 0x18004ed57
mov edi, 0xe1
mov eax, edi
sub eax, 0xe1
je 0x18004e93c
sub eax, 0x23
je 0x18004e8e9
sub eax, 0x721f
je 0x18004e970
cmp eax, 0x11e9
je 0x18004e970
jmp 0x18004e95e
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.USER32.dll_GetDlgCtrlID]
movsxd rcx, eax
sub rcx, 0x471
je 0x18004e913
cmp rcx, 0xf
jne 0x18004e92d
test qword [0x1800d57d0], 0x4000
jmp 0x18004e91e
test qword [0x1800d57d0], 0x100
je 0x18004e92d
mov rcx, qword [rsp + 0x78]
xor edx, edx
call qword [sym.imp.USER32.dll_EnableWindow]
mov ecx, 1
mov edi, 0x104
mov dword [rbp - 0x30], ecx
jmp 0x18004e95e
xor r8d, r8d
lea rcx, [rsp + 0x78]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rcx, rax
lea rdx, [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp - 0x30], rax
add edi, 0x7242
cmp edi, 0x1c908
jbe 0x18004e8c3
mov r12, qword [rbp - 0x30]
mov edi, 0xe1
nop dword [rax]
mov eax, edi
sub eax, 0xe1
je 0x18004e9f8
sub eax, 0x23
je 0x18004e9a6
sub eax, 0x721f
je 0x18004ea2b
cmp eax, 0x11e9
je 0x18004ea2b
jmp 0x18004ea19
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.USER32.dll_GetDlgCtrlID]
movsxd rcx, eax
sub rcx, 0x471
je 0x18004e9d0
cmp rcx, 0xf
jne 0x18004e9ea
test qword [0x1800d57d0], 0x4000
jmp 0x18004e9db
test qword [0x1800d57d0], 0x100
je 0x18004e9ea
mov rcx, qword [rsp + 0x58]
xor edx, edx
call qword [sym.imp.USER32.dll_EnableWindow]
mov edi, 0x104
mov dword [rbp - 0x28], 1
jmp 0x18004ea19
xor r8d, r8d
lea rcx, [rsp + 0x58]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rcx, rax
lea rdx, [rbp - 0x48]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp - 0x28], rax
add edi, 0x7242
cmp edi, 0x1c908
jbe 0x18004e980
mov r14, qword [rbp - 0x28]
lea rcx, [rbp + 0xaa0]
xor edx, edx
mov qword [rbp - 0x20], r14
mov r8d, 0x800
call fcn.180070440
lea rcx, [rbp + 0x2a0]
mov r8d, 0x800
lea rdx, [rbp + 0xaa0]
call fcn.180070030
mov edi, dword [rbp + 0x2af0]
jmp 0x18004ed57
mov rax, qword [rdx]
lea r9, [rbp - 0x68]
mov word [rbp + 0x2af0], cx
lea rdx, [rbp + 0x2af0]
lea rcx, [rbp + 0x2a0]
mov qword [rbp - 0x68], rax
mov r8d, 0x10c
call fcn.180059270
jmp 0x18004ed57
cmp edi, 0x3ec5b
je 0x18004ed08
cmp edi, 0x43ffe
je 0x18004ecfb
cmp edi, 0x493a1
jne 0x18004ed72
lea rcx, [rbp + 0x2a0]
call r12
test eax, eax
je 0x18004eccf
mov r14, qword [rbp + 0x2af8]
mov esi, 0xa5
nop dword [rax]
cmp esi, 0xe2e0
ja 0x18004ec75
je 0x18004ec5f
cmp esi, 0xa5
je 0x18004ec24
cmp esi, 0x4c0e
je 0x18004eb83
cmp esi, 0x9777
jne 0x18004ecab
test r15, r15
jne 0x18004eb74
mov rcx, qword [rbp + 0x40]
call qword [sym.imp.GDI32.dll_StartPage]
test eax, eax
jne 0x18004eb32
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r15d, eax
test eax, eax
jne 0x18004eb74
lea rcx, [rbp + 0x1aa0]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], bl
jne 0x18004eb40
mov rcx, qword [rbp + 0x40]
lea r9, [rbp + 0x1aa0]
mov dword [rsp + 0x20], eax
mov eax, 1
mov r8d, eax
mov edx, eax
call qword [sym.imp.GDI32.dll_TextOutW]
test eax, eax
jne 0x18004eb74
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r15d, eax
mov rcx, qword [rbp + 0x40]
call qword [sym.imp.GDI32.dll_EndPage]
jmp 0x18004ecab
xorps xmm0, xmm0
lea rcx, [rbp + 0x20]
movdqa xmmword [rbp + 0x30], xmm0
call qword [sym.imp.COMDLG32.dll_PrintDlgW]
test eax, eax
jne 0x18004eba2
call qword [sym.imp.COMDLG32.dll_CommDlgExtendedError]
mov r15d, eax
test r15, r15
jne 0x18004ecab
mov edi, 0xc2
lea r14, str.Label
lea r13, [0x1800a20f8]
nop
mov eax, edi
sub eax, 0xc1
je 0x18004ebe8
cmp eax, 1
jne 0x18004ec0a
xorps xmm0, xmm0
mov qword [rbp - 8], 0x28
movdqu xmmword [rbp + 0x10], xmm0
mov qword [rbp], r14
mov qword [rbp + 8], rbx
jmp 0x18004ec0a
mov rcx, qword [rbp + 0x40]
lea rdx, [rbp - 8]
mov qword [rbp + 0x10], r13
mov dword [rbp + 0x18], ebx
call qword [sym.imp.GDI32.dll_StartDocW]
test eax, eax
jne 0x18004ec0a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r15d, eax
dec edi
cmp edi, 0xc0
ja 0x18004ebc0
mov r13, qword [rbp - 0x18]
mov r14, qword [rbp + 0x2af8]
jmp 0x18004ecab
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x20], xmm0
mov dword [rbp + 0x20], 0x78
movups xmmword [rbp + 0x40], xmm0
mov dword [rbp + 0x48], 0x500
movups xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x90], rax
movups xmmword [rbp + 0x50], xmm0
movups xmmword [rbp + 0x60], xmm0
movups xmmword [rbp + 0x70], xmm0
movups xmmword [rbp + 0x80], xmm0
jmp 0x18004ecab
mov rcx, qword [rbp + 0x40]
call qword [sym.imp.GDI32.dll_EndDoc]
mov rcx, qword [rbp + 0x40]
call qword [sym.imp.GDI32.dll_DeleteDC]
jmp 0x18004ecab
cmp esi, 0x12e49
je 0x18004eca5
cmp esi, 0x179b2
jne 0x18004ecab
mov rax, qword [r14]
lea rdx, [rbp - 0x68]
mov r8d, 0x92
mov qword [rbp - 0x50], rax
lea rcx, [rbp - 0x50]
mov dword [rbp - 0x68], r15d
call fcn.18004ff10
jmp 0x18004ecab
mov rcx, r13
call r12
add esi, 0x4b69
cmp esi, 0x1c476
jbe 0x18004eae0
mov r14, qword [rbp - 0x20]
mov esi, dword [rbp - 0x60]
mov edi, dword [rbp + 0x2af0]
jmp 0x18004ed57
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x58], eax
mov r8d, 0x92
mov rax, qword [rbp + 0x2af8]
lea rdx, [rbp - 0x58]
lea rcx, [rbp - 0x10]
mov rax, qword [rax]
mov qword [rbp - 0x10], rax
call fcn.18004ff10
jmp 0x18004ed57
lea rdx, [rsp + 0x30]
mov rcx, r13
call r14
jmp 0x18004ed57
mov eax, 2
lea r9, [rbp - 0x50]
mov word [rbp + 0x2af0], ax
lea rcx, [rbp + 0x1aa0]
mov rax, qword [rdx]
mov r8d, 0x10c
lea rdx, [rbp + 0x2af0]
mov qword [rbp - 0x50], rax
call fcn.180059270
mov ecx, dword [rsp + 0x30]
call fcn.180073cfc
mov r8d, dword [rsp + 0x30]
xor edx, edx
mov rcx, rax
mov qword [rbp - 0x18], rax
mov r13, rax
call fcn.180070440
mov eax, dword [rbp + 0x2b08]
mov ecx, 1
lea r8d, [rcx + 0x75]
lea r9d, [rcx + 0x46]
lea r10d, [rcx + 0x68]
lea r11d, [rcx + 0x65]
mov rdx, qword [rbp + 0x2af8]
add edi, eax
mov dword [rbp + 0x2af0], edi
cmp edi, esi
jbe 0x18004e6f0
mov rax, qword [rsp + 0x50]
add rsp, 0x2ba8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret