joyce8/EMBER2024-capa huggingface dataset:
Function at 0x447585
Capabilities:
Check for software breakpoints
Decrypt data using tea

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
push ebx
push esi
push edi
mov dword [ebp - 0x2c], fcn.00443776
mov esi, dword [ebp - 0x2c]
mov al, byte [esi]
cmp al, 0xcc
je 0x447607
mov dword [ebp - 0x10], fcn.004431e2
mov esi, dword [ebp - 0x10]
mov al, byte [esi]
cmp al, 0xcc
je 0x447607
mov dword [ebp - 0x18], fcn.00447585
mov esi, dword [ebp - 0x18]
mov al, byte [esi]
cmp al, 0xcc
je 0x447607
mov dword [ebp - 0x24], 0x9e3779b9
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 4]
mov dword [ebp - 0x28], eax
mov dword [ebp - 8], 0xc6ef3720
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
mov dword [ebp - 4], edx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 8]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x30], 0x20
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
sub ecx, 1
mov dword [ebp - 0x30], ecx
test eax, eax
jle 0x44766c
mov edx, dword [ebp - 0x20]
shl edx, 4
add edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 8]
xor edx, eax
mov ecx, dword [ebp - 0x20]
shr ecx, 5
add ecx, dword [ebp - 0x1c]
xor edx, ecx
mov eax, dword [ebp - 0x28]
sub eax, edx
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
shl ecx, 4
add ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x28]
add edx, dword [ebp - 8]
xor ecx, edx
mov eax, dword [ebp - 0x28]
shr eax, 5
add eax, dword [ebp - 0xc]
xor ecx, eax
mov edx, dword [ebp - 0x20]
sub edx, ecx
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 8]
add eax, 0x61c88647
mov dword [ebp - 8], eax
jmp 0x447607
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x20]
mov dword [ecx], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x28]
mov dword [eax + 4], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x447821
Capabilities:
Check for software breakpoints
Encrypt data using tea

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
push ebx
push esi
push edi
mov dword [ebp - 0x2c], fcn.00443776
mov esi, dword [ebp - 0x2c]
mov al, byte [esi]
cmp al, 0xcc
je 0x4478a3
mov dword [ebp - 0x10], fcn.004431e2
mov esi, dword [ebp - 0x10]
mov al, byte [esi]
cmp al, 0xcc
je 0x4478a3
mov dword [ebp - 0x18], fcn.00447767
mov esi, dword [ebp - 0x18]
mov al, byte [esi]
cmp al, 0xcc
je 0x4478a3
mov dword [ebp - 0x24], 0x9e3779b9
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 4]
mov dword [ebp - 0x28], eax
mov dword [ebp - 8], 0
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
mov dword [ebp - 4], edx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 8]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x30], 0x20
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
sub ecx, 1
mov dword [ebp - 0x30], ecx
test eax, eax
jle 0x447909
mov edx, dword [ebp - 8]
sub edx, 0x61c88647
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x28]
shl eax, 4
add eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x28]
add ecx, dword [ebp - 8]
xor eax, ecx
mov edx, dword [ebp - 0x28]
shr edx, 5
add edx, dword [ebp - 0xc]
xor eax, edx
mov ecx, dword [ebp - 0x20]
add ecx, eax
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
shl edx, 4
add edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 8]
xor edx, eax
mov ecx, dword [ebp - 0x20]
shr ecx, 5
add ecx, dword [ebp - 0x1c]
xor edx, ecx
mov eax, dword [ebp - 0x28]
add eax, edx
mov dword [ebp - 0x28], eax
jmp 0x4478a3
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x20]
mov dword [ecx], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x28]
mov dword [eax + 4], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x447921
Capabilities:
Check for software breakpoints
Decrypt data using tea

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
push ebx
push esi
push edi
mov dword [ebp - 0x2c], fcn.00443776
mov esi, dword [ebp - 0x2c]
mov al, byte [esi]
cmp al, 0xcc
je 0x4479a3
mov dword [ebp - 0x10], fcn.004431e2
mov esi, dword [ebp - 0x10]
mov al, byte [esi]
cmp al, 0xcc
je 0x4479a3
mov dword [ebp - 0x18], fcn.00447767
mov esi, dword [ebp - 0x18]
mov al, byte [esi]
cmp al, 0xcc
je 0x4479a3
mov dword [ebp - 0x24], 0x9e3779b9
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 4]
mov dword [ebp - 0x28], eax
mov dword [ebp - 8], 0xc6ef3720
mov dword [ebp - 0x30], 0x20
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
mov dword [ebp - 4], edx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 8]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
sub ecx, 1
mov dword [ebp - 0x30], ecx
test eax, eax
jle 0x447a08
mov edx, dword [ebp - 0x20]
shl edx, 4
add edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 8]
xor edx, eax
mov ecx, dword [ebp - 0x20]
shr ecx, 5
add ecx, dword [ebp - 0x1c]
xor edx, ecx
mov eax, dword [ebp - 0x28]
sub eax, edx
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
shl ecx, 4
add ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x28]
add edx, dword [ebp - 8]
xor ecx, edx
mov eax, dword [ebp - 0x28]
shr eax, 5
add eax, dword [ebp - 0xc]
xor ecx, eax
mov edx, dword [ebp - 0x20]
sub edx, ecx
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 8]
add eax, 0x61c88647
mov dword [ebp - 8], eax
jmp 0x4479a3
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x20]
mov dword [ecx], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x28]
mov dword [eax + 4], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x447c30
Capabilities:
Query service status

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push 0xf003f
push 0x441ba4
push 0
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerA]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jne 0x447c55
xor eax, eax
jmp 0x447ca5
push 0xf01ff
push 0x441bb4
mov eax, dword [ebp - 0x24]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenServiceA]
mov dword [ebp - 0x20], eax
lea ecx, [ebp - 0x1c]
push ecx
mov edx, dword [ebp - 0x20]
push edx
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
test eax, eax
jne 0x447c8c
mov eax, dword [ebp - 0x20]
push eax
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
xor eax, eax
jmp 0x447ca5
cmp dword [ebp - 0x18], 4
jne 0x447ca3
mov ecx, dword [ebp - 0x20]
push ecx
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov eax, 1
jmp 0x447ca5
xor eax, eax
mov esp, ebp
pop ebp
ret
Function at 0x447d29
Capabilities:
Check for peb beingdebugged flag

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov dword [ebp - 4], ecx
mov eax, dword fs:[0x30]
movzx eax, byte [eax + 2]
or al, al
je 0x447d48
mov eax, 1
jmp 0x447d4a
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x447d51
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov dword [ebp - 0xc], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
push eax
push 1
push 0x1fffff
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov dword [ebp - 4], eax
push 0
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov esp, ebp
pop ebp
ret
Function at 0x449ab5
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1a4
mov edx, dword [ebp + 8]
xor ecx, ecx
mov eax, 0x441d00
cmp edx, dword [eax]
je 0x449ad7
add eax, 8
inc ecx
cmp eax, 0x441d90
jl 0x449ac8
push esi
mov esi, ecx
shl esi, 3
cmp edx, dword [esi + 0x441d00]
jne 0x449c05
mov eax, dword [0x44dec0]
cmp eax, 1
je 0x449bdf
test eax, eax
jne 0x449b08
cmp dword [0x441c54], 1
je 0x449bdf
cmp edx, 0xfc
je 0x449c05
lea eax, [ebp - 0x1a4]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jne 0x449b3f
lea eax, [ebp - 0x1a4]
push 0x442afc
push eax
call fcn.004485f0
pop ecx
pop ecx
lea eax, [ebp - 0x1a4]
push edi
push eax
lea edi, [ebp - 0x1a4]
call fcn.00448b50
inc eax
pop ecx
cmp eax, 0x3c
jbe 0x449b82
lea eax, [ebp - 0x1a4]
push eax
call fcn.00448b50
mov edi, eax
lea eax, [ebp - 0x1a4]
sub eax, 0x3b
push 3
add edi, eax
push 0x442af8
push edi
call fcn.0044b3f0
add esp, 0x10
lea eax, [ebp - 0xa0]
push 0x442adc
push eax
call fcn.004485f0
lea eax, [ebp - 0xa0]
push edi
push eax
call fcn.00448600
lea eax, [ebp - 0xa0]
push 0x442ad8
push eax
call fcn.00448600
push dword [esi + 0x441d04]
lea eax, [ebp - 0xa0]
push eax
call fcn.00448600
push 0x12010
lea eax, [ebp - 0xa0]
push 0x442ab0
push eax
call fcn.0044b365
add esp, 0x2c
pop edi
jmp 0x449c05
lea eax, [ebp + 8]
lea esi, [esi + 0x441d04]
push 0
push eax
push dword [esi]
call fcn.00448b50
pop ecx
push eax
push dword [esi]
push 0xfffffffffffffff4
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
pop esi
leave
ret

Function at 0x44c2e0
Capabilities:
Encode data using xor
Encrypt data using tea

Disassembly:
sub esp, 0xc
push ebx
push ebp
push esi
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
push edi
mov edi, dword [esi]
xor edx, edx
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x10], edi
mov edi, dword [esi + 4]
mov dword [esp + 0x24], edi
mov edi, dword [esi + 8]
mov esi, dword [esi + 0xc]
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], esi
mov edi, 0x20
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x10]
mov esi, ecx
sub edx, 0x61c88647
shr esi, 5
add esi, ebx
mov ebx, ecx
shl ebx, 4
add ebx, ebp
mov ebp, dword [esp + 0x18]
xor esi, ebx
lea ebx, [edx + ecx]
xor esi, ebx
mov ebx, dword [esp + 0x14]
add eax, esi
mov esi, eax
shr esi, 5
add esi, ebx
mov ebx, eax
shl ebx, 4
add ebx, ebp
xor esi, ebx
lea ebx, [edx + eax]
xor esi, ebx
add ecx, esi
dec edi
jne 0x44c316
mov edx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [edx], eax
mov dword [edx + 4], ecx
pop ebx
add esp, 0xc
ret 8
Function at 0x44caf0
Capabilities:
Query or enumerate registry key

Disassembly:
sub esp, 0x114
push ebx
mov ebx, dword [esp + 0x11c]
push ebp
mov ebp, dword [sym.imp.ADVAPI32.dll_RegEnumKeyExA]
push esi
push edi
xor edi, edi
mov dword [esp + 0x14], 0x104
mov dword [esp + 0x10], edi
lea eax, [esp + 0x18]
lea ecx, [esp + 0x14]
push eax
push 0
push 0
push 0
lea edx, [esp + 0x30]
push ecx
push edx
push edi
push ebx
call ebp
mov esi, eax
test esi, esi
jne 0x44cb6a
lea eax, [esp + 0x24]
push 0x15
push eax
push 0x4421e4
mov dword [esp + 0x20], 0xc8
call fcn.00448bd0
add esp, 0xc
test eax, eax
jne 0x44cb6a
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x12c]
cmp ecx, eax
je 0x44cb7c
mov eax, ecx
inc eax
mov dword [esp + 0x10], eax
inc edi
test esi, esi
je 0x44cb15
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x114
ret
mov edx, dword [esp + 0x130]
mov ecx, dword [0x4421dc]
mov eax, edx
lea edi, [esp + 0x24]
mov dword [eax], ecx
mov cl, byte [0x4421e0]
mov byte [eax + 4], cl
or ecx, 0xffffffff
xor eax, eax
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
mov eax, 1
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
Function at 0x44d410
Capabilities:
Decompress data using aplib

Disassembly:
pushal
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
cld
mov dl, 0x80
xor ebx, ebx
movsb byte es:[edi], byte [esi]
mov bl, 2
call fcn.0044d493
jae 0x44d41e
xor ecx, ecx
call fcn.0044d493
jae 0x44d44d
xor eax, eax
call fcn.0044d493
jae 0x44d45d
mov bl, 2
inc ecx
mov al, 0x10
call fcn.0044d493
adc al, al
jae 0x44d43f
jne 0x44d489
stosb byte es:[edi], al
jmp 0x44d421
call fcn.0044d49f
sub ecx, ebx
jne 0x44d466
call fcn.0044d49d
jmp 0x44d485
lodsb al, byte [esi]
shr eax, 1
je 0x44d4af
adc ecx, ecx
jmp 0x44d482
xchg ecx, eax
dec eax
shl eax, 8
lodsb al, byte [esi]
call fcn.0044d49d
cmp eax, 0x7d00
jae 0x44d482
cmp ah, 5
jae 0x44d483
cmp eax, 0x7f
ja 0x44d484
inc ecx
inc ecx
xchg ebp, eax
mov eax, ebp
mov bl, 1
push esi
mov esi, edi
sub esi, eax
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x44d421
sub edi, dword [esp + 0x28]
mov dword [esp + 0x1c], edi
popal
ret
Function at 0x44d7a0
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
pushal
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov edi, 0x44240c
sub eax, eax
test esi, esi
je 0x44d880
sub eax, 1
test ecx, ecx
je 0x44d87e
test esi, 3
je 0x44d7de
xor al, byte [esi]
inc esi
mov ebx, 0xff
and ebx, eax
shr eax, 8
xor eax, dword [edi + ebx*4]
dec ecx
jne 0x44d7c3
mov edx, ecx
and edx, 7
shr ecx, 3
je 0x44d865
xor eax, dword [esi]
add esi, 4
mov ebx, 0xff
and ebx, eax
shr eax, 8
xor eax, dword [edi + ebx*4]
mov ebx, 0xff
and ebx, eax
shr eax, 8
xor eax, dword [edi + ebx*4]
mov ebx, 0xff
and ebx, eax
shr eax, 8
xor eax, dword [edi + ebx*4]
mov ebx, 0xff
and ebx, eax
shr eax, 8
xor eax, dword [edi + ebx*4]
xor eax, dword [esi]
add esi, 4
mov ebx, 0xff
and ebx, eax
shr eax, 8
xor eax, dword [edi + ebx*4]
mov ebx, 0xff
and ebx, eax
shr eax, 8
xor eax, dword [edi + ebx*4]
mov ebx, 0xff
and ebx, eax
shr eax, 8
xor eax, dword [edi + ebx*4]
mov ebx, 0xff
and ebx, eax
shr eax, 8
xor eax, dword [edi + ebx*4]
dec ecx
jne 0x44d7ec
mov ecx, edx
test ecx, ecx
je 0x44d87e
xor al, byte [esi]
inc esi
mov ebx, 0xff
and ebx, eax
shr eax, 8
xor eax, dword [edi + ebx*4]
dec ecx
jne 0x44d86b
not eax
mov dword [esp + 0x1c], eax
popal
ret
Function at 0x405930
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x43f68b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 8
push ebp
push esi
mov esi, ecx
push edi
mov dword [esp + 0xc], esi
mov dword [esi], 0x4456a0
mov eax, dword [esi + 0x30]
xor ebp, ebp
cmp eax, ebp
mov dword [esp + 0x1c], 1
je 0x4059c0
mov edx, dword [esi + 0x24]
mov eax, dword [esi + 0x2c]
mov edi, dword [esi + 0x20]
mov ecx, edx
push ebx
sub eax, ecx
mov ecx, dword [esi + 0x28]
mov ebx, edi
sub ecx, ebx
mov ebx, dword [esi + 0x1c]
cmp esi, ebp
je 0x405987
mov ebp, dword [esi + 4]
push 0xcc0020
push edx
push edi
push ebp
push eax
mov eax, dword [ebx + 4]
push ecx
push edx
push edi
push eax
call dword [0x44410c]
mov eax, dword [esi + 0x18]
pop ebx
test eax, eax
jne 0x4059b1
mov ecx, dword [esi + 4]
push eax
push ecx
call sub.MFC42.DLL_CDC::SelectGdiObject
jmp 0x4059c6
mov eax, dword [eax + 4]
mov ecx, dword [esi + 4]
push eax
push ecx
call sub.MFC42.DLL_CDC::SelectGdiObject
jmp 0x4059c6
mov dword [esi + 8], ebp
mov dword [esi + 4], ebp
lea edi, [esi + 0x10]
mov dword [esp + 0x10], edi
mov dword [edi], 0x444ed8
mov ecx, edi
mov byte [esp + 0x1c], 2
call sub.MFC42.DLL_CGdiObject::DeleteObject
mov ecx, esi
mov dword [edi], 0x444eec
mov dword [esp + 0x1c], 0xffffffff
call fcn.0043ab50
mov ecx, dword [esp + 0x14]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
add esp, 0x14
ret

Function at 0x405d20
Capabilities:
Write file on windows

Disassembly:
push ebx
push ebp
push esi
mov esi, ecx
push edi
push 0x4523fc
mov eax, dword [esi + 0x34]
push eax
call dword [sym.imp.MSVCRT.dll_fopen]
mov edi, eax
add esp, 8
test edi, edi
jne 0x405d56
mov eax, dword [esi + 0x34]
push eax
push str.Open_Friend_File__s_for_write_failed_n
call fcn.00416290
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
ret
mov ebp, dword [sym.imp.MSVCRT.dll_fwrite]
push edi
push 1
push 4
push esi
call ebp
add esp, 0x10
cmp eax, 1
je 0x405d8b
push edi
call dword [sym.imp.MSVCRT.dll_fclose]
mov ecx, dword [esi + 0x34]
push ecx
push str.Write_Friend_File__s_Version_Failed_n
call fcn.00416290
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
ret
mov eax, dword [esi + 0x28]
xor ebx, ebx
test eax, eax
jle 0x405db6
mov edx, dword [esi + 0x24]
mov eax, dword [edx + ebx*4]
test eax, eax
je 0x405dae
push edi
push 1
push 0x3c
push eax
call ebp
add esp, 0x10
cmp eax, 1
jne 0x405dca
mov eax, dword [esi + 0x28]
inc ebx
cmp ebx, eax
jl 0x405d94
push edi
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 4
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
ret
push edi
call dword [sym.imp.MSVCRT.dll_fclose]
mov eax, dword [esi + 0x34]
push eax
push str.Write_Friend_File__s_Version_Failed_n
call fcn.00416290
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
ret
Function at 0x406280
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push 0xffffffffffffffff
push 0x43f6fe
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 8
push ebx
push ebp
push esi
mov ebx, ecx
push edi
mov dword [esp + 0x10], ebx
call fcn.0043a976
xor ebp, ebp
lea ecx, [ebx + 0x40]
mov dword [esp + 0x20], ebp
call fcn.004211a0
mov dword [ebx + 0x2a0], 0x4458f8
mov dword [ebx + 0x2a4], ebp
lea ecx, [ebx + 0x2a8]
mov byte [esp + 0x20], 2
call fcn.0043a96a
lea esi, [ebx + 0x2b4]
mov dword [esp + 0x14], esi
mov dword [esi + 4], 0x4458e4
mov dword [esi + 8], ebp
mov dword [esi + 0xc], 0x11
mov dword [esi + 0x10], ebp
mov dword [esi + 0x14], ebp
mov dword [esi + 0x18], ebp
mov dword [esi + 0x1c], 0xa
mov dword [esi + 0x20], 0x4458d0
mov dword [esi + 0x24], ebp
mov dword [esi + 0x30], ebp
mov dword [esi + 0x2c], ebp
mov dword [esi + 0x28], ebp
lea ecx, [esi + 0x34]
mov byte [esp + 0x20], 5
call sub.MFC42.DLL_CString::CString_1
mov dword [esi], ebp
mov eax, dword [esi + 8]
cmp eax, ebp
mov byte [esp + 0x20], 6
je 0x40633a
push eax
call sub.MFC42.DLL_operatordelete
add esp, 4
mov dword [esi + 8], ebp
push 0x4cc
call sub.MFC42.DLL_operatornew
mov edi, eax
mov ecx, 0x133
xor eax, eax
mov dword [esi + 8], edi
rep stosd dword es:[edi], eax
add esp, 4
mov dword [esi + 0xc], 0x133
push str.QB_ADD_FRIEND
mov byte [esp + 0x24], 7
mov dword [ebx], 0x445810
call dword [0x444af8]
push 4
push ebp
push 0xff
push 0xe
push 0xb
lea ecx, [ebx + 0x2a8]
mov dword [ebx + 0x2b0], eax
call sub.MFC42.DLL_CImageList::Create
mov ecx, dword [esp + 0x18]
pop edi
mov dword [ebx + 0x2ec], ebp
pop esi
mov eax, ebx
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x14
ret
Function at 0x40bf10
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push 0xffffffffffffffff
push 0x440088
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x10
push esi
push edi
lea ecx, [esp + 8]
call sub.MFC42.DLL_CString::CString_1
push 0x104
push 0x104
lea ecx, [esp + 0x10]
mov dword [esp + 0x28], 0
call sub.MFC42.DLL_CString::GetBuffer
push eax
push 0
call dword [0x4441d0]
push 0xffffffffffffffff
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::ReleaseBuffer
push 0x5c
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::ReverseFind
push eax
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::Left
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x24], 1
call sub.MFC42.DLL_CString::operator_1
lea ecx, [esp + 0x14]
mov byte [esp + 0x20], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
push str.Config.ini
push ecx
lea ecx, [esp + 0x10]
mov dword [esp + 0x28], 2
call fcn.00402e00
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x28]
push edx
push 0x14
push 0x14
mov ecx, esi
mov byte [esp + 0x2c], 3
call sub.MFC42.DLL_CString::GetBuffer
mov edi, dword [0x4441cc]
push eax
push 0x453ea0
push str.Server
push str.Voice
call edi
push 0xffffffffffffffff
mov ecx, esi
call sub.MFC42.DLL_CString::ReleaseBuffer
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::CString_1
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0xc]
push eax
push 0x14
push 0x14
mov byte [esp + 0x2c], 4
call sub.MFC42.DLL_CString::GetBuffer
push eax
push 0x453ea0
push str.Port
push str.Voice
call edi
push 0xffffffffffffffff
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::ReleaseBuffer
mov ecx, dword [esp + 0xc]
push ecx
call dword [sym.imp.MSVCRT.dll_atoi]
mov edx, dword [esp + 0x30]
add esp, 4
mov word [edx], ax
lea ecx, [esp + 0xc]
mov byte [esp + 0x20], 3
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
mov byte [esp + 0x20], 2
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 8]
mov dword [esp + 0x20], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x18]
pop edi
mov eax, 1
pop esi
mov dword fs:[0], ecx
add esp, 0x1c
ret 8
Function at 0x40c8e0
Capabilities:
Hide graphical window

Disassembly:
push ecx
mov eax, dword [esp + 8]
push ebx
dec eax
push ebp
push esi
cmp eax, 5
push edi
mov esi, ecx
ja case.0x40c8f5.4
jmp dword [eax*4 + 0x40ca6c]
lea ebx, [esi + 0x188]
push 0
mov ecx, ebx
call fcn.004203c0
lea ebp, [esi + 0x294]
push 0
mov ecx, ebp
call fcn.004203c0
lea edi, [esi + 0x7c]
push 1
mov ecx, edi
jmp 0x40c994
lea edi, [esi + 0x7c]
push 0
mov ecx, edi
call fcn.004203c0
lea ebp, [esi + 0x294]
push 0
mov ecx, ebp
call fcn.004203c0
lea ebx, [esi + 0x188]
push 1
mov ecx, ebx
jmp 0x40c994
lea edi, [esi + 0x7c]
push 0
mov ecx, edi
call fcn.004203c0
lea ebx, [esi + 0x188]
push 0
mov ecx, ebx
call fcn.004203c0
lea ebp, [esi + 0x294]
push 1
jmp 0x40c992
lea edi, [esi + 0x7c]
push 0
mov ecx, edi
call fcn.004203c0
lea ebx, [esi + 0x188]
push 0
mov ecx, ebx
call fcn.004203c0
lea ebp, [esi + 0x294]
push 0
mov ecx, ebp
call fcn.004203c0
mov eax, dword [esi + 0x64]
test eax, eax
je 0x40c9e8
mov eax, dword [esp + 0x18]
xor edx, edx
shr eax, 4
div dword [esi + 0x68]
mov eax, dword [esi + 0x64]
mov edx, dword [eax + edx*4]
test edx, edx
je 0x40c9e8
mov ecx, dword [edx + 8]
mov eax, dword [esp + 0x18]
cmp ecx, eax
je 0x40c9c9
mov edx, dword [edx]
test edx, edx
jne 0x40c9b6
jmp 0x40c9e8
test edx, edx
je 0x40c9e8
mov edx, dword [edx + 0xc]
push 5
push edx
mov dword [esp + 0x18], edx
call dword [0x444ba0]
mov edx, dword [esp + 0x10]
push edx
call dword [0x444ab0]
mov eax, dword [esi + 0x5c]
mov ecx, dword [esp + 0x18]
cmp eax, ecx
je 0x40ca11
lea ecx, [esp + 0x10]
push ecx
push eax
lea ecx, [esi + 0x60]
call fcn.0040d980
test eax, eax
je 0x40ca11
mov eax, dword [eax + 0xc]
push 0
push eax
call dword [0x444ba0]
mov edx, dword [esp + 0x18]
mov dword [esi + 0x5c], edx
mov eax, dword [esi + 0x20]
push eax
call dword [0x444a90]
push eax
call sub.MFC42.DLL_CWnd::FromHandle
mov ecx, dword [esp + 0x18]
mov edx, dword [eax + 0x20]
push 0
push ecx
push 0x1f59
push edx
call dword [0x444b0c]
push 0xf
push 0xf
mov ecx, edi
call fcn.00420050
push 0xf
push 0x4e
mov ecx, ebx
call fcn.00420050
push 0xf
push 0x8d
mov ecx, ebp
call fcn.00420050
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret 4