joyce8/EMBER2024-capa huggingface dataset:
Function at 0x676580
Capabilities:
Hash data with md5

Disassembly:
sub esp, 0x68
mov ecx, dword [esp + 0x6c]
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x70]
push eax
push ecx
lea edx, [esp + 0x18]
push edx
mov dword [esp + 0x1c], 0x67452301
mov dword [esp + 0x20], 0xefcdab89
mov dword [esp + 0x24], 0x98badcfe
mov dword [esp + 0x28], 0x10325476
call fcn.00676410
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x10]
push ecx
call fcn.006764d0
mov edx, dword [esp + 0x88]
push edx
lea eax, [esp + 0x18]
push eax
call fcn.00675b00
add esp, 0x84
ret

Function at 0x676640
Capabilities:
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x110
mov eax, dword [ebx + 0xc]
test eax, eax
push esi
mov esi, dword [ebp + 8]
push edi
je 0x67665b
mov dword [eax + 0x20], esi
mov dword [ebx + 0xc], esi
mov dword [esi + 0x20], 0
mov eax, dword [ebx + 8]
test eax, eax
jne 0x67666f
mov dword [ebx + 8], esi
inc dword [ebx + 0x10]
call sub.KERNEL32.dll_GetTickCount
mov dword [esi + 0x1c], eax
cmp dword [ebx], 1
jne 0x6766e5
mov dword [esp + 0x1b], eax
test byte [esi + 0x14], 4
mov byte [esp + 0x18], 0xfe
mov byte [esp + 0x19], 0xfd
mov byte [esp + 0x1a], 0
je 0x6766d0
mov ecx, dword [ebx + 0x3c]
test ecx, ecx
mov al, byte [ebx + 0x3c]
mov byte [esp + 0x1f], al
jle 0x6766be
mov edx, ecx
shr ecx, 2
lea esi, [ebx + 0x28]
lea edi, [esp + 0x20]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebp + 8]
mov eax, dword [ebx + 0x3c]
mov byte [esp + eax + 0x20], 0
mov byte [esp + eax + 0x21], 0
lea ecx, [eax + 0xa]
jmp 0x676731
mov al, 0xff
mov byte [esp + 0x1f], al
mov byte [esp + 0x20], al
mov byte [esp + 0x21], al
mov ecx, 0xa
jmp 0x676731
test byte [esi + 0x14], 4
je 0x676718
mov eax, dword [str._basicinfo_]
mov ecx, dword [0x6ef3f0]
mov edx, dword [0x6ef3f4]
mov dword [esp + 0x18], eax
mov al, byte [0x6ef3f8]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
mov byte [esp + 0x24], al
mov ecx, 0xd
jmp 0x676731
mov ecx, dword [str._status_]
mov edx, dword [0x6ec8a4]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
mov ecx, 8
mov eax, dword [esi]
cmp eax, dword [ebx + 0x24]
mov edx, 2
mov word [esp + 8], dx
jne 0x676759
test byte [esi + 0x15], dl
je 0x676759
mov eax, dword [esi + 8]
mov dx, word [esi + 0xc]
mov dword [esp + 0xc], eax
mov word [esp + 0xa], dx
jmp 0x676766
mov dword [esp + 0xc], eax
mov ax, word [esi + 4]
mov word [esp + 0xa], ax
push 0x10
lea edx, [esp + 0xc]
push edx
push 0
push ecx
mov ecx, dword [ebx + 0x20]
lea eax, [esp + 0x28]
push eax
push ecx
call sub.WSOCK32.dll_sendto
pop edi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x676790
Capabilities:
Create udp socket

Disassembly:
cmp dword [0x95ff48], 1
jne 0x6767e9
push esi
push edi
call fcn.006745e0
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
push 0x11
mov dword [esi], eax
mov eax, dword [esp + 0x20]
xor edi, edi
push 2
push 2
mov dword [esi + 4], ecx
mov dword [esi + 0x3c], edi
mov dword [esi + 0x40], edx
mov dword [esi + 0x44], eax
mov dword [esi + 0x24], edi
call sub.WSOCK32.dll_socket
mov dword [esi + 0x20], eax
mov dword [esi + 0x18], edi
mov dword [esi + 0x14], edi
mov dword [esi + 0x1c], edi
mov dword [esi + 0xc], edi
mov dword [esi + 8], edi
mov dword [esi + 0x10], edi
pop edi
pop esi
ret

Function at 0x6768c0
Capabilities:
Set socket configuration

Disassembly:
mov eax, dword [esp + 8]
push esi
push eax
call sub.WSOCK32.dll_inet_addr
mov ecx, dword [esp + 0x10]
push ecx
mov esi, eax
call sub.WSOCK32.dll_htons
push eax
push esi
push 0
call fcn.00679090
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
mov esi, eax
mov eax, dword [esp + 0x20]
push edx
push eax
push esi
push ecx
mov byte [esi + 0x15], 1
call fcn.00676830
add esp, 0x1c
mov eax, esi
pop esi
ret

Function at 0x676aa0
Capabilities:
Receive data
Receive data on socket

Disassembly:
sub esp, 0x814
mov eax, dword [esi + 0x20]
push eax
mov dword [esp + 4], 0x10
call fcn.006748d0
add esp, 4
test eax, eax
je 0x676b65
push ebx
push edi
lea ecx, [esp + 8]
push ecx
mov ecx, dword [esi + 0x20]
lea edx, [esp + 0x10]
push edx
push 0
push 0x7ff
lea eax, [esp + 0x2c]
push eax
push ecx
call sub.WSOCK32.dll_recvfrom
cmp eax, 0xffffffff
je 0x676b63
mov edi, dword [esi + 8]
test edi, edi
mov byte [esp + eax + 0x1c], 0
je 0x676b4f
mov bx, word [esp + 0xe]
mov edx, dword [esp + 0x10]
lea ecx, [ecx]
mov ecx, dword [edi]
cmp ecx, edx
jne 0x676b0c
cmp word [edi + 4], bx
je 0x676b2b
cmp ecx, dword [esi + 0x24]
jne 0x676b22
test byte [edi + 0x15], 2
je 0x676b22
cmp dword [edi + 8], edx
jne 0x676b22
cmp word [edi + 0xc], bx
je 0x676b2b
mov edi, dword [edi + 0x20]
test edi, edi
jne 0x676b00
jmp 0x676b4f
cmp dword [esi], 1
jne 0x676b42
push eax
push esi
lea eax, [esp + 0x24]
mov ebx, edi
call fcn.00676910
add esp, 8
jmp 0x676b4f
push esi
lea ebx, [esp + 0x20]
call fcn.00676a30
add esp, 4
mov edx, dword [esi + 0x20]
push edx
call fcn.006748d0
add esp, 4
test eax, eax
jne 0x676ac4
pop edi
pop ebx
add esp, 0x814
ret
Function at 0x677030
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Create tcp socket
Resolve dns
Set socket configuration

Disassembly:
sub esp, 0x90
push esi
lea esi, [edi + 0xc]
push 0x14
mov eax, esi
call fcn.00676ff0
mov ecx, eax
mov eax, dword [0x799460]
add esp, 4
test eax, eax
je 0x677063
lea edx, [esp + 0x14]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x677057
jmp 0x677077
push ecx
push esi
lea eax, [esp + 0x1c]
push str._s.ms_d.codeusa.net
push eax
call fcn.006864ed
add esp, 0x10
push 0x70ee
mov word [esp + 8], 2
call sub.WSOCK32.dll_htons
lea ecx, [esp + 0x14]
push ecx
mov word [esp + 0xa], ax
call sub.WSOCK32.dll_inet_addr
or esi, 0xffffffff
cmp eax, esi
mov dword [esp + 8], eax
jne 0x6770c8
lea edx, [esp + 0x14]
push edx
call sub.WSOCK32.dll_gethostbyname
test eax, eax
jne 0x6770bd
mov eax, 2
pop esi
add esp, 0x90
ret
mov eax, dword [eax + 0xc]
mov ecx, dword [eax]
mov edx, dword [ecx]
mov dword [esp + 8], edx
cmp dword [edi + 0x4a8], esi
jne 0x6770f2
push 6
push 1
push 2
call sub.WSOCK32.dll_socket
cmp eax, esi
mov dword [edi + 0x4a8], eax
jne 0x6770f2
mov eax, 1
pop esi
add esp, 0x90
ret
mov ecx, dword [edi + 0x4a8]
push 0x10
lea eax, [esp + 8]
push eax
push ecx
call sub.WSOCK32.dll_connect
test eax, eax
je 0x677128
mov edx, dword [edi + 0x4a8]
push edx
call sub.WSOCK32.dll_closesocket
mov dword [edi + 0x4a8], esi
mov eax, 3
pop esi
add esp, 0x90
ret
xor eax, eax
pop esi
add esp, 0x90
ret

Function at 0x677fe0
Capabilities:
Receive data
Receive data on socket

Disassembly:
sub esp, 0x5f4
mov eax, dword [esi + 0x4a8]
push edi
push eax
mov dword [esp + 0xc], 0x10
call fcn.006748d0
add esp, 4
test eax, eax
je 0x6780bb
jmp 0x678010
lea ecx, [esp + 8]
push ecx
mov ecx, dword [esi + 0x4a8]
lea edx, [esp + 0x10]
push edx
push 0
push 0x5db
lea eax, [esp + 0x2c]
push eax
push ecx
call sub.WSOCK32.dll_recvfrom
cmp eax, 0xffffffff
je 0x6780a4
mov edx, dword [esp + 0xe]
mov eax, dword [esp + 0x10]
push edx
push eax
push esi
call fcn.00676ce0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x6780a4
mov ecx, dword [esp + 0xe]
mov edx, dword [esp + 0x10]
push ecx
push edx
push esi
call fcn.00679090
mov edi, eax
push edi
call fcn.00679160
add esp, 0x10
test eax, eax
jne 0x67810d
push 0x11
push edi
call fcn.00679100
mov ecx, dword [esi + 4]
lea eax, [esp + 0xc]
push eax
push ecx
mov dword [esp + 0x14], edi
call fcn.00675400
mov edx, dword [esi + 0x48c]
mov eax, dword [esp + 0x14]
push edx
push eax
push 0
push esi
call dword [esi + 0x480]
add esp, 0x20
mov ecx, dword [esi + 0x4a8]
push ecx
call fcn.006748d0
add esp, 4
test eax, eax
jne 0x678010
call sub.KERNEL32.dll_GetTickCount
sub eax, dword [esi + 0x4ac]
cmp eax, 0x7d0
jbe 0x678103
mov edx, dword [esi + 0x4a8]
push edx
call sub.WSOCK32.dll_closesocket
mov eax, dword [esi + 0x48c]
push eax
mov dword [esi + 0x4a8], 0xffffffff
mov dword [esi], 1
mov ecx, dword [0x79946c]
push ecx
push 3
push esi
call dword [esi + 0x480]
add esp, 0x10
xor eax, eax
pop edi
add esp, 0x5f4
ret
mov eax, 5
pop edi
add esp, 0x5f4
ret
Function at 0x678120
Capabilities:
Initialize winsock library

Disassembly:
push ebx
push esi
mov esi, dword [esp + 0xc]
xor ebx, ebx
cmp esi, ebx
jne 0x678143
push 0x11c
push str..GameSpy_serverbrowsing_sb_serverlist.c
push str.slist___NULL
call fcn.006870ba
add esp, 0xc
cmp dword [0x95ff48], 1
jne 0x678245
push ebx
push 0x64
push 4
mov dword [esi], 1
call fcn.00674dc0
push esi
mov dword [esi + 4], eax
mov dword [esi + 0x5c8], ebx
call fcn.00679180
mov eax, dword [esp + 0x20]
lea edx, [esi + 0xc]
add esp, 0x10
sub edx, eax
jmp 0x678180
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
cmp cl, bl
jne 0x678180
mov eax, dword [esp + 0x14]
lea edx, [esi + 0x2c]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
cmp cl, bl
jne 0x678193
mov eax, dword [esp + 0x18]
lea edx, [esi + 0x4c]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
cmp cl, bl
jne 0x6781a6
mov eax, dword [esp + 0x20]
cmp eax, ebx
mov dword [esi + 0x480], eax
mov dword [esi + 0x484], ebx
jne 0x6781db
push 0x12b
push str..GameSpy_serverbrowsing_sb_serverlist.c
push str.callback___NULL
call fcn.006870ba
add esp, 0xc
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov dword [esi + 0x48c], eax
mov ecx, 0x70a557
or eax, 0xffffffff
mov dword [esi + 0x490], ecx
mov dword [esi + 0x498], ebx
mov dword [esi + 0x4a8], eax
mov dword [esi + 0x74], ebx
mov dword [esi + 0x78], ebx
mov dword [esi + 8], ebx
mov dword [esi + 0x47c], eax
mov dword [esi + 0x478], ebx
mov dword [esi + 0x49c], ebx
mov dword [esi + 0x4b0], edx
mov dword [esi + 0x4a4], ecx
mov dword [esi + 0x5c4], ebx
call sub.KERNEL32.dll_GetTickCount
push eax
call fcn.00686545
add esp, 4
pop esi
pop ebx
jmp fcn.006745e0
pop esi
pop ebx
ret
Function at 0x6782f0
Capabilities:
Send data
Send data on socket

Disassembly:
sub esp, 0x308
push ebp
push edi
mov edi, dword [esp + 0x314]
cmp dword [edi], 1
je 0x67831b
push 0x207
push str..GameSpy_serverbrowsing_sb_serverlist.c
push str.slist__state__sl_disconnected
call fcn.006870ba
add esp, 0xc
mov eax, dword [esp + 0x318]
test eax, eax
jne 0x678331
mov dword [esp + 0x318], 0x70a557
mov ebp, dword [esp + 0x31c]
test ebp, ebp
jne 0x678341
mov ebp, 0x70a557
mov eax, dword [esp + 0x318]
lea edx, [eax + 1]
jmp 0x678350
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x678350
sub eax, edx
cmp eax, 0x100
ja 0x678375
mov eax, ebp
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x678365
sub eax, edx
cmp eax, 0x100
jbe 0x678383
pop edi
mov eax, 6
pop ebp
add esp, 0x308
ret
call fcn.00677030
test eax, eax
jne 0x6784e6
push ebx
push esi
mov esi, dword [esp + 0x328]
push edi
mov dword [edi + 0x5bc], esi
call fcn.00677180
mov eax, dword [edi + 0x4b0]
mov dword [esp + 0x21], eax
lea ecx, [esp + 0x25]
add esp, 4
lea eax, [edi + 0xc]
lea ebx, [esp + 0x10]
lea edx, [esp + 0x14]
mov byte [esp + 0x1a], 0
mov byte [esp + 0x1b], 1
mov byte [esp + 0x1c], 3
mov dword [esp + 0x10], 9
mov dword [esp + 0x14], ecx
call fcn.00677140
lea eax, [edi + 0x2c]
call fcn.00677140
mov eax, dword [esp + 0x14]
lea edx, [edi + 0x6c]
mov ebx, dword [edx]
mov ecx, eax
mov dword [ecx], ebx
mov edx, dword [edx + 4]
mov dword [ecx + 4], edx
mov edx, dword [esp + 0x10]
add eax, 8
add edx, 8
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
lea ebx, [esp + 0x10]
mov eax, ebp
lea edx, [esp + 0x14]
call fcn.00677140
mov eax, dword [esp + 0x320]
call fcn.00677140
push esi
call sub.WSOCK32.dll_htonl
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
mov dword [ecx], eax
mov al, byte [edi + 0x5bc]
add esi, 4
add ecx, 4
test al, 8
je 0x678457
mov eax, dword [edi + 0x49c]
mov dword [ecx], eax
add esi, 4
add ecx, 4
mov al, byte [edi + 0x5bc]
test al, al
jns 0x67846d
mov edx, dword [esp + 0x32c]
mov dword [ecx], edx
add esi, 4
push esi
call sub.WSOCK32.dll_htons
mov ecx, dword [edi + 0x4a8]
xor ebx, ebx
push ebx
mov word [esp + 0x1c], ax
push esi
lea eax, [esp + 0x20]
push eax
push ecx
call sub.WSOCK32.dll_send
test eax, eax
jg 0x6784aa
push edi
call fcn.00677300
add esp, 4
pop esi
pop ebx
pop edi
mov eax, 3
pop ebp
add esp, 0x308
ret
cmp dword [edi + 0x74], ebx
mov dword [edi], 3
mov dword [edi + 0x5c0], ebx
jne 0x6784e2
push 0x1000
call fcn.0068661b
add esp, 4
cmp eax, ebx
mov dword [edi + 0x74], eax
jne 0x6784df
pop esi
pop ebx
pop edi
mov eax, 5
pop ebp
add esp, 0x308
ret
mov dword [edi + 0x78], ebx
pop esi
xor eax, eax
pop ebx
pop edi
pop ebp
add esp, 0x308
ret
Function at 0x678700
Capabilities:
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
push ebx
push esi
mov esi, eax
mov eax, dword [esi + 0x78]
xor ebx, ebx
cmp eax, 3
push edi
jl 0x67862b
mov eax, dword [esi + 0x74]
movzx eax, word [eax]
push eax
call sub.WSOCK32.dll_ntohs
cmp ax, 0x1000
ja 0x678621
movzx edi, ax
cmp dword [esi + 0x78], edi
jl 0x678631
mov ecx, dword [esi + 0x74]
movsx eax, byte [ecx + 2]
dec eax
cmp eax, 5
ja case.default.0x678536
jmp dword [eax*4 + 0x678638]
lea edx, [edi - 3]
lea eax, [ecx + 3]
push edx
mov ecx, esi
call fcn.00677c30
jmp 0x6785d1
lea eax, [edi - 3]
push eax
add ecx, 3
push ecx
call fcn.00677f10
add esp, 8
jmp 0x6785d4
push 0
push edi
push ecx
mov ecx, dword [esi + 0x4a8]
push ecx
call sub.WSOCK32.dll_send
test eax, eax
jg case.default.0x678536
pop edi
pop esi
mov eax, 3
pop ebx
ret
lea edx, [edi - 3]
cmp edx, 6
jge 0x67858e
mov ebx, 4
jmp case.default.0x678536
mov eax, dword [ecx + 3]
movzx ecx, word [ecx + 7]
push ecx
push eax
push esi
call fcn.00676ce0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x6785a9
xor ebx, ebx
jmp case.default.0x678536
push eax
push esi
call fcn.00676d50
add esp, 8
xor ebx, ebx
jmp case.default.0x678536
lea eax, [edi - 3]
add ecx, 3
push esi
call fcn.00677e30
jmp 0x6785d1
lea eax, [edi - 3]
add ecx, 3
push esi
call fcn.00677d00
add esp, 4
mov ebx, eax
sub dword [esi + 0x78], edi
jns 0x6785f2
push 0x5be
push str..GameSpy_serverbrowsing_sb_serverlist.c
push str.slist__inbufferlen___0
call fcn.006870ba
add esp, 0xc
mov ecx, dword [esi + 0x78]
test ecx, ecx
je 0x67860d
mov eax, dword [esi + 0x74]
test eax, eax
je 0x67860d
push ecx
add edi, eax
push edi
push eax
call fcn.00686bd0
add esp, 0xc
test ebx, ebx
jne 0x678626
cmp dword [esi + 0x78], 3
jge 0x678503
pop edi
pop esi
mov eax, ebx
pop ebx
ret
mov ebx, 4
call fcn.00678250
pop edi
pop esi
mov eax, ebx
pop ebx
ret
pop edi
pop esi
xor eax, eax
pop ebx
ret
push esi
mov esi, eax
mov eax, dword [esi + 0x4a8]
push eax
call fcn.006748d0
add esp, 4
test eax, eax
jne 0x678668
pop esi
ret
mov edx, dword [esi + 0x74]
mov eax, dword [esi + 0x4a8]
push edi
mov edi, dword [esi + 0x78]
push 0
mov ecx, 0x1000
sub ecx, edi
push ecx
add edx, edi
push edx
push eax
call sub.WSOCK32.dll_recv
cmp eax, 0xffffffff
je 0x6786ec
test eax, eax
je 0x6786ec
mov edx, dword [esi + 0x78]
mov ecx, dword [esi]
add edx, eax
cmp ecx, 2
mov dword [esi + 0x78], edx
mov eax, edx
je 0x6786ac
mov ecx, dword [esi + 0x5c0]
test ecx, ecx
jle 0x6786c4
mov ecx, dword [esi + 0x74]
sub eax, edi
push eax
add ecx, edi
push ecx
lea edx, [esi + 0x4b4]
push edx
call fcn.00683af0
add esp, 0xc
cmp dword [esi], 3
jne 0x6786d2
call fcn.006778a0
test eax, eax
jne 0x6786f6
cmp dword [esi], 2
jne 0x6786e7
mov eax, dword [esi + 0x78]
test eax, eax
jle 0x6786e7
pop edi
mov eax, esi
pop esi
jmp 0x6784f0
pop edi
xor eax, eax
pop esi
ret
call fcn.00678250
mov eax, 3
pop edi
pop esi
ret
push esi
mov esi, dword [esp + 8]
push esi
call fcn.00676df0
mov eax, dword [esi]
add esp, 4
test eax, eax
je 0x67872a
cmp eax, 1
jle 0x678726
cmp eax, 3
jg 0x678726
mov eax, esi
pop esi
jmp 0x678650
xor eax, eax
pop esi
ret
call fcn.00677fe0
pop esi
ret
Function at 0x678740
Capabilities:
Send data
Send data on socket

Disassembly:
push ebx
push ebp
push esi
push edi
mov esi, eax
mov ebp, 1
xor ebx, ebx
lea ecx, [ecx]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esi + 0x4a8]
push ebx
push eax
push ecx
push edx
dec ebp
call sub.WSOCK32.dll_send
cmp eax, ebx
jg 0x6787df
cmp ebp, ebx
jl 0x6787d5
mov eax, dword [esi + 0x74]
cmp eax, ebx
je 0x678780
push eax
call fcn.0068662d
add esp, 4
mov eax, dword [esi + 0x4a8]
or edi, 0xffffffff
cmp eax, edi
mov dword [esi + 0x74], ebx
mov dword [esi + 0x78], ebx
je 0x678799
push eax
call sub.WSOCK32.dll_closesocket
mov dword [esi + 0x4a8], edi
mov dword [esi], 1
call fcn.006772b0
mov dword [esi + 0x47c], edi
call fcn.00677210
push ebx
push 2
push ebx
push ebx
push esi
call fcn.006782f0
mov edi, eax
add esp, 0x14
cmp edi, ebx
je 0x678750
call fcn.00678250
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
ret
pop edi
pop esi
pop ebp
mov eax, 3
pop ebx
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
ret

Function at 0x678860
Capabilities:
Send data
Send data on socket

Disassembly:
sub esp, 0x10
push esi
mov esi, dword [esp + 0x18]
cmp dword [esi], 1
jne 0x67888f
push 0
push 2
push 0
push 0
push esi
call fcn.006782f0
mov eax, dword [esi]
add esp, 0x14
cmp eax, 1
jne 0x67888f
mov eax, 3
pop esi
add esp, 0x10
ret
push edi
mov edi, dword [esp + 0x2c]
lea eax, [edi + 9]
push eax
call sub.WSOCK32.dll_htons
mov ecx, dword [esp + 0x20]
mov dx, word [esp + 0x24]
mov word [esp + 8], ax
lea eax, [esp + 8]
push 9
push eax
mov eax, esi
mov byte [esp + 0x12], 2
mov dword [esp + 0x13], ecx
mov word [esp + 0x17], dx
call fcn.00678740
add esp, 8
test eax, eax
jne 0x6788ee
mov ecx, dword [esp + 0x28]
mov edx, dword [esi + 0x4a8]
push eax
push edi
push ecx
push edx
call sub.WSOCK32.dll_send
xor ecx, ecx
test eax, eax
setge cl
dec ecx
and ecx, 3
mov eax, ecx
pop edi
pop esi
add esp, 0x10
ret
Function at 0x67a000
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Get local ipv4 addresses
Get socket information
Resolve dns

Disassembly:
sub esp, 0x14
push edi
mov edi, dword [esi]
mov eax, dword [edi + 0x10c]
test eax, eax
jne 0x67a0df
push 0
push 1
push 2
call sub.WSOCK32.dll_socket
cmp eax, 0xffffffff
mov dword [edi + 0x220], eax
jne 0x67a034
push str.There_was_an_error_creating_a_socket.
jmp 0x67a1bd
push 1
push eax
call fcn.00674650
add esp, 8
test eax, eax
jne 0x67a04d
push str.There_was_an_error_making_a_socket_non_blocking.
jmp 0x67a1bd
xor eax, eax
mov dword [esp + 8], eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], eax
push 0x10
lea ecx, [esp + 0xc]
mov dword [esp + 0x18], eax
mov word [esp + 0xc], 2
mov edx, dword [edi + 0x220]
push ecx
push edx
call sub.WSOCK32.dll_bind
cmp eax, 0xffffffff
jne 0x67a088
push str.There_was_an_error_binding_a_socket.
jmp 0x67a1bd
mov eax, dword [edi + 0x220]
push 5
push eax
call sub.WSOCK32.dll_listen
cmp eax, 0xffffffff
jne 0x67a0a5
push str.There_was_an_error_listening_on_a_socket.
jmp 0x67a1bd
lea ecx, [esp + 4]
push ecx
lea edx, [esp + 0xc]
mov dword [esp + 8], 0x10
mov eax, dword [edi + 0x220]
push edx
push eax
call sub.WSOCK32.dll_getsockname
cmp eax, 0xffffffff
jne 0x67a0d2
push str.There_was_an_error_getting_a_sockets_addres.
jmp 0x67a1bd
movzx ecx, word [esp + 0xa]
mov dword [edi + 0x224], ecx
jmp 0x67a0f3
mov dword [edi + 0x220], 0xffffffff
mov dword [edi + 0x224], 0
push 0
push 1
push 2
call sub.WSOCK32.dll_socket
cmp eax, 0xffffffff
mov dword [edi + 0x1f0], eax
je 0x67a02a
push 1
push eax
call fcn.00674650
add esp, 8
test eax, eax
je 0x67a043
push str.gpcm.codeusa.net
call sub.WSOCK32.dll_gethostbyname
test eax, eax
jne 0x67a138
push str.Could_not_resolve_connection_mananger_host_name.
jmp 0x67a1bd
xor edx, edx
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], edx
mov word [esp + 8], 2
mov eax, dword [eax + 0xc]
mov ecx, dword [eax]
mov eax, dword [ecx]
test eax, eax
mov dword [esp + 0xc], eax
jne 0x67a177
push 0x91
push str..GameSpygpgpiConnect.c
push str.address.sin_addr.s_addr___0
call fcn.006870ba
add esp, 0xc
push 0x74cc
call sub.WSOCK32.dll_htons
push 0x10
lea edx, [esp + 0xc]
mov word [esp + 0xe], ax
mov eax, dword [edi + 0x1f0]
push edx
push eax
call sub.WSOCK32.dll_connect
cmp eax, 0xffffffff
jne 0x67a1dc
call sub.WSOCK32.dll_WSAGetLastError
cmp eax, 0x2733
je 0x67a1dc
cmp eax, 0x2734
je 0x67a1dc
cmp eax, 0x274c
je 0x67a1dc
push str.There_was_an_error_connecting_a_socket.
push 5
push esi
call fcn.00679c80
push 1
push 3
push esi
call fcn.006821d0
add esp, 0x18
mov eax, 3
pop edi
add esp, 0x14
ret
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0x14], 1
mov dword [edi + 0x1f4], 1
xor eax, eax
pop edi
add esp, 0x14
ret
Function at 0x67a510
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0xf4
push ebx
push ebp
mov ebp, dword [edi]
lea eax, [ebp + 0x195]
push esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x67a524
sub eax, edx
push 0x79707367
mov ebx, eax
call fcn.00674a10
add esp, 4
xor esi, esi
test ebx, ebx
jbe 0x67a563
push 0xff
push 0
call fcn.00674a30
mov cl, byte [esi + ebp + 0x195]
xor cl, al
add esp, 8
mov byte [esp + esi + 0x10], cl
inc esi
cmp esi, ebx
jb 0x67a542
push 1
push ebx
lea edx, [esp + 0x7c]
push edx
lea eax, [esp + 0x1c]
push eax
mov byte [esp + esi + 0x20], 0
call fcn.00674af0
push str._newuser_
lea esi, [ebp + 0x210]
push esi
push edi
call fcn.0067ed30
push str.email_
push esi
push edi
call fcn.0067ed30
lea ecx, [ebp + 0x162]
push ecx
push esi
push edi
call fcn.0067ed30
push str._nick_
push esi
push edi
call fcn.0067ed30
add esp, 0x40
lea edx, [ebp + 0x110]
push edx
push esi
push edi
call fcn.0067ed30
push str.passwordenc_
push esi
push edi
call fcn.0067ed30
lea eax, [esp + 0x8c]
push eax
push esi
push edi
call fcn.0067ed30
push str.productid_
push esi
push edi
call fcn.0067ed30
mov ecx, dword [ebp + 0x488]
push ecx
push esi
push edi
call fcn.0067ed60
push str.gamename_
push esi
push edi
call fcn.0067ed30
add esp, 0x48
push 0x95ff60
push esi
push edi
call fcn.0067ed30
push str._namespaceid_
push esi
push edi
call fcn.0067ed30
mov edx, dword [ebp + 0x48c]
push edx
push esi
push edi
call fcn.0067ed60
push str.uniquenick_
push esi
push edi
call fcn.0067ed30
add ebp, 0x12f
push ebp
push esi
push edi
call fcn.0067ed30
mov eax, dword [esp + 0x140]
add esp, 0x3c
add eax, 0x2c2
mov dword [esp + 0xc], eax
cmp byte [eax], 0
je 0x67a6d9
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x67a662
sub eax, edx
push 0x79707367
mov ebx, eax
call fcn.00674a10
add esp, 4
xor ebp, ebp
test ebx, ebx
jbe 0x67a6a1
push 0xff
push 0
call fcn.00674a30
mov ecx, dword [esp + 0x14]
mov dl, byte [ecx + ebp]
xor dl, al
add esp, 8
mov byte [esp + ebp + 0x30], dl
inc ebp
cmp ebp, ebx
jb 0x67a680
push 1
push ebx
lea eax, [esp + 0xac]
push eax
lea ecx, [esp + 0x3c]
push ecx
mov byte [esp + ebp + 0x40], 0
call fcn.00674af0
push str.cdkeyenc_
push esi
push edi
call fcn.0067ed30
lea edx, [esp + 0xc0]
push edx
push esi
push edi
call fcn.0067ed30
add esp, 0x28
push str.id1
push esi
push edi
call fcn.0067ed30
push str._final_
push esi
push edi
call fcn.0067ed30
add esp, 0x18
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xf4
ret