joyce8/EMBER2024-capa huggingface dataset:
Function at 0x419a40
Capabilities:
Write file on windows

Disassembly:
mov ecx, dword [esp + 4]
sub esp, 0x1a8
mov eax, 0x425e40
push ebx
push ebp
push esi
push edi
xor ebp, ebp
cmp ecx, dword [eax]
je 0x419a64
add eax, 8
inc ebp
cmp eax, 0x425ed0
jb 0x419a55
cmp ecx, dword [ebp*8 + 0x425e40]
jne 0x419c0b
mov eax, dword [0x429a08]
cmp eax, 1
je 0x419bcd
test eax, eax
jne 0x419a90
cmp dword [0x4236a4], 1
je 0x419bcd
cmp ecx, 0xfc
je 0x419c0b
lea eax, [esp + 0xb4]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jne 0x419acb
mov ecx, 5
mov esi, str._program_name_unknown_
lea edi, [esp + 0xb4]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
lea edi, [esp + 0xb4]
or ecx, 0xffffffff
xor eax, eax
lea ebx, [esp + 0xb4]
repne scasb al, byte es:[edi]
not ecx
cmp ecx, 0x3c
jbe 0x419b14
lea edi, [esp + 0xb4]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 3
mov ebx, ecx
lea ecx, [esp + 0xb8]
sub ecx, 0x3b
push 0x41f7b0
add ebx, ecx
push ebx
call fcn.00414ad0
add esp, 0xc
mov ecx, 6
mov esi, str.Runtime_Error__n_nProgram:
lea edi, [esp + 0x14]
xor eax, eax
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
or ecx, 0xffffffff
mov edi, ebx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x14]
mov ebx, ecx
mov esi, edi
or ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
lea edx, [esp + 0x14]
and ecx, 3
push 0x12010
rep movsb byte es:[edi], byte [esi]
mov edi, 0x41f790
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push str.Microsoft_Visual_C_Runtime_Library
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
lea edx, [esp + 0x1c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebp*8 + 0x425e44]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
lea eax, [esp + 0x1c]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
call fcn.0041bdf0
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a8
ret
mov eax, dword [0x42c0e0]
test eax, eax
je 0x419bde
mov esi, dword [eax + 0x48]
cmp esi, 0xffffffff
jne 0x419be8
push 0xfffffffffffffff4
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
mov esi, eax
mov edx, dword [ebp*8 + 0x425e44]
lea ecx, [esp + 0x10]
push 0
push ecx
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a8
ret
Function at 0x41a070
Capabilities:
Write file on windows

Disassembly:
sub esp, 0x41c
push ebx
mov ebx, dword [esp + 0x42c]
push ebp
xor ebp, ebp
push esi
cmp ebx, ebp
push edi
mov dword [esp + 0x10], ebp
mov dword [esp + 0x20], ebp
jne 0x41a09c
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x41c
ret
mov ecx, dword [esp + 0x430]
mov eax, ecx
sar eax, 5
lea edi, [eax*4 + 0x42c0e0]
mov eax, ecx
and eax, 0x1f
mov dword [esp + 0x24], edi
mov edx, dword [edi]
lea esi, [eax + eax*8]
shl esi, 2
mov dword [esp + 0x14], esi
test byte [esi + edx + 4], 0x20
je 0x41a0d7
push 2
push ebp
push ecx
call fcn.00419f70
add esp, 0xc
mov eax, dword [edi]
add eax, esi
test byte [eax + 4], 0x80
je 0x41a239
mov ebp, dword [esp + 0x434]
mov dword [esp + 0x18], 0
test ebx, ebx
mov edi, ebp
jbe 0x41a181
lea eax, [esp + 0x28]
mov ecx, edi
sub ecx, ebp
cmp ecx, ebx
jae 0x41a132
mov cl, byte [edi]
inc edi
cmp cl, 0xa
jne 0x41a11f
mov esi, dword [esp + 0x20]
mov byte [eax], 0xd
inc esi
inc eax
mov dword [esp + 0x20], esi
mov byte [eax], cl
inc eax
mov edx, eax
lea ecx, [esp + 0x28]
sub edx, ecx
cmp edx, 0x400
jl 0x41a102
mov esi, eax
lea edx, [esp + 0x28]
lea eax, [esp + 0x1c]
sub esi, edx
mov edx, dword [esp + 0x24]
push 0
push eax
lea ecx, [esp + 0x30]
mov eax, dword [edx]
push esi
push ecx
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + eax]
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x41a22a
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
add edx, eax
cmp eax, esi
mov dword [esp + 0x10], edx
jl 0x41a17d
mov eax, edi
sub eax, ebp
cmp eax, ebx
jb 0x41a0fe
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x41a219
mov eax, dword [esp + 0x18]
test eax, eax
je 0x41a1d5
cmp eax, 5
jne 0x41a1be
call fcn.004173e0
mov dword [eax], 9
call fcn.004173f0
mov dword [eax], 5
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x41c
ret
push eax
call fcn.00417360
add esp, 4
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x41c
ret
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
test byte [esi + edx + 4], 0x40
je 0x41a1f5
cmp byte [ebp], 0x1a
jne 0x41a1f5
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x41c
ret
call fcn.004173e0
mov dword [eax], 0x1c
call fcn.004173f0
mov dword [eax], 0
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x41c
ret
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
sub eax, ecx
pop ebx
add esp, 0x41c
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esp + 0x18], eax
jmp 0x41a17d
mov edx, dword [eax]
lea ecx, [esp + 0x1c]
push ebp
mov ebp, dword [esp + 0x438]
push ecx
push ebx
push ebp
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x41a26a
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x18], 0
mov dword [esp + 0x10], eax
jmp 0x41a181
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esp + 0x18], eax
jmp 0x41a181
Function at 0x41c330
Capabilities:
Clear file content

Disassembly:
mov eax, 0x1004
call fcn.004152f0
push ebx
mov ebx, dword [esp + 0x100c]
push ebp
push esi
push edi
xor ebp, ebp
push 1
push ebp
push ebx
call fcn.00419f70
mov edi, eax
add esp, 0xc
cmp edi, 0xffffffff
mov dword [esp + 0x10], edi
je 0x41c470
push 2
push ebp
push ebx
call fcn.00419f70
add esp, 0xc
cmp eax, 0xffffffff
je 0x41c470
mov ecx, dword [esp + 0x101c]
mov esi, ecx
sub esi, eax
test esi, esi
jle 0x41c411
mov ecx, 0x400
xor eax, eax
lea edi, [esp + 0x14]
push 0x8000
rep stosd dword es:[edi], eax
push ebx
call fcn.0041c6f0
add esp, 8
mov edi, eax
cmp esi, 0x1000
mov eax, 0x1000
jge 0x41c3b6
mov eax, esi
push eax
lea eax, [esp + 0x18]
push eax
push ebx
call fcn.0041a070
add esp, 0xc
cmp eax, 0xffffffff
je 0x41c3d2
sub esi, eax
test esi, esi
jle 0x41c3ea
jmp 0x41c3a7
call fcn.004173f0
cmp dword [eax], 5
jne 0x41c3e7
call fcn.004173e0
mov dword [eax], 0xd
or ebp, 0xffffffff
push edi
push ebx
call fcn.0041c6f0
mov edi, dword [esp + 0x18]
add esp, 8
push 0
push edi
push ebx
call fcn.00419f70
add esp, 0xc
mov eax, ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1004
ret
jge 0x41c457
push 0
push ecx
push ebx
call fcn.00419f70
add esp, 0xc
push ebx
call fcn.0041b8c0
add esp, 4
push eax
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
mov ebp, eax
neg ebp
sbb ebp, ebp
neg ebp
dec ebp
cmp ebp, 0xffffffff
jne 0x41c457
call fcn.004173e0
mov dword [eax], 0xd
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
call fcn.004173f0
mov dword [eax], esi
push 0
push edi
push ebx
call fcn.00419f70
add esp, 0xc
mov eax, ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1004
ret
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x1004
ret
Function at 0x41c5b0
Capabilities:
Get geographical location

Disassembly:
mov eax, dword [0x429f58]
push ebx
push ebp
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
push edi
test eax, eax
jne 0x41c5f8
push 0
push 0
push 1
push 0
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x41c5dc
mov eax, 1
jmp 0x41c5f3
push 0
push 0
push 1
push 0
call esi
test eax, eax
je 0x41c6d8
mov eax, 2
mov dword [0x429f58], eax
cmp eax, 2
jne 0x41c618
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
push eax
mov eax, dword [esp + 0x18]
push ecx
push edx
push eax
call esi
pop edi
pop esi
pop ebp
pop ebx
ret
cmp eax, 1
jne 0x41c6ea
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x41c633
mov ecx, dword [0x429a88]
mov dword [esp + 0x24], ecx
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
push 0
push 0
push ebx
push ebp
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
mov edi, eax
test edi, edi
jne 0x41c652
pop edi
pop esi
pop ebp
pop ebx
ret
lea edx, [edi + edi]
push edx
call fcn.00413e50
mov esi, eax
add esp, 4
test esi, esi
jne 0x41c669
pop edi
pop esi
pop ebp
pop ebx
ret
push edi
push esi
push ebx
push ebp
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x41c6cf
mov eax, dword [esp + 0x20]
push 0
test eax, eax
push 0
jne 0x41c6b0
mov eax, dword [esp + 0x2c]
push 0
push 0
push 0xffffffffffffffff
push esi
push 0x220
push eax
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov edi, eax
test edi, edi
je 0x41c6cf
push esi
call fcn.00413db0
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
ret
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
push eax
push ecx
push 0xffffffffffffffff
push esi
push 0x220
push edx
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov edi, eax
test edi, edi
jne 0x41c6df
push esi
call fcn.00413db0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
ret
push esi
call fcn.00413db0
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
ret

Function at 0x41c780
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push 0xffffffffffffffff
push 0x41e971
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebx
push esi
mov esi, ecx
push edi
mov dword [esp + 0xc], esi
mov dword [esi], 0x41fff0
lea edi, [esi + 0x20]
mov dword [esp + 0x18], 2
mov ecx, edi
call fcn.0041c9b0
mov ecx, esi
call fcn.0041c810
xor ebx, ebx
mov ecx, edi
mov dword [esi + 0x30], ebx
mov dword [esi + 0x34], ebx
mov dword [esi + 0x38], ebx
mov dword [esi + 0x3c], ebx
mov dword [esi + 0x40], ebx
mov byte [esp + 0x18], 1
call fcn.0041c9a0
lea ecx, [esi + 0x10]
mov byte [esp + 0x18], bl
call fcn.0041c9a0
lea ecx, [esi + 4]
mov dword [esp + 0x18], 0xffffffff
call fcn.0041ca70
mov ecx, dword [esp + 0x10]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
add esp, 0x10
ret
Function at 0x401110
Capabilities:
Get common file path

Disassembly:
sub esp, 0x104
lea eax, [esp]
push ebx
push ebp
push esi
push edi
push 1
push 0x23
push eax
mov ebx, ecx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
mov edi, str.Novatel_Wireless_
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x10]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
lea edx, [esp + 0x10]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str.actList.nvtl
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
lea eax, [esp + 0x10]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
mov ecx, ebx
call fcn.00401b80
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x104
ret

Function at 0x4011a0
Capabilities:
Get common file path

Disassembly:
sub esp, 0x104
lea eax, [esp]
push ebx
push ebp
push esi
push edi
push 0
push 0x23
push eax
mov ebx, ecx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
mov edi, str.Novatel_Wireless_
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x10]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
lea edx, [esp + 0x10]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str.actList.nvtl
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
lea eax, [esp + 0x10]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
mov ecx, ebx
call fcn.00401d70
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x104
ret
Function at 0x4019a0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x456cf8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebx
push ebp
push esi
push edi
mov edi, ecx
call fcn.004011a0
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString_2
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x10]
push eax
xor ebp, ebp
push 0x46811c
push ecx
mov dword [esp + 0x28], ebp
call sub.MFC42.DLL_CString::Format
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
mov eax, dword [edi + 0xc]
add esp, 0xc
push edx
push ecx
push eax
push str.ActivationTracking:_Looking_through__d_card_entries_for_TECH:_d__ESN:_s
push 1
push 2
call fcn.004048e0
mov eax, dword [edi + 0xc]
add esp, 0x18
cmp eax, ebp
jle 0x401a57
xor ebx, ebx
mov esi, dword [edi + 8]
add esi, ebx
mov edx, dword [esi + 4]
mov eax, dword [esi]
push edx
push eax
push str.ActivationTracking:_Checking_TECH:_d__ESN:_s
push 1
push 2
call fcn.004048e0
mov ecx, dword [esp + 0x38]
mov eax, dword [esi]
add esp, 0x14
cmp eax, ecx
jne 0x401a4c
mov edx, dword [esp + 0x10]
mov eax, dword [esi + 4]
push edx
push eax
call dword [sym.imp.MSVCRT.dll__mbscmp]
add esp, 8
test eax, eax
je 0x401a80
mov eax, dword [edi + 0xc]
inc ebp
add ebx, 0x14
cmp ebp, eax
jl 0x401a0f
lea ecx, [esp + 0x10]
mov dword [esp + 0x1c], 0xffffffff
call sub.MFC42.DLL_CString::CString
or eax, 0xffffffff
mov ecx, dword [esp + 0x14]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x10
ret 0xc
push str.ActivationTracking:_Fount_it..._returning
push 1
push 2
call fcn.004048e0
mov eax, dword [esp + 0x38]
add esp, 0xc
mov ecx, edi
push esi
push eax
call fcn.00401b40
lea ecx, [esp + 0x10]
mov dword [esp + 0x1c], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, ebp
jmp 0x401a6b
Function at 0x402440
Capabilities:
Create thread

Disassembly:
push ecx
push esi
mov esi, ecx
mov eax, dword [esi + 8]
test eax, eax
je 0x402474
lea ecx, [esp + 4]
mov dword [esp + 4], 0
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
test eax, eax
je 0x402474
cmp dword [esp + 4], 0x103
je 0x402474
mov dword [esi + 8], 0
mov eax, dword [esi + 8]
test eax, eax
jne 0x40249e
push 0
push 0
push esi
push 0x4025f0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
cmp eax, 0xffffffff
mov dword [esi + 8], eax
jne 0x40249e
mov dword [esi + 8], 0
push str.CActivationTracking::StartTracking___end_n
push 2
push 2
call fcn.004048e0
add esp, 0xc
pop esi
pop ecx
ret

Function at 0x402680
Capabilities:
Query or enumerate registry value

Disassembly:
push 0xffffffffffffffff
push 0x456e38
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc
push esi
push edi
push str.CActivationTracking::GetServiceTagNumber___begin_n
push 2
push 2
call fcn.004048e0
xor esi, esi
add esp, 0xc
mov dword [esp + 0xc], esi
lea eax, [esp + 8]
mov dword [esp + 0x1c], esi
push eax
push 0x20019
push esi
push str.SOFTWAREDell_Computer_CorporationSysInfo
push reloc.WS2_32.dll_bind
mov dword [esp + 0x1c], esi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x402779
mov esi, dword [esp + 8]
mov edi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
push eax
lea ecx, [esp + 0xc]
push eax
push ecx
push eax
push str.SerialNumber
push esi
mov dword [esp + 0x24], esi
call edi
test eax, eax
jne 0x402726
cmp dword [esp + 8], 1
jne 0x40272d
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
push edx
lea ecx, [esp + 0x14]
push eax
push ecx
push 0
push str.SerialNumber
push esi
mov dword [esp + 0x28], 0
call edi
cmp dword [esp + 8], 1
je 0x402775
mov edi, 0x545
test esi, esi
je 0x402743
push esi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor esi, esi
mov dword [esp + 0xc], esi
push edi
push str.CActivationTracking::GetServiceTagNumber___end:__d_n
push 2
push 2
call fcn.004048e0
add esp, 0x10
test esi, esi
je 0x402760
push esi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [esp + 0x14]
mov eax, edi
pop edi
pop esi
mov dword fs:[0], ecx
add esp, 0x18
ret 8
mov edi, eax
jmp 0x402732
mov edi, eax
jmp 0x402743
Function at 0x402d50
Capabilities:
Create http request
Read data from internet
Receive data

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x456e78
push eax
mov eax, 0x4004
mov dword fs:[0], esp
call fcn.004564f0
push ebx
push esi
push edi
mov ebx, ecx
push str.CActivationTracking::SendInfoToServer___begin_n
push 2
push 2
mov dword [esp + 0x4024], 0
call fcn.004048e0
add esp, 0xc
or esi, 0xffffffff
push 0
push 0
push 0
push 1
push str.Activation_Tracker
call dword [sym.imp.WININET.dll_InternetOpenA]
mov edi, eax
test edi, edi
jne 0x402dcb
lea ecx, [esp + 0x4020]
mov dword [esp + 0x4018], 0xffffffff
call sub.MFC42.DLL_CString::CString
or eax, 0xffffffff
jmp 0x402ee5
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + 0x168]
cmp eax, 4
je 0x402dec
cmp eax, 9
je 0x402dec
cmp eax, 8
je 0x402dec
cmp eax, 7
jne 0x402eb3
mov ecx, dword [esp + 0x4020]
push 0
push connect
push 0
push 0
push ecx
push edi
call dword [sym.imp.WININET.dll_InternetOpenUrlA]
mov edx, dword [esp + 0x4020]
mov ebx, eax
push edx
push str.CActivationTracking::SendInfoToServer___Activation_tracking_URL_:__s_n
push 2
push 2
call fcn.004048e0
add esp, 0x10
test ebx, ebx
jne 0x402e38
push str.CActivationTracking::SendInfoToServer___Error_opening_URL_n
push 1
push 2
call fcn.004048e0
add esp, 0xc
jmp 0x402eac
lea eax, [esp + 0xc]
lea ecx, [esp + 0x10]
push eax
push 0x4000
push ecx
push ebx
mov dword [esp + 0x1c], 0
call dword [sym.imp.WININET.dll_InternetReadFile]
cmp eax, 1
jne 0x402eac
mov ecx, 0x484ca0
call fcn.00428820
test eax, eax
je 0x402e82
lea edx, [esp + 0x10]
push str.Message_received
push edx
call dword [sym.imp.MSVCRT.dll_strstr]
add esp, 8
test eax, eax
je 0x402eac
jmp 0x402e99
lea eax, [esp + 0x10]
push str.Successfully_Added
push eax
call dword [sym.imp.MSVCRT.dll_strstr]
add esp, 8
test eax, eax
je 0x402eac
push str.CActivationTracking::SendInfoToServer___Tracking_information_successfully_sent_n
push 2
push 2
call fcn.004048e0
add esp, 0xc
xor esi, esi
push ebx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
push edi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
push esi
push str.CActivationTracking::SendInfoToServer___end:_returning__d_n
push 2
push 2
call fcn.004048e0
add esp, 0x10
lea ecx, [esp + 0x4020]
mov dword [esp + 0x4018], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, esi
mov ecx, dword [esp + 0x4010]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x4010
ret 4
Function at 0x402f00
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push 0xffffffffffffffff
push 0x456eab
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebp
push esi
push edi
mov edi, ecx
mov eax, dword [esp + 0x20]
mov ebp, dword [edi + 8]
sub esp, 0x14
lea ecx, [esp + 0x38]
mov esi, esp
mov dword [esp + 0x20], esp
push ecx
mov dword [esp + 0x30], 0
lea ecx, [esi + 4]
mov dword [esp + 0x24], esi
mov dword [esi], eax
call sub.MFC42.DLL_CString::CString_4
lea edx, [esp + 0x3c]
lea ecx, [esi + 8]
push edx
mov byte [esp + 0x30], 1
call sub.MFC42.DLL_CString::CString_4
mov eax, dword [esp + 0x40]
push ebp
mov dword [esi + 0xc], eax
mov ecx, dword [esp + 0x48]
mov dword [esi + 0x10], ecx
mov ecx, edi
mov byte [esp + 0x30], 0
call fcn.004033d0
lea ecx, [esp + 0x28]
mov dword [esp + 0x18], 2
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x24]
mov dword [esp + 0x18], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x10]
pop edi
mov eax, ebp
pop esi
mov dword fs:[0], ecx
pop ebp
add esp, 0x10
ret 0x14
Function at 0x403850
Capabilities:
Create thread

Disassembly:
push esi
push edi
push str.CAddressBook::StartReadThread___Begin_n
push 2
mov esi, ecx
push 2
call fcn.004048e0
mov eax, dword [esp + 0x18]
add esp, 0xc
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x18]
cmp eax, 1
jne 0x40387b
push str.Caching_already_done._n
jmp 0x4038e5
mov eax, dword [esi + 4]
xor edi, edi
cmp eax, edi
je 0x4038ad
lea ecx, [esp + 0xc]
mov dword [esp + 0xc], edi
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
cmp dword [esp + 0xc], 0x103
jne 0x4038aa
mov edx, dword [esi + 4]
push 0xffffffffffffffff
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [esi + 4], edi
cmp dword [esi + 4], edi
jne 0x40390c
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x14], edi
push eax
mov dword [esi + 0x18], edi
mov dword [esi + 0x10], edi
call dword [sym.imp.KERNEL32.dll_ResetEvent]
push edi
push edi
push esi
push 0x4040c0
push edi
push edi
call dword [sym.imp.KERNEL32.dll_CreateThread]
cmp eax, 0xffffffff
mov dword [esi + 4], eax
jne 0x4038e0
mov dword [esi + 4], edi
push str.Addressbook_caching_begun._n
push 1
push 2
call fcn.004048e0
add esp, 0xc
push str.CAddressBook::StartReadThread___End_n
push 2
push 2
call fcn.004048e0
add esp, 0xc
mov eax, 1
pop edi
pop esi
ret 4
push str.CAddressBook::StartReadThread___End_n
push 2
push 2
call fcn.004048e0
add esp, 0xc
xor eax, eax
pop edi
pop esi
ret 4