Function at 0x46f7c0
Capabilities:
Get common file path
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x710fae
mov eax, dword fs:[0]
push eax
sub esp, 0x19c
mov eax, dword [0x7f9c40]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, ecx
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x18c], eax
mov ecx, eax
mov dword [ebp - 4], 0
mov byte [ebp - 4], 1
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x46f810
sub ecx, edx
push ecx
push dword [ebp - 0x18c]
lea ecx, [edi + 0x43c]
call fcn.0044ebf0
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x46f830
sub ecx, edx
push ecx
push esi
lea ecx, [edi + 0x454]
call fcn.0044ebf0
lea ecx, [edi + 0x46c]
lea eax, [ebp + 0x10]
cmp ecx, eax
je 0x46f864
cmp dword [ebp + 0x24], 0xf
push dword [ebp + 0x20]
cmova eax, dword [ebp + 0x10]
push eax
call fcn.0044ebf0
xorps xmm0, xmm0
mov dword [ebp - 0x160], 0
movups xmmword [ebp - 0x170], xmm0
mov dword [ebp - 0x15c], 0xf
mov byte [ebp - 0x170], 0
push 0x103
lea eax, [ebp - 0x157]
mov byte [ebp - 4], 2
push 0
push eax
mov byte [ebp - 0x158], 0
call fcn.006e1410
add esp, 0xc
lea eax, [ebp - 0x158]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
cmp eax, 0x104
jg 0x46f8ec
test eax, eax
je 0x46f8ec
lea ecx, [ebp - 0x158]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x46f8d0
sub ecx, edx
lea eax, [ebp - 0x158]
push ecx
push eax
lea ecx, [ebp - 0x170]
call fcn.0044ebf0
push 0xe
push str.sdk_config.ini
lea ecx, [ebp - 0x170]
call fcn.0044ea90
xorps xmm0, xmm0
mov dword [ebp - 0x178], 0
movups xmmword [ebp - 0x188], xmm0
mov dword [ebp - 0x174], 0xf
mov byte [ebp - 0x188], 0
cmp dword [ebp - 0x15c], 0xf
lea edx, [ebp - 0x170]
mov byte [ebp - 4], 3
cmova edx, dword [ebp - 0x170]
mov ecx, edx
mov dword [ebp - 0x198], 0
movups xmmword [ebp - 0x1a8], xmm0
mov dword [ebp - 0x194], 0
lea esi, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x46f960
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x1a8]
call fcn.0044b260
xor eax, eax
mov byte [ebp - 4], 4
mov dword [ebp - 0x1c], eax
xorps xmm0, xmm0
mov word [ebp - 0x18], ax
mov byte [ebp - 0x16], al
lea eax, [ebp - 0x1c]
push 7
push eax
movq qword [ebp - 0x30], xmm0
mov dword [ebp - 0x28], 0
mov byte [ebp - 0x24], 0
call fcn.0050a0b0
add esp, 8
lea esi, [edi + 0x2ac]
test eax, eax
jne 0x46fa0e
push str.sdk_config.ini
push 0x21
mov byte [ebp - 0x34], al
xorps xmm0, xmm0
lea eax, [ebp - 0x54]
push eax
push 0x71aa07
push str.devicekey
push str.Config
movups xmmword [ebp - 0x54], xmm0
movups xmmword [ebp - 0x44], xmm0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [ebp - 0x54]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x46f9e5
sub ecx, edx
lea eax, [ebp - 0x54]
push ecx
push eax
mov ecx, esi
call fcn.0044ebf0
cmp dword [edi + 0x2bc], 0
jne 0x46fa5a
push esi
call fcn.00509ca0
add esp, 4
jmp 0x46fa5a
movzx eax, byte [ebp - 0x17]
push eax
movzx eax, byte [ebp - 0x18]
push eax
movzx eax, byte [ebp - 0x19]
push eax
movzx eax, byte [ebp - 0x1a]
push eax
movzx eax, byte [ebp - 0x1b]
push eax
movzx eax, byte [ebp - 0x1c]
push eax
push str._02x_02x_02x_02x_02x_02x
lea eax, [ebp - 0x30]
push 0xd
push eax
call fcn.00459790
lea ecx, [ebp - 0x30]
add esp, 0x24
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x46fa45
sub ecx, edx
lea eax, [ebp - 0x30]
push ecx
push eax
mov ecx, esi
call fcn.0044ebf0
mov ecx, dword [ebp - 0x194]
mov byte [ebp - 4], 3
cmp ecx, 0xf
jbe 0x46fa98
mov edx, dword [ebp - 0x1a8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x46fa8e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4700b5
push ecx
push edx
call fcn.006dec1c
add esp, 8
cmp dword [ebp + 0x24], 0xf
lea eax, [ebp + 0x10]
cmova eax, dword [ebp + 0x10]
push eax
call fcn.0049fc90
sub esp, 0x14
lea eax, [ebp - 0x170]
mov ecx, esp
push eax
call fcn.00452ce0
mov ecx, edi
call fcn.00472040
lea eax, [edi + 0x294]
push eax
push dword [ebp - 0x18c]
lea ecx, [edi + 0x2c4]
call fcn.00497760
test al, al
jne 0x46fb74
mov ecx, dword [ebp - 0x15c]
cmp ecx, 0xf
jbe 0x46fb1b
mov edx, dword [ebp - 0x170]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x46fb11
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4700bf
push ecx
push edx
call fcn.006dec1c
add esp, 8
mov ecx, dword [ebp + 0x24]
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x15c], 0xf
mov byte [ebp - 0x170], 0
cmp ecx, 0xf
jbe 0x46fb6a
mov edx, dword [ebp + 0x10]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x46fb60
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4700bf
push ecx
push edx
call fcn.006dec1c
add esp, 8
mov eax, 1
jmp 0x470097
sub esp, 0x18
xorps xmm0, xmm0
mov eax, esp
mov ecx, edi
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
call fcn.00474b30
sub esp, 0x18
lea eax, [ebp - 0x170]
mov ecx, esp
push eax
call fcn.00452ce0
mov ecx, edi
call fcn.004700e0
test eax, eax
je 0x46fc4a
mov ecx, dword [ebp - 0x15c]
cmp ecx, 0xf
jbe 0x46fbf1
mov edx, dword [ebp - 0x170]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x46fbe7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4700bf
push ecx
push edx
call fcn.006dec1c
add esp, 8
mov ecx, dword [ebp + 0x24]
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x15c], 0xf
mov byte [ebp - 0x170], 0
cmp ecx, 0xf
jbe 0x46fc40
mov edx, dword [ebp + 0x10]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x46fc36
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4700bf
push ecx
push edx
call fcn.006dec1c
add esp, 8
mov eax, 4
jmp 0x470097
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 5
push eax
lea ecx, [edi + 0x2c4]
call fcn.00497c10
mov esi, dword [ebp - 0x20]
mov byte [ebp - 4], 3
test esi, esi
je 0x46fd28
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18c], eax
cmp esi, eax
je 0x46fce4
nop
mov ecx, dword [esi + 0x14]
cmp ecx, 0xf
jbe 0x46fcc9
mov eax, dword [esi]
inc ecx
cmp ecx, 0x1000
jb 0x46fcb9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4700ba
mov eax, edx
push ecx
push eax
call fcn.006dec1c
mov eax, dword [ebp - 0x18c]
add esp, 8
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
add esi, 0x18
cmp esi, eax
jne 0x46fc90
mov esi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov eax, 0x2aaaaaab
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
cmp ecx, 0x1000
jb 0x46fd1e
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4700ba
push ecx
push esi
call fcn.006dec1c
add esp, 8
cmp dword [edi + 0x2a8], 0xf
lea esi, [edi + 0x294]
jbe 0x46fd39
mov esi, dword [esi]
lea eax, [edi + 0x394]
push eax
lea eax, [edi + 0x398]
push eax
sub esp, 0x18
lea eax, [edi + 0x2ac]
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
call fcn.00452ce0
sub esp, 0x18
mov byte [ebp - 4], 6
lea eax, [ebp - 0x170]
mov ecx, esp
push eax
call fcn.00452ce0
push esi
lea ecx, [edi + 0x2c4]
mov byte [ebp - 4], 3
call fcn.00496a00
cmp eax, 5
jne 0x46fe37
sub esp, 0x18
lea eax, [ebp - 0x170]
mov ecx, esp
push eax
call fcn.00452ce0
mov ecx, edi
call fcn.00472840
mov ecx, dword [ebp - 0x15c]
mov esi, dword [edi + 0x39c]
cmp ecx, 0xf
jbe 0x46fde1
mov edx, dword [ebp - 0x170]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x46fdd7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4700bf
push ecx
push edx
call fcn.006dec1c
add esp, 8
mov ecx, dword [ebp + 0x24]
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x15c], 0xf
mov byte [ebp - 0x170], 0
cmp ecx, 0xf
jbe 0x46fe30
mov edx, dword [ebp + 0x10]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x46fe26
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4700bf
push ecx
push edx
call fcn.006dec1c
add esp, 8
mov eax, esi
jmp 0x470097
cmp eax, 8
jne 0x46fed3
mov ecx, dword [ebp - 0x15c]
cmp ecx, 0xf
jbe 0x46fe7a
mov edx, dword [ebp - 0x170]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x46fe70
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4700bf
push ecx
push edx
call fcn.006dec1c
add esp, 8
mov ecx, dword [ebp + 0x24]
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x15c], 0xf
mov byte [ebp - 0x170], 0
cmp ecx, 0xf
jbe 0x46fec9
mov edx, dword [ebp + 0x10]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x46febf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4700bf
push ecx
push edx
call fcn.006dec1c
add esp, 8
mov eax, 2
jmp 0x470097
cmp eax, 6
jne 0x46ffe8
lea ecx, [edi + 0x1e0]
call fcn.00477510
push 0
push 0
push 0
push 1
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x1c]
call fcn.004672b0
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x1e0]
call fcn.0047b690
mov al, byte [ebp - 0x18d]
lea ecx, [edi + 0x1e0]
mov byte [ebp - 0x1c], al
lea eax, [ebp - 0x20]
push eax
mov dword [ebp - 0x20], 0x4724b0
mov dword [ebp - 0x18], edi
call fcn.00460850
cmp dword [edi + 0x74], 0
jne 0x46ff55
sub esp, 8
lea eax, [edi + 0xb4]
mov edx, esp
lea ecx, [edi + 0x50]
mov dword [edx], fcn.0047fb60
mov dword [edx + 4], eax
call fcn.004616a0
mov dword [edi + 0x74], eax
mov ecx, dword [ebp - 0x15c]
cmp ecx, 0xf
jbe 0x46ff8f
mov edx, dword [ebp - 0x170]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x46ff85
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4700bf
push ecx
push edx
call fcn.006dec1c
add esp, 8
mov ecx, dword [ebp + 0x24]
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x15c], 0xf
mov byte [ebp - 0x170], 0
cmp ecx, 0xf
jbe 0x46ffde
mov edx, dword [ebp + 0x10]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x46ffd4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4700bf
push ecx
push edx
call fcn.006dec1c
add esp, 8
mov eax, 9
jmp 0x470097
mov ecx, dword [ebp - 0x15c]
cmp ecx, 0xf
jbe 0x470022
mov edx, dword [ebp - 0x170]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x470018
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4700bf
push ecx
push edx
call fcn.006dec1c
add esp, 8
mov ecx, dword [ebp + 0x24]
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x15c], 0xf
mov byte [ebp - 0x170], 0
cmp ecx, 0xf
jbe 0x47006d
mov edx, dword [ebp + 0x10]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x470063
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4700bf
push ecx
push edx
call fcn.006dec1c
add esp, 8
mov eax, 0xc8
jmp 0x470097
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.006def69
mov esp, ebp
pop ebp
ret 0x20
call fcn.006e51cf
call fcn.006e51cf
call fcn.006e51cf
int3