Function at 0x10003fe0
Capabilities:
Read .ini file

Disassembly:
push ebp
lea ebp, [esp - 0x70]
sub esp, 0x2fc
mov eax, dword [0x10113a30]
xor eax, ebp
mov dword [ebp + 0x6c], eax
push ebx
mov ebx, dword [ebp + 0x78]
push pe_nt_image_headers32
lea eax, [ebp - 0x284]
push eax
push 0x100ce7c8
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0x284]
push eax
lea eax, [ebp - 0x184]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp - 0x184]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea ecx, [ebp - 0x184]
dec ecx
add eax, ecx
jmp 0x10004044
dec eax
cmp byte [eax], 0x5c
jne 0x10004043
push esi
push edi
mov byte [eax + 1], 0
push str.HWID.ini
lea eax, [ebp - 0x184]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
and dword [ebx], 0
xor eax, eax
mov esi, str.RT2500
lea edi, [ebp - 0x24]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
lea edi, [ebp - 0x1d]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosb byte es:[edi], al
xor eax, eax
mov esi, str.RT2500USB
lea edi, [ebp - 0x14]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea edi, [ebp - 0xa]
stosd dword es:[edi], eax
stosw word es:[edi], ax
xor eax, eax
mov esi, str.RT61
lea edi, [ebp - 4]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
lea edi, [ebp + 1]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
xor eax, eax
mov esi, str.RT73
lea edi, [ebp + 0xc]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
lea edi, [ebp + 0x11]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov esi, str.RT2860
lea edi, [ebp + 0x1c]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
xor eax, eax
lea edi, [ebp + 0x23]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosb byte es:[edi], al
mov esi, str.RT2870
lea edi, [ebp + 0x2c]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
xor eax, eax
lea edi, [ebp + 0x33]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosb byte es:[edi], al
mov esi, str.RT2070
lea edi, [ebp + 0x3c]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
xor eax, eax
lea edi, [ebp + 0x43]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosb byte es:[edi], al
mov esi, str.RT3070
lea edi, [ebp + 0x4c]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
xor eax, eax
lea edi, [ebp + 0x53]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosb byte es:[edi], al
and dword [ebp - 0x288], 0
mov esi, str.RT3090
lea edi, [ebp + 0x5c]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
xor eax, eax
lea edi, [ebp + 0x63]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosb byte es:[edi], al
lea eax, [ebp - 0x24]
xor edi, edi
mov dword [ebp - 0x28c], eax
mov esi, 0x100cdb5f
inc dword [ebp - 0x288]
push dword [ebp - 0x288]
lea eax, [ebp - 0x44]
push str.DeviceID__d
push eax
call fcn.1008e5f7
add esp, 0xc
lea eax, [ebp - 0x184]
push eax
push 0x40
lea eax, [ebp - 0x84]
push eax
push esi
lea eax, [ebp - 0x44]
push eax
push dword [ebp - 0x28c]
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x84]
push esi
push eax
call fcn.1008eb30
test eax, eax
pop ecx
pop ecx
jne 0x10004190
and dword [ebp - 0x288], eax
inc edi
add dword [ebp - 0x28c], 0x10
jmp 0x100041df
mov eax, dword [ebp + 0x7c]
cmp eax, dword [ebx]
jle 0x100041dd
lea eax, [ebp - 0x84]
push eax
call fcn.1008e991
pop ecx
push eax
mov eax, dword [ebx]
imul eax, eax, 0x514
lea eax, [eax + ebx + 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [ebx]
imul eax, eax, 0x514
push edi
mov dword [eax + ebx + 0x50c], edi
call fcn.100037ba
pop ecx
mov ecx, dword [ebx]
imul ecx, ecx, 0x514
mov dword [ecx + ebx + 0x510], eax
inc dword [ebx]
cmp edi, 9
jl 0x1000412f
mov ebx, dword [ebx]
cmp ebx, dword [ebp + 0x7c]
pop edi
pop esi
jbe 0x100041f6
push 0xfffffffffffffff6
pop eax
jmp 0x100041f8
mov eax, ebx
mov ecx, dword [ebp + 0x6c]
xor ecx, ebp
pop ebx
call fcn.1008e5e8
add ebp, 0x70
leave
ret