joyce8/EMBER2024-capa huggingface dataset:
Function at 0x5945a0
Capabilities:
Receive data
Receive data on socket

Disassembly:
push ebx
push esi
mov esi, dword [esp + 0xc]
mov eax, dword [esi + 0x18]
xor ebx, ebx
push edi
mov edi, ecx
cmp eax, ebx
jbe 0x5945d8
cmp dword [esi + 0x20], ebx
jne 0x5945d8
push eax
mov ecx, esi
call fcn.00596560
test al, al
jne 0x5945d8
push str.Err_in_RTMPConn_17_n
mov ecx, edi
call fcn.0054c540
pop edi
pop esi
lea eax, [ebx + 8]
pop ebx
ret 4
mov eax, dword [esi + 0x18]
sub eax, dword [esi + 0x1c]
push ebp
mov ebp, dword [edi + 0x346c]
cmp ebp, ebx
jne 0x5945ef
mov ebp, dword [edi + 0x3468]
cmp eax, ebp
jge 0x5945f5
mov ebp, eax
mov dword [edi + 0x346c], ebx
test ebp, ebp
je 0x594659
mov eax, dword [edi + 0xb0]
cmp dword [eax + 0x24], 5
jne 0x59461c
mov ecx, dword [esi + 0x20]
add ecx, dword [esi + 0x1c]
push ebp
push ecx
mov ecx, edi
call fcn.005905c0
jmp 0x594632
mov edx, dword [esi + 0x20]
add edx, dword [esi + 0x1c]
mov eax, dword [edi + 0x31d8]
push 0
push ebp
push edx
push eax
call sub.WS2_32.dll_recv
mov ebx, eax
push str.recv_pheader
push ebx
mov ecx, edi
call fcn.0054cd80
mov ecx, eax
test ecx, ecx
je 0x594659
sub eax, 0x2733
pop ebp
neg eax
pop edi
sbb eax, eax
pop esi
and eax, ecx
pop ebx
ret 4
add dword [esi + 0x1c], ebx
cmp ebx, ebp
je 0x594671
sub ebp, ebx
mov dword [edi + 0x346c], ebp
pop ebp
pop edi
pop esi
xor eax, eax
pop ebx
ret 4
movzx eax, byte [esi + 6]
lea ecx, [eax + eax*4]
push esi
lea ecx, [edi + ecx*8 + 0x3498]
call fcn.0058e7b0
xor ebx, ebx
mov ecx, edi
mov dword [edi + 0x8c], 0x15
mov dword [edi + 0x346c], ebx
call fcn.0054c710
mov edx, dword [esi + 0x1c]
cmp edx, dword [esi + 0x18]
jne 0x59470a
mov eax, dword [esi + 8]
mov dword [esi + 0x14], eax
cmp byte [esi + 0x10], bl
jne 0x5946c1
movzx ecx, byte [esi + 6]
mov edx, dword [edi + ecx*4 + 0x4898]
add edx, eax
mov dword [esi + 0x14], edx
movzx eax, byte [esi + 6]
mov ecx, dword [esi + 0x14]
mov dword [edi + eax*4 + 0x4898], ecx
movzx eax, byte [esi + 6]
lea edx, [eax + eax*4]
mov dword [edi + edx*8 + 0x34b8], ebx
movzx eax, byte [esi + 6]
lea eax, [eax + eax*4]
mov dword [edi + eax*8 + 0x34b4], ebx
movzx eax, byte [esi + 6]
add eax, 0x151
lea ecx, [eax + eax*4]
mov byte [edi + ecx*8], 0
push esi
mov ecx, edi
call fcn.00594390
pop ebp
pop edi
pop esi
pop ebx
ret 4
mov ecx, esi
mov dword [esi + 0x20], ebx
call fcn.00596640
pop ebp
pop edi
pop esi
xor eax, eax
pop ebx
ret 4
Function at 0x594720
Capabilities:
Receive data
Receive data on socket

Disassembly:
push esi
mov esi, ecx
mov eax, dword [esi + 0x49bc]
push edi
test eax, eax
jle 0x5947ad
mov ecx, dword [esi + 0xb0]
cmp dword [ecx + 0x24], 5
mov ecx, dword [esi + 0x3214]
jne 0x594754
sub eax, ecx
lea edx, [ecx + esi + 0x49c0]
push eax
push edx
mov ecx, esi
call fcn.005905c0
jmp 0x59476d
push 0
sub eax, ecx
push eax
lea eax, [ecx + esi + 0x49c0]
mov ecx, dword [esi + 0x31d8]
push eax
push ecx
call sub.WS2_32.dll_recv
mov edi, eax
push str.recv_pheader
push edi
mov ecx, esi
call fcn.0054cd80
mov ecx, eax
test ecx, ecx
je 0x594792
sub eax, 0x2733
neg eax
sbb eax, eax
pop edi
and eax, ecx
pop esi
ret 4
add dword [esi + 0x3214], edi
mov eax, dword [esi + 0x3214]
cmp eax, dword [esi + 0x49bc]
je 0x5947ad
pop edi
xor eax, eax
pop esi
ret 4
push ebx
mov ecx, esi
call fcn.0054c710
mov edi, dword [esp + 0x10]
xor bl, bl
cmp dword [esi + 0x49bc], 3
jl 0x59488a
lea edx, [esi + 0x49c0]
push edx
call fcn.0058e630
add esp, 4
mov dword [edi + 8], eax
cmp dword [esi + 0x49bc], 6
jl 0x594815
lea eax, [esi + 0x49c3]
push eax
call fcn.0058e630
add esp, 4
mov ecx, edi
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], 0
call fcn.00596600
cmp dword [esi + 0x49bc], 6
jle 0x594815
mov cl, byte [esi + 0x49c6]
mov byte [edi + 5], cl
cmp dword [esi + 0x49bc], 0xb
jne 0x594830
lea edx, [esi + 0x49c7]
push edx
call fcn.00540d70
add esp, 4
mov dword [edi + 0xc], eax
cmp dword [edi + 8], 0xffffff
jne 0x59488a
mov eax, dword [esi + 0xb0]
cmp dword [eax + 0x24], 5
jne 0x594855
push 4
lea ecx, [esp + 0x14]
push ecx
mov ecx, esi
call fcn.005905c0
jmp 0x59486a
mov eax, dword [esi + 0x31d8]
push 0
push 4
lea edx, [esp + 0x18]
push edx
push eax
call sub.WS2_32.dll_recv
cmp eax, 4
je 0x594878
pop ebx
pop edi
or eax, 0xffffffff
pop esi
ret 4
lea ecx, [esp + 0x10]
push ecx
call fcn.0058e660
add esp, 4
mov dword [edi + 0x14], eax
mov bl, 1
movzx eax, byte [edi + 5]
add eax, 0xfffffff8
xor cl, cl
cmp eax, 0xe
ja case.0x59489f.10
movzx edx, byte [eax + 0x594920]
jmp dword [edx*4 + 0x594918]
mov cl, 1
test bl, bl
jne 0x5948b2
mov eax, dword [edi + 8]
mov dword [edi + 0x14], eax
cmp byte [edi + 0x10], 0
jne 0x5948c6
movzx edx, byte [edi + 6]
mov eax, dword [esi + edx*4 + 0x4898]
add dword [edi + 0x14], eax
test cl, cl
mov ecx, esi
je 0x5948ed
mov dword [esi + 0x8c], 0x18
call fcn.0058e030
test eax, eax
jne 0x59490e
push edi
mov ecx, esi
call fcn.00594a60
pop ebx
pop edi
pop esi
ret 4
mov dword [esi + 0x8c], 0x17
call fcn.0058e030
test eax, eax
jne 0x59490e
push edi
mov ecx, esi
call fcn.005945a0
pop ebx
pop edi
pop esi
ret 4
pop ebx
pop edi
xor eax, eax
pop esi
ret 4
Function at 0x596ff0
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x63bce0
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
mov eax, dword [0x70a308]
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 esi, ecx
mov dword [ebp - 0x28], esi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 4], 0
mov eax, dword [ebp + 8]
push eax
push str._dkf
lea ecx, [ebp - 0x24]
push ecx
call fcn.005fb4cb
add esp, 0xc
push 0x10
push edi
push 0
push 0
lea edx, [ebp - 0x24]
push edx
mov eax, dword [esi + 0x104]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov dword [ebp - 4], 0xffffffff
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.005f85e7
mov esp, ebp
pop ebp
ret 8

Function at 0x5970a0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x63bd10
mov eax, dword fs:[0]
push eax
sub esp, 0x20
mov eax, dword [0x70a308]
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 esi, ecx
mov dword [ebp - 0x28], esi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 4], 0
mov eax, dword [ebp + 8]
push eax
push str._dkf
lea ecx, [ebp - 0x24]
push ecx
call fcn.005fb4cb
add esp, 0xc
mov dword [ebp - 0x2c], 0x10
lea edx, [ebp - 0x2c]
push edx
push edi
push 0
push 0
lea eax, [ebp - 0x24]
push eax
mov ecx, dword [esi + 0x104]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x597138
mov eax, 1
jmp 0x59713a
xor eax, eax
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.005f85e7
mov esp, ebp
pop ebp
ret 8
Function at 0x597db0
Capabilities:
Delete registry value
Set registry value

Disassembly:
push ecx
push esi
mov esi, ecx
mov eax, dword [esi + 0x23c]
test eax, eax
je 0x597e2b
cmp dword [esi + 0x174], 0
push edi
je 0x597e0e
mov ecx, dword [esi + 0x1a0]
test ecx, ecx
je 0x597e0e
mov edi, dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push 4
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0xc]
push ecx
push 4
push 0
push str.bUseSpeedLimiter
push eax
call edi
mov eax, dword [esi + 0x23c]
push 8
lea edx, [esi + 0x168]
push edx
push 0
push 0
push str.psnSpeedLimit
push eax
call edi
pop edi
pop esi
pop ecx
ret
mov edi, dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
push str.bUseSpeedLimiter
push eax
call edi
mov ecx, dword [esi + 0x23c]
push str.psnSpeedLimit
push ecx
call edi
pop edi
pop esi
pop ecx
ret

Function at 0x597e30
Capabilities:
Query or enumerate registry value

Disassembly:
sub esp, 0x10
push esi
mov esi, ecx
mov eax, dword [esi + 0x23c]
test eax, eax
je 0x597ec8
push edi
mov edi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea ecx, [esp + 8]
push ecx
lea edx, [esp + 0x10]
push edx
push 0
push 0
push str.bUseSpeedLimiter
push eax
mov dword [esp + 0x20], 4
call edi
test eax, eax
jne 0x597ec7
mov eax, dword [esp + 0xc]
lea ecx, [esp + 8]
push ecx
lea edx, [esp + 0x14]
push edx
push 0
push 0
mov dword [esi + 0x1a0], eax
mov eax, dword [esi + 0x23c]
push str.psnSpeedLimit
push eax
mov dword [esi + 0x174], 1
mov dword [esp + 0x20], 8
call edi
test eax, eax
jne 0x597ec7
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esi + 0x168], ecx
mov dword [esi + 0x16c], edx
mov dword [esi + 0x170], 1
pop edi
pop esi
add esp, 0x10
ret

Function at 0x597ed0
Capabilities:
Query or enumerate registry value

Disassembly:
sub esp, 0x10
push esi
mov esi, ecx
mov eax, dword [esi + 0x23c]
test eax, eax
je 0x597f46
push edi
mov edi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea ecx, [esp + 8]
push ecx
lea edx, [esp + 0x10]
push edx
push 0
push 0
push str.nSkFr1
push eax
mov dword [esp + 0x20], 4
call edi
test eax, eax
jne 0x597f45
mov eax, dword [esp + 0xc]
lea ecx, [esp + 8]
push ecx
lea edx, [esp + 0x14]
push edx
push 0
push 0
mov dword [esi + 0x190], eax
mov eax, dword [esi + 0x23c]
push str.dLstDrSk1
push eax
mov dword [esp + 0x20], 8
call edi
test eax, eax
jne 0x597f45
fld qword [esp + 0x10]
fstp qword [esi + 0x198]
pop edi
pop esi
add esp, 0x10
ret
Function at 0x5981f0
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x63bdc0
mov eax, dword fs:[0]
push eax
sub esp, 0x24
push ebx
push esi
push edi
mov eax, dword [0x70a308]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, ecx
mov dword [ebp - 0x18], esi
cmp dword [esi + 0x23c], 0
je 0x598319
mov dword [ebp - 4], 0
wait
mov eax, dword [esi + 0x1c0]
mov ecx, dword [esi + 0x1c4]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], ecx
push 8
lea eax, [ebp - 0x20]
push eax
push 0
push 0
push 0x6706dc
mov ecx, dword [esi + 0x23c]
push ecx
mov edi, dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
call edi
mov eax, dword [esi + 0x1c8]
mov dword [ebp - 0x14], eax
cmp eax, 0x64
jle 0x59828b
push 4
lea edx, [ebp - 0x14]
push edx
push 4
push 0
push str.Speed
mov eax, dword [esi + 0x23c]
push eax
call edi
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0x24]
cmp ecx, 4
je 0x5982a4
cmp ecx, 5
je 0x5982a4
cmp dword [eax + 0x310], 0
je 0x5982c5
fld qword [esi + 0x188]
fstp qword [ebp - 0x28]
push 8
lea ecx, [ebp - 0x28]
push ecx
push 0
push 0
push str.dwnlDuration
mov edx, dword [esi + 0x23c]
push edx
call edi
cmp dword [ebp + 8], 0
je 0x598311
mov eax, dword [esi + 0x190]
test eax, eax
jle 0x598311
mov dword [ebp + 8], eax
push 4
lea eax, [ebp + 8]
push eax
push 4
push 0
push str.nSkFr1
mov ecx, dword [esi + 0x23c]
push ecx
call edi
fld qword [esi + 0x198]
fstp qword [ebp - 0x30]
push 8
lea edx, [ebp - 0x30]
push edx
push 0
push 0
push str.dLstDrSk1
mov eax, dword [esi + 0x23c]
push eax
call edi
wait
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x598350
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x63bde0
mov eax, dword fs:[0]
push eax
sub esp, 8
push ebx
push esi
push edi
mov eax, dword [0x70a308]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, ecx
mov dword [ebp - 4], 0
wait
mov ecx, dword [esi + 0xc]
fldz
fcomp qword [ecx + 0x390]
fnstsw ax
test ah, 1
jne 0x5983aa
wait
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ecx + 0x310], 0
jne 0x5983cc
mov edi, dword [esi + 0x1b0]
mov ecx, esi
call fcn.00597fe0
mov dword [esi + 0x1a8], eax
mov dword [esi + 0x1b0], edi
mov eax, dword [esi + 0x10]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
cmp dword [eax], 0
je 0x5983eb
push 0
push 0x146d
push 0x111
mov eax, dword [eax]
push eax
call edi
mov eax, dword [esi + 0x14]
cmp dword [eax], 0
je 0x598409
mov ecx, dword [esi + 0x238]
push ecx
push 0x146d
push 0x111
mov edx, dword [eax]
push edx
call edi
mov eax, dword [esi + 0x18]
cmp dword [eax], 0
je 0x598422
push 0
push 0x146d
push 0x111
mov eax, dword [eax]
push eax
call edi
mov eax, dword [esi + 0x23c]
test eax, eax
je 0x598477
push 8
mov ecx, dword [esi + 0xc]
add ecx, 0x390
push ecx
push 0
push 0
push str.Duration
push eax
mov edi, dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
call edi
mov eax, dword [esi + 0xc]
cmp dword [eax + 0x310], 0
je 0x598477
mov edx, dword [eax + 0x310]
mov dword [ebp - 0x14], edx
push 4
lea eax, [ebp - 0x14]
push eax
push 4
push 0
push str.nAggrV
mov ecx, dword [esi + 0x23c]
push ecx
call edi
wait
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x5984a0
Capabilities:
Set registry value

Disassembly:
push esi
mov esi, ecx
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0xf0]
or ecx, dword [eax + 0xf4]
je 0x598532
mov eax, dword [esi + 0x10]
cmp dword [eax], 0
push edi
mov edi, dword [sym.imp.USER32.dll_PostMessageA]
je 0x5984d4
mov edx, dword [eax]
push 0
push 0x14a5
push 0x111
push edx
call edi
mov eax, dword [esi + 0x14]
cmp dword [eax], 0
je 0x5984f2
mov ecx, dword [esi + 0x238]
mov edx, dword [eax]
push ecx
push 0x14a5
push 0x111
push edx
call edi
mov eax, dword [esi + 0x18]
cmp dword [eax], 0
je 0x59850b
mov eax, dword [eax]
push 0
push 0x14a5
push 0x111
push eax
call edi
mov eax, dword [esi + 0x23c]
pop edi
test eax, eax
je 0x598532
mov ecx, dword [esi + 0xc]
push 8
add ecx, 0xf0
push ecx
push 0
push 0
push str.nExpectedSize
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
pop esi
ret
Function at 0x598540
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x63be00
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebx
push esi
push edi
mov eax, dword [0x70a308]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, ecx
mov dword [ebp - 4], 0
wait
mov eax, dword [esi + 0x23c]
test eax, eax
jne 0x598592
wait
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0x14], 8
lea ecx, [ebp - 0x14]
push ecx
lea edx, [ebp - 0x1c]
push edx
push 0
push 0
push str.Duration
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x59857f
mov eax, dword [esi + 0xc]
fld qword [ebp - 0x1c]
fstp qword [eax + 0x390]
mov ecx, dword [esi + 0xc]
cmp dword [ecx + 0x310], 0
jne 0x5985e6
mov edi, dword [esi + 0x1b0]
mov ecx, esi
call fcn.00597fe0
mov dword [esi + 0x1a8], eax
mov dword [esi + 0x1b0], edi
mov eax, dword [esi + 0x10]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
cmp dword [eax], 0
je 0x598605
push 0
push 0x146d
push 0x111
mov edx, dword [eax]
push edx
call edi
mov eax, dword [esi + 0x14]
cmp dword [eax], 0
je 0x598623
mov ecx, dword [esi + 0x238]
push ecx
push 0x146d
push 0x111
mov edx, dword [eax]
push edx
call edi
mov esi, dword [esi + 0x18]
cmp dword [esi], 0
je 0x59863c
push 0
push 0x146d
push 0x111
mov eax, dword [esi]
push eax
call edi
wait
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x598670
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x63be20
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebx
push esi
push edi
mov eax, dword [0x70a308]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, ecx
mov dword [ebp - 0x1c], esi
xor eax, eax
mov dword [esi + 0x1cc], eax
mov dword [ebp - 4], eax
mov ebx, 4
mov dword [ebp - 0x14], ebx
lea ecx, [ebp - 0x14]
push ecx
lea edx, [ebp - 0x18]
push edx
push eax
push eax
push str.NewConnType
mov eax, dword [0x70f604]
push eax
mov edi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
call edi
test eax, eax
jne 0x5986df
mov ecx, dword [ebp - 0x18]
mov dword [esi + 0x1cc], ecx
jmp 0x59872e
mov dword [ebp - 0x14], ebx
lea edx, [ebp - 0x14]
push edx
lea eax, [ebp - 0x18]
push eax
push 0
push 0
push str.ConnectionSpeed
mov ecx, dword [0x70f604]
push ecx
call edi
test eax, eax
jne 0x59872e
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x59872e
cmp eax, 0x1f400
ja 0x59871a
mov dword [esi + 0x1cc], 1
jmp 0x59872e
mov edx, 0x7d000
cmp edx, eax
sbb eax, eax
neg eax
add eax, 2
mov dword [esi + 0x1cc], eax
mov eax, dword [esi + 0xc]
mov ecx, dword [eax]
push ecx
mov edx, dword [eax + 0x24]
push edx
mov ecx, 0x70f76c
call fcn.004ead80
push eax
mov ecx, esi
call fcn.00597f50
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x5987b0
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x81c
mov eax, dword [0x70a308]
xor eax, esp
mov dword [esp + 0x818], eax
mov edx, dword [esp + 0x828]
mov eax, dword [esp + 0x82c]
push esi
mov esi, dword [esp + 0x828]
push edi
mov edi, dword [esp + 0x828]
push 0
lea ecx, [esp + 0x14]
push ecx
push edx
push esi
mov dword [esp + 0x20], eax
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
je 0x598893
push 0x801
lea eax, [esp + 0x20]
push 0
push eax
call fcn.005f8cb0
add esp, 0xc
push 0
lea ecx, [esp + 0x10]
push ecx
push 0x800
lea edx, [esp + 0x28]
push edx
push esi
mov dword [esp + 0x20], 0
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x598893
mov esi, dword [esp + 0xc]
test esi, esi
je 0x598893
lea eax, [esp + 0xb]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x28]
push eax
push esi
mov ecx, edi
mov byte [esp + 0x1f], 0
mov dword [esp + 0x28], 0
call fcn.0054c170
test al, al
je 0x598884
pop edi
mov al, 1
pop esi
mov ecx, dword [esp + 0x818]
xor ecx, esp
call fcn.005f85e7
add esp, 0x81c
ret
cmp byte [esp + 0xb], 0
je 0x598893
cmp esi, 0x104
ja 0x59886b
mov ecx, dword [esp + 0x820]
pop edi
pop esi
xor ecx, esp
xor al, al
call fcn.005f85e7
add esp, 0x81c
ret
Function at 0x598de0
Capabilities:
Initialize winsock library

Disassembly:
push 0xffffffffffffffff
push 0x63bec0
mov eax, dword fs:[0]
push eax
sub esp, 0x218
mov eax, dword [0x70a308]
xor eax, esp
mov dword [esp + 0x214], eax
push ebx
push esi
push edi
mov eax, dword [0x70a308]
xor eax, esp
push eax
lea eax, [esp + 0x228]
mov dword fs:[0], eax
mov esi, ecx
lea ecx, [esi + 0x28]
mov dword [esp + 0x10], esi
mov dword [esi], vtable.Session.0
call fcn.00540eb0
xor edi, edi
mov dword [esp + 0x230], edi
lea ecx, [esi + 0x130]
call fcn.004024e0
mov ebx, 1
mov byte [esp + 0x230], bl
lea ecx, [esi + 0x184]
call fcn.004024e0
mov byte [esp + 0x230], 2
fldz
mov dword [esi + 0x1a8], ebx
mov dword [esi + 0x1a4], 0x20
mov dword [esi + 0x1a0], edi
mov dword [esi + 0x170], edi
mov eax, dword [0x70f890]
mov dword [esi + 0x168], eax
mov ecx, dword [0x70f894]
fst qword [esi + 0x188]
lea edx, [esp + 0x14]
fstp qword [esi + 0x198]
mov dword [esi + 0x148], ebx
push edx
or ebx, 0xffffffff
push 0x202
mov dword [esi + 0x16c], ecx
mov dword [esi + 0x174], edi
mov dword [esi + 0x178], edi
mov dword [esi + 0x1b8], edi
mov dword [esi + 0x1bc], edi
mov dword [esi + 0x1c8], edi
mov dword [esi + 0x1c0], edi
mov dword [esi + 0x1c4], edi
mov dword [esi + 0x190], edi
mov dword [esi + 0x24], edi
mov dword [esi + 0x1c], edi
mov dword [esi + 0x234], edi
mov dword [esi + 0x23c], edi
mov dword [esi + 0x134], edi
mov dword [esi + 0x214], edi
mov dword [esi + 0x218], edi
mov dword [esi + 0x21c], edi
mov dword [esi + 0x1f0], edi
mov dword [esi + 0x1f4], edi
mov dword [esi + 0x220], edi
mov dword [esi + 0x228], edi
mov dword [esi + 0x22c], edi
mov dword [esi + 0x230], edi
mov dword [esi + 0x1d0], edi
mov dword [esi + 0x200], edi
mov dword [esi + 0x204], edi
mov dword [esi + 8], edi
mov dword [esi + 0x138], edi
mov dword [esi + 0x13c], edi
mov dword [esi + 0x140], edi
mov dword [esi + 0x144], edi
mov dword [esi + 0x150], edi
mov dword [esi + 0x154], edi
mov dword [esi + 0x158], edi
mov dword [esi + 0x15c], ebx
mov dword [esi + 0x17c], edi
mov dword [esi + 0x180], edi
mov dword [esi + 0x160], edi
call sub.WS2_32.dll_WSAStartup
test eax, eax
je 0x598fbb
push 2
push 2
lea eax, [esp + 0x1ac]
push str.Cannot_find_Winsock_v_d._d_or_later__n
push eax
call fcn.005fb4cb
add esp, 0x10
lea ecx, [esp + 0x1a4]
push ecx
mov ecx, esi
call fcn.005988b0
mov dword [esp + 0x230], ebx
mov eax, esi
mov ecx, dword [esp + 0x228]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x214]
xor ecx, esp
call fcn.005f85e7
add esp, 0x224
ret
Function at 0x59a800
Capabilities:
Query or enumerate registry value

Disassembly:
sub esp, 8
mov edx, dword [0x70f604]
lea eax, [esp]
push eax
lea ecx, [esp + 8]
push ecx
push 0
push 0
push str.bSetServerTimeToFile
push edx
mov dword [esp + 0x18], 4
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
neg eax
sbb eax, eax
not eax
and eax, dword [esp + 4]
add esp, 8
ret

Function at 0x59aa00
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x63c140
mov eax, dword fs:[0]
push eax
sub esp, 8
push ebx
push esi
push edi
mov eax, dword [0x70a308]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, ecx
mov dword [ebp - 0x14], esi
mov dword [ebp - 4], 0
lea edi, [esi + 0x20]
mov eax, dword [ebp + 8]
push eax
mov ecx, edi
call fcn.005aea90
test eax, eax
je 0x59aa5b
push str.Not_enough_memory_during_call_to_SetDescription____n
lea ecx, [esi + 0x4f4]
call fcn.005547b0
jmp 0x59aab2
mov eax, dword [esi + 0x4c0]
test eax, eax
je 0x59aab2
cmp dword [esi + 0x480], 0
jne 0x59aa7a
push eax
mov ecx, edi
call fcn.005b24a0
test al, al
je 0x59aab9
mov edx, dword [esi + 0x60]
mov eax, edx
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x59aa82
sub eax, edi
cmp byte [esi + 0x33e], cl
mov ecx, str.WDescription
jne 0x59aa9d
mov ecx, 0x6604c0
inc eax
push eax
push edx
push 1
push 0
push ecx
mov ecx, dword [esi + 0x480]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4

Function at 0x59ab90
Capabilities:
Set registry value

Disassembly:
push ecx
mov eax, dword [esp + 8]
push esi
mov esi, ecx
mov dword [esi + 0x314], eax
mov eax, dword [esi + 0x4c0]
test eax, eax
je 0x59ac03
cmp dword [esi + 0x480], 0
jne 0x59abbe
push eax
lea ecx, [esi + 0x20]
call fcn.005b24a0
test al, al
je 0x59ac03
mov edx, dword [esi + 0x480]
push edi
mov edi, dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push 4
lea ecx, [esp + 0x14]
push ecx
push 4
push 0
push str.categoryID
push edx
call edi
movzx eax, byte [esi + 0x347]
mov edx, dword [esi + 0x480]
push 4
lea ecx, [esp + 0xc]
push ecx
push 4
push 0
push str.CISBU
push edx
mov dword [esp + 0x20], eax
call edi
pop edi
pop esi
pop ecx
ret 4