Function at 0x140006400
Capabilities:
Get geographical location

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1208]
mov eax, 0x1308
call fcn.140012410
sub rsp, rax
mov rax, qword [0x14001a010]
xor rax, rsp
mov qword [rbp + 0x11f0], rax
mov rsi, r9
mov qword [rsp + 0x60], r9
mov rdi, r8
mov r15, rdx
mov qword [rsp + 0x78], rdx
mov rbx, rcx
mov rax, qword [rbp + 0x1270]
mov qword [rbp - 0x80], rax
mov rax, qword [rbp + 0x1278]
mov qword [rbp - 0x78], rax
mov r12, qword [rbp + 0x1280]
mov qword [rsp + 0x70], r12
lea rcx, [0x140020513]
call fcn.14001233c
xor r14d, r14d
mov qword [rsp + 0x68], r14
lea rcx, [rbp - 0x70]
call fcn.14000ff30
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x710], xmm0
movups xmmword [rbp + 0x720], xmm0
mov dword [rbp + 0x730], eax
mov dword [rbp + 0x6f8], eax
mov word [rbp + 0x6fc], ax
mov qword [rbp + 0x700], rax
mov dword [rbp + 0x708], eax
mov dword [rsp + 0x50], r14d
mov qword [rsp + 0x48], r14
mov dword [rsp + 0x54], r14d
mov dword [rsp + 0x44], r14d
mov dword [rbp + 0x6f0], eax
mov word [rbp + 0x6f4], ax
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x34], r14d
lea r8, [rdi + 1]
movzx edx, byte [rdi]
lea rcx, [rsp + 0x68]
call qword [sym.imp.TGenClient.dll_TD_Attach]
mov r14d, eax
test eax, eax
je 0x14000654e
cmp eax, 0x66
jne 0x140006526
lea r8, [0x140013ae8]
lea rdx, [0x140014470]
mov rcx, r12
call fcn.1400017f0
mov r14d, 5
jmp 0x140006d4d
cmp eax, 0x1131
jne 0x140006543
lea r8, str.Cleanser
lea rdx, [0x140014498]
mov rcx, r12
call fcn.1400017f0
mov r14d, 5
jmp 0x140006d4d
lea r8, [rbp + 0x10]
lea rdx, [rsp + 0x50]
mov rcx, r15
call qword [sym.imp.SAPNWRFC.dll_RfcGetRowCount]
lea r9, [rbp + 0x10]
lea r8, [rsp + 0x48]
lea rdx, str.ADDR_FLAGS
mov rcx, rbx
call qword [sym.imp.SAPNWRFC.dll_RfcGetTable]
lea r8, [rbp + 0x10]
lea rdx, [rsp + 0x54]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.SAPNWRFC.dll_RfcGetRowCount]
lea rdx, [rbp + 0x10]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.SAPNWRFC.dll_RfcDescribeType]
lea r8, [rbp + 0x10]
lea rdx, [rsp + 0x44]
mov rcx, rax
call qword [sym.imp.SAPNWRFC.dll_RfcGetFieldCount]
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x58], eax
cmp eax, dword [rsp + 0x54]
je 0x1400065c7
mov r14d, 0x22b
jmp 0x140006d4d
xor ebx, ebx
mov edi, ebx
mov dword [rsp + 0x3c], ebx
test eax, eax
je 0x140006d4d
nop word [rax + rax]
lea r8, [rbp + 0x10]
mov edx, edi
mov rcx, r15
call qword [sym.imp.SAPNWRFC.dll_RfcMoveTo]
lea r8, [rbp + 0x10]
mov edx, edi
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.SAPNWRFC.dll_RfcMoveTo]
lea rax, [rbp + 0x10]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x34]
mov qword [rsp + 0x20], rax
mov r9d, 0x100
lea r8, [rbp + 0x700]
lea rdx, str.COUNTRY
mov rcx, r15
call qword [sym.imp.SAPNWRFC.dll_RfcGetString]
test eax, eax
je 0x14000664e
mov byte [rsp + 0x20], 0
xor r9d, r9d
lea r8, [rbp + 0x10]
lea rdx, str.RfcGetString_Error
mov ecx, eax
call fcn.1400016f0
xor eax, eax
mov dword [rbp + 0x6f8], eax
mov word [rbp + 0x6fc], ax
lea rax, [rbp + 0x700]
mov rcx, 0xffffffffffffffff
nop dword [rax + rax]
inc rcx
cmp word [rax + rcx*2], 0
jne 0x140006670
lea eax, [rcx + 2]
mov dword [rsp + 0x38], eax
lea rax, [rbp + 0x10]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x34]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x38]
lea r8, [rbp + 0x6f8]
mov edx, ecx
lea rcx, [rbp + 0x700]
call qword [sym.imp.SAPNWRFC.dll_RfcSAPUCToUTF8]
test eax, eax
je 0x1400066cd
mov byte [rsp + 0x20], 0
xor r9d, r9d
lea r8, [rbp + 0x10]
lea rdx, str.RfcSAPUCToUTF8_Error
mov ecx, eax
call fcn.1400016f0
xor eax, eax
mov dword [rbp + 0x6f0], eax
mov word [rbp + 0x6f4], ax
lea rax, [rbp + 0x10]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x34]
mov qword [rsp + 0x20], rax
mov r9d, 0x100
lea r8, [rbp + 0x6f0]
lea rdx, str.CHECK_STREET
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.SAPNWRFC.dll_RfcGetString]
test eax, eax
je 0x14000672c
mov byte [rsp + 0x20], 0
xor r9d, r9d
lea r8, [rbp + 0x10]
lea rdx, str.RfcGetString_Error
mov ecx, eax
call fcn.1400016f0
lea rax, [rbp + 0x10]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x34]
mov qword [rsp + 0x20], rax
mov r9d, 0x100
lea r8, [rbp + 0x6f2]
lea rdx, str.CHECK_PO_BOX
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.SAPNWRFC.dll_RfcGetString]
test eax, eax
je 0x14000677c
mov byte [rsp + 0x20], 0
xor r9d, r9d
lea r8, [rbp + 0x10]
lea rdx, str.RfcGetString_Error
mov ecx, eax
call fcn.1400016f0
lea rcx, [rbp - 0x70]
call fcn.140010ee0
mov r13d, 1
mov r12d, ebx
mov dword [rsp + 0x40], ebx
cmp dword [rsp + 0x44], 0
jbe 0x140006d38
nop dword [rax]
mov eax, r12d
cmp word [rbp + rax*2 + 0x6f0], 0x58
jne 0x140006ce5
test r13d, r13d
jne 0x1400067c0
lea rcx, [rbp - 0x70]
call fcn.140010ee0
test r12d, r12d
jne 0x140006801
lea r9, [rbp + 0x6f8]
mov r8, rsi
lea rdx, str._s__.2s
lea rcx, [rbp + 0x710]
call fcn.140001220
lea r8, [rbp + 0x710]
lea rcx, [rbp - 0x70]
call fcn.140007ff0
mov r13d, eax
mov dword [rsp + 0x30], eax
test eax, eax
je 0x1400068bf
lea rax, [rbp + 0x6f8]
mov qword [rsp + 0x20], rax
mov r9d, r12d
mov r8, rsi
lea rdx, str._s_d__.2s
lea rcx, [rbp + 0x710]
call fcn.140001220
lea r8, [rbp + 0x710]
lea rcx, [rbp - 0x70]
call fcn.140007ff0
mov r13d, eax
mov dword [rsp + 0x30], eax
test eax, eax
je 0x1400068bf
test r12d, r12d
jne 0x14000685d
mov r8, rsi
lea rcx, [rbp - 0x70]
call fcn.140007ff0
mov r13d, eax
mov dword [rsp + 0x30], eax
test eax, eax
je 0x1400068bf
mov r9d, r12d
mov r8, rsi
lea rdx, str._s_d
lea rcx, [rbp + 0x710]
call fcn.140001220
lea r8, [rbp + 0x710]
lea rcx, [rbp - 0x70]
call fcn.140007ff0
mov r13d, eax
mov dword [rsp + 0x30], eax
test eax, eax
je 0x1400068bf
mov r8, rsi
lea rdx, [0x1400144c4]
lea rcx, [rbp + 0xff0]
call fcn.140001600
lea r8, str.strTypeU
lea rdx, [0x1400144e8]
mov rcx, qword [rsp + 0x70]
call fcn.1400017f0
mov r14d, ebx
mov r15d, dword [rbp - 0x68]
test r15d, r15d
je 0x140006a75
mov r12, qword [rsp + 0x78]
xor r13d, r13d
nop word [rax + rax]
mov edx, r14d
lea rcx, [rbp - 0x70]
call fcn.140010e20
mov rsi, rax
mov rdx, qword [rax + 0x18]
lea rdi, [rbp + 0x7b0]
nop word [rax + rax]
movzx ecx, byte [rdx]
mov byte [rdi], cl
lea rdx, [rdx + 1]
lea rdi, [rdi + 1]
test cl, cl
jne 0x140006900
mov r8d, 6
lea rdx, str.WinKey
lea rcx, [rbp + 0x7b0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
je 0x140006a58
mov rcx, qword [rsi + 0x18]
mov rbx, 0xffffffffffffffff
nop
inc rbx
cmp byte [rcx + rbx], r13b
jne 0x140006940
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], r13b
jne 0x140006950
add eax, 2
mov dword [rsp + 0x38], eax
mov rcx, qword [rsi + 0x18]
lea rdx, [rbp + 0x8f0]
nop dword [rax + rax]
movzx eax, byte [rcx]
mov byte [rdx], al
lea rcx, [rcx + 1]
lea rdx, [rdx + 1]
test al, al
jne 0x140006970
lea rcx, [rbp + 0x8f0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strupr]
movzx eax, r13w
lea rdi, [rbp + 0x9f0]
mov ecx, 0x100
rep stosw word [rdi], ax
mov dword [rsp + 0x34], r13d
lea rax, [rbp + 0x10]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x34]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x38]
lea r8, [rbp + 0x9f0]
mov edx, ebx
lea rcx, [rbp + 0x8f0]
call qword [sym.imp.SAPNWRFC.dll_RfcUTF8ToSAPUC]
test eax, eax
je 0x1400069f2
mov byte [rsp + 0x20], r13b
xor r9d, r9d
lea r8, [rbp + 0x10]
lea rdx, str.RfcSAPUCToUTF8_Error
mov ecx, eax
call fcn.1400016f0
lea rax, [rbp + 0x10]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x34]
mov qword [rsp + 0x20], rax
mov r9d, 0x100
lea r8, [rbp + 0xbf0]
lea rdx, [rbp + 0x9f0]
mov rcx, r12
call qword [sym.imp.SAPNWRFC.dll_RfcGetString]
test eax, eax
jne 0x140006a2f
lea r8, [rbp + 0xbf0]
jmp 0x140006a50
mov byte [rsp + 0x20], r13b
xor r9d, r9d
lea r8, [rbp + 0x10]
lea rdx, str.RfcSAPUCToUTF8_Error
mov ecx, eax
call fcn.1400016f0
lea r8, [0x1400144f0]
mov rdx, rsi
call fcn.140010e60
inc r14d
cmp r14d, r15d
jb 0x1400068e0
mov r12d, dword [rsp + 0x40]
mov r13d, dword [rsp + 0x30]
mov rsi, qword [rsp + 0x60]
xor ebx, ebx
lea r8, [rsp + 0x30]
lea rdx, [rbp - 0x70]
mov rcx, qword [rsp + 0x68]
call fcn.140008130
mov r14d, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x140006cf9
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x740], xmm0
movups xmmword [rbp + 0x750], xmm0
movups xmmword [rbp + 0x760], xmm0
movups xmmword [rbp + 0x770], xmm0
movups xmmword [rbp + 0x780], xmm0
movups xmmword [rbp + 0x790], xmm0
mov qword [rbp + 0x7a0], rax
mov esi, ebx
test r15d, r15d
je 0x140006ce0
mov r12d, dword [rsp + 0x3c]
mov r14, qword [rbp - 0x80]
mov edx, esi
lea rcx, [rbp - 0x70]
call fcn.140010e20
mov rbx, rax
mov rdx, qword [rax + 0x18]
lea rdi, [rbp + 0x7e0]
nop word [rax + rax]
movzx ecx, byte [rdx]
mov byte [rdi], cl
lea rdx, [rdx + 1]
lea rdi, [rdi + 1]
test cl, cl
jne 0x140006b00
lea rcx, [rbp + 0x7e0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strupr]
cmp dword [rbp + 0x7e0], 0x4b4e4957
jne 0x140006cc9
cmp word [rbp + 0x7e4], 0x5945
jne 0x140006cc9
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x140006cc9
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x140006b51
test rax, rax
je 0x140006cc9
mov rcx, qword [rbx + 0x48]
call fcn.1400039a0
mov rcx, qword [rbx + 0x48]
mov rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x140006b80
test rax, rax
je 0x140006cc9
lea rdx, [rbp + 0x10]
mov rcx, r14
call qword [sym.imp.SAPNWRFC.dll_RfcAppendNewRow]
mov rdi, rax
lea r8d, [r12 + 1]
lea r9, [rbp + 0x10]
lea rdx, str.TABIX
mov rcx, rax
call qword [sym.imp.SAPNWRFC.dll_RfcSetInt]
test eax, eax
je 0x140006bda
mov byte [rsp + 0x20], 0
xor r9d, r9d
lea r8, [rbp + 0x10]
lea rdx, str.RfcSetInt_Error
mov ecx, eax
call fcn.1400016f0
mov rcx, qword [rbx + 0x18]
add rcx, 6
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
mov r8d, eax
lea rdx, str._2.2d
lea rcx, [rbp + 0x740]
call fcn.140001600
lea rax, [rbp + 0x740]
mov r9, 0xffffffffffffffff
nop dword [rax]
inc r9
cmp word [rax + r9*2], 0
jne 0x140006c10
lea rax, [rbp + 0x10]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x740]
lea rdx, str.WINDOWKEYID
mov rcx, rdi
call qword [sym.imp.SAPNWRFC.dll_RfcSetString]
test eax, eax
je 0x140006c59
mov byte [rsp + 0x20], 0
xor r9d, r9d
lea r8, [rbp + 0x10]
lea rdx, str.RfcSetString_Error
mov ecx, eax
call fcn.1400016f0
mov r8, qword [rbx + 0x48]
lea rdx, str.__50s
lea rcx, [rbp + 0x740]
call fcn.140001600
lea rax, [rbp + 0x740]
mov r9, 0xffffffffffffffff
nop
inc r9
cmp word [rax + r9*2], 0
jne 0x140006c80
lea rax, [rbp + 0x10]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x740]
lea rdx, str.WINDOWKEY
mov rcx, rdi
call qword [sym.imp.SAPNWRFC.dll_RfcSetString]
test eax, eax
je 0x140006cc9
mov byte [rsp + 0x20], 0
xor r9d, r9d
lea r8, [rbp + 0x10]
lea rdx, str.RfcSetString_Error
mov ecx, eax
call fcn.1400016f0
inc esi
cmp esi, r15d
jb 0x140006ae1
mov r14d, dword [rsp + 0x30]
mov r12d, dword [rsp + 0x40]
xor ebx, ebx
mov rsi, qword [rsp + 0x60]
inc r12d
mov dword [rsp + 0x40], r12d
cmp r12d, dword [rsp + 0x44]
jae 0x140006d34
jmp 0x1400067a0
mov rax, qword [rbp - 0x78]
mov dword [rax], r14d
mov r8d, r14d
lea rdx, [0x140013a88]
lea rcx, [rbp + 0xdf0]
call fcn.140001600
lea r8, [rbp + 0xdf0]
lea rdx, [0x1400144f8]
mov rcx, qword [rsp + 0x70]
call fcn.1400017f0
mov r14d, 5
mov edi, dword [rsp + 0x3c]
inc edi
mov dword [rsp + 0x3c], edi
cmp edi, dword [rsp + 0x58]
mov r15, qword [rsp + 0x78]
jb 0x1400065e0
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x140006d5e
call qword [sym.imp.TGenClient.dll_TD_Release]
nop
lea rcx, [rbp - 0x70]
call fcn.14000ffe0
mov eax, r14d
mov rcx, qword [rbp + 0x11f0]
xor rcx, rsp
call fcn.1400110e0
add rsp, 0x1308
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret