joyce8/EMBER2024-capa huggingface dataset:
Function at 0x5a9810
Capabilities:
Send data
Send data on socket
Send http request
Send http request with host header

Disassembly:
push 0xffffffffffffffff
push 0x661490
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push ebx
push esi
push edi
mov eax, dword [0x755898]
xor eax, esp
push eax
lea eax, [esp + 0x1c]
mov dword fs:[0], eax
mov esi, ecx
lea ecx, [esp + 0x14]
call fcn.00402500
xor ebx, ebx
mov dword [esp + 0x24], ebx
mov eax, dword [esi + 0xc0]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x18]
push str.POST__open_1_HTTP_1.1_r_nContent_Type:_application_x_fcs_r_nUser_Agent:_Shockwave_Flash_r_nHost:__s_r_nContent_Length:_1_r_nConnection:_Keep_Alive_r_nCache_Control:_no_cache_r_n_r_n
push edx
call fcn.00402f70
add esp, 0xc
push str.Sending_RTMPT_open_n
mov ecx, esi
call fcn.00560320
mov eax, dword [esp + 0x14]
push eax
mov ecx, esi
call fcn.00560320
mov edx, dword [esp + 0x14]
mov eax, edx
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x5a89b3
mov ecx, dword [esi + 0x31f0]
push str.RTMPT_Connect
push ebx
sub eax, edi
push eax
push edx
push ecx
call sub.WS2_32.dll_send
push eax
mov ecx, esi
call fcn.00560c30
mov edi, eax
cmp edi, ebx
jne 0x5a8a78
mov eax, dword [esi + 0x31f0]
push str.RTMPT_Connect
push ebx
push 1
lea edx, [esp + 0x1f]
push edx
push eax
mov byte [esp + 0x27], bl
call sub.WS2_32.dll_send
push eax
mov ecx, esi
call fcn.00560c30
lea ecx, [esp + 0x18]
mov edi, eax
mov dword [esi + 0x3474], ebx
mov byte [esi + 0x347c], 1
mov dword [esi + 0x3454], ebx
mov dword [esi + 0x39c], ebx
mov dword [esi + 0x9c], 0x19
mov dword [esi + 0x346c], ebx
mov dword [esi + 0x3470], ebx
mov dword [esi + 0x3478], ebx
call fcn.00402500
mov byte [esp + 0x24], 1
push edi
lea ecx, [esp + 0x1c]
push 0x6b06f0
push ecx
call fcn.00402f70
mov edx, dword [esp + 0x24]
add esp, 0xc
push edx
mov ecx, esi
call fcn.00560320
mov byte [esp + 0x24], bl
lea ecx, [esp + 0x18]
call fcn.00402570
mov dword [esp + 0x24], 0xffffffff
lea ecx, [esp + 0x14]
call fcn.00402570
mov eax, edi
mov ecx, dword [esp + 0x1c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
add esp, 0x18
ret
push esi
mov esi, ecx
cmp byte [esi + 0x347c], 0
je 0x5a9837
call fcn.005a7500
test eax, eax
jne 0x5a9877
push str.Ident_data:_n
mov ecx, esi
mov dword [esi + 0x3470], eax
call fcn.00560320
cmp dword [esi + 0x3454], 0
push ebp
push edi
je 0x5a98a6
push 0x200
lea ebp, [esi + 0x3254]
push ebp
mov ecx, esi
call fcn.005a9620
mov edi, eax
push str.recv_identres
push edi
mov ecx, esi
call fcn.00560c30
mov ecx, eax
test ecx, ecx
je 0x5a9879
sub eax, 0x2733
neg eax
sbb eax, eax
pop edi
and eax, ecx
pop ebp
pop esi
ret
push edi
push ebp
mov ecx, esi
call fcn.00560400
add dword [esi + 0x3470], edi
mov eax, dword [esi + 0x3470]
cmp dword [esi + 0x3454], eax
mov dword [esi + 0x398], 0
jle 0x5a98a6
pop edi
pop ebp
xor eax, eax
pop esi
ret
push 1
push 0x67c060
mov ecx, esi
call fcn.00560400
push str.Ident_res_OK_n
mov ecx, esi
call fcn.00560320
pop edi
pop ebp
mov ecx, esi
pop esi
jmp 0x5a8940
Function at 0x5aa150
Capabilities:
Send data
Send data on socket

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 0x347c], 0
je 0x5aa16b
call fcn.005a7500
test eax, eax
jne 0x5aa1a9
mov dword [esi + 0x3470], eax
cmp dword [esi + 0x3454], 0
push edi
je 0x5aa1ce
push 0x200
lea eax, [esi + 0x3254]
push eax
mov ecx, esi
call fcn.005a9620
mov edi, eax
push str.recv_idle1res
push edi
mov ecx, esi
call fcn.00560c30
mov ecx, eax
test ecx, ecx
je 0x5aa1ab
sub eax, 0x2733
neg eax
sbb eax, eax
and eax, ecx
pop edi
pop esi
ret
add dword [esi + 0x3470], edi
mov eax, dword [esi + 0x3470]
cmp dword [esi + 0x3454], eax
mov dword [esi + 0x398], 0
jle 0x5aa1ce
pop edi
xor eax, eax
pop esi
ret
push str.Idle_res_OK_n
mov ecx, esi
call fcn.00560320
pop edi
mov ecx, esi
pop esi
jmp fcn.005a9440
Function at 0x5aa8d0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x661658
mov eax, dword fs:[0]
push eax
sub esp, 0x28
push esi
mov eax, dword [0x755898]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
mov esi, ecx
lea ecx, [esp + 8]
call fcn.005af6b0
mov dword [esp + 0x38], 0
push 4
lea ecx, [esp + 0xc]
mov byte [esp + 0x12], 2
mov byte [esp + 0x10], 0
mov byte [esp + 0x11], 5
call fcn.005af5e0
cmp byte [esp + 0x48], 0
mov dword [esp + 0x20], 4
je 0x5aa93c
mov eax, dword [esp + 0x28]
push 0x2625a0
push eax
jmp 0x5aa946
mov ecx, dword [esp + 0x28]
push 0x1312d0
push ecx
call fcn.005a7740
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
add esp, 8
push 0
push edx
push eax
lea ecx, [esp + 0x14]
push ecx
mov ecx, esi
call fcn.005aa2c0
mov esi, eax
mov dword [esp + 0x38], 0xffffffff
lea ecx, [esp + 8]
call fcn.005af6d0
mov eax, esi
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop esi
add esp, 0x34
ret 0xc

Function at 0x5aa990
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x661658
mov eax, dword fs:[0]
push eax
sub esp, 0x28
push esi
mov eax, dword [0x755898]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
mov esi, ecx
lea ecx, [esp + 8]
call fcn.005af6b0
mov dword [esp + 0x38], 0
push 4
lea ecx, [esp + 0xc]
mov byte [esp + 0x12], 2
mov byte [esp + 0x10], 1
mov byte [esp + 0x11], 3
call fcn.005af5e0
mov eax, dword [esi + 0x49c0]
mov ecx, dword [esp + 0x28]
push eax
push ecx
mov dword [esp + 0x28], 4
call fcn.005a7740
mov edx, dword [esi + 0x49c0]
add esp, 8
push 0
push 0
push 0
lea eax, [esp + 0x14]
push eax
mov ecx, esi
mov dword [esi + 0x49c4], edx
call fcn.005aa2c0
mov dword [esp + 0x38], 0xffffffff
lea ecx, [esp + 8]
call fcn.005af6d0
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop esi
add esp, 0x34
ret
Function at 0x5abee0
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push 0xffffffffffffffff
push 0x6617d0
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
push esi
push edi
mov eax, dword [0x755898]
xor eax, esp
push eax
lea eax, [esp + 0x38]
mov dword fs:[0], eax
mov edi, ecx
lea ecx, [esp + 0x10]
call fcn.005af6b0
mov dword [esp + 0x40], 0
push 0x100
lea ecx, [esp + 0x14]
mov byte [esp + 0x1a], 3
mov byte [esp + 0x18], 1
mov byte [esp + 0x19], 0x14
call fcn.005af5e0
mov esi, dword [esp + 0x30]
push str.createStream
lea ecx, [esp + 0x10]
call fcn.004030b0
mov byte [esp + 0x40], 1
lea eax, [esp + 0xc]
push eax
push esi
call fcn.005a8460
add esp, 8
add esi, eax
mov byte [esp + 0x40], 0
lea ecx, [esp + 0xc]
call fcn.00402570
fld qword [esp + 0x48]
sub esp, 8
fstp qword [esp]
push esi
call fcn.005a7760
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
add esp, 0xc
add esi, eax
push 0
mov byte [esi], 5
push ecx
inc esi
sub esi, dword [esp + 0x38]
push edx
lea eax, [esp + 0x1c]
push eax
mov ecx, edi
mov dword [esp + 0x38], esi
call fcn.005aa2c0
mov esi, eax
mov dword [esp + 0x40], 0xffffffff
lea ecx, [esp + 0x10]
call fcn.005af6d0
mov eax, esi
mov ecx, dword [esp + 0x38]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
add esp, 0x38
ret 0x10
Function at 0x5ad610
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 0x5ad648
cmp dword [esi + 0x20], ebx
jne 0x5ad648
push eax
mov ecx, esi
call fcn.005af5e0
test al, al
jne 0x5ad648
push str.Err_in_RTMPConn_17_n
mov ecx, edi
call fcn.00560320
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 + 0x3484]
cmp ebp, ebx
jne 0x5ad65f
mov ebp, dword [edi + 0x3480]
cmp eax, ebp
jge 0x5ad665
mov ebp, eax
mov dword [edi + 0x3484], ebx
test ebp, ebp
je 0x5ad6c9
mov eax, dword [edi + 0xc0]
cmp dword [eax + 0x24], 5
jne 0x5ad68c
mov ecx, dword [esi + 0x20]
add ecx, dword [esi + 0x1c]
push ebp
push ecx
mov ecx, edi
call fcn.005a9620
jmp 0x5ad6a2
mov edx, dword [esi + 0x20]
add edx, dword [esi + 0x1c]
mov eax, dword [edi + 0x31f0]
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.00560c30
mov ecx, eax
test ecx, ecx
je 0x5ad6c9
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 0x5ad6e1
sub ebp, ebx
mov dword [edi + 0x3484], 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 + 0x34b0]
call fcn.005a7820
xor ebx, ebx
mov ecx, edi
mov dword [edi + 0x9c], 0x15
mov dword [edi + 0x3484], ebx
call fcn.00560550
mov edx, dword [esi + 0x1c]
cmp edx, dword [esi + 0x18]
jne 0x5ad77a
mov eax, dword [esi + 8]
mov dword [esi + 0x14], eax
cmp byte [esi + 0x10], bl
jne 0x5ad731
movzx ecx, byte [esi + 6]
mov edx, dword [edi + ecx*4 + 0x48b0]
add edx, eax
mov dword [esi + 0x14], edx
movzx eax, byte [esi + 6]
mov ecx, dword [esi + 0x14]
mov dword [edi + eax*4 + 0x48b0], ecx
movzx eax, byte [esi + 6]
add eax, 0x152
lea edx, [eax + eax*4]
mov dword [edi + edx*8], ebx
movzx eax, byte [esi + 6]
lea eax, [eax + eax*4]
mov dword [edi + eax*8 + 0x34cc], ebx
movzx eax, byte [esi + 6]
lea ecx, [eax + eax*4]
mov byte [edi + ecx*8 + 0x34c0], 0
push esi
mov ecx, edi
call fcn.005ad400
pop ebp
pop edi
pop esi
pop ebx
ret 4
mov ecx, esi
mov dword [esi + 0x20], ebx
call fcn.005af6c0
pop ebp
pop edi
pop esi
xor eax, eax
pop ebx
ret 4
Function at 0x5ad790
Capabilities:
Receive data
Receive data on socket

Disassembly:
push esi
mov esi, ecx
mov eax, dword [esi + 0x49d4]
push edi
test eax, eax
jle 0x5ad81d
mov ecx, dword [esi + 0xc0]
cmp dword [ecx + 0x24], 5
mov ecx, dword [esi + 0x322c]
jne 0x5ad7c4
sub eax, ecx
lea edx, [ecx + esi + 0x49d8]
push eax
push edx
mov ecx, esi
call fcn.005a9620
jmp 0x5ad7dd
push 0
sub eax, ecx
push eax
lea eax, [ecx + esi + 0x49d8]
mov ecx, dword [esi + 0x31f0]
push eax
push ecx
call sub.WS2_32.dll_recv
mov edi, eax
push str.recv_pheader
push edi
mov ecx, esi
call fcn.00560c30
mov ecx, eax
test ecx, ecx
je 0x5ad802
sub eax, 0x2733
neg eax
sbb eax, eax
pop edi
and eax, ecx
pop esi
ret 4
add dword [esi + 0x322c], edi
mov eax, dword [esi + 0x322c]
cmp eax, dword [esi + 0x49d4]
je 0x5ad81d
pop edi
xor eax, eax
pop esi
ret 4
push ebx
mov ecx, esi
call fcn.00560550
mov edi, dword [esp + 0x10]
xor bl, bl
cmp dword [esi + 0x49d4], 3
jl 0x5ad8fa
lea edx, [esi + 0x49d8]
push edx
call fcn.005a76a0
add esp, 4
mov dword [edi + 8], eax
cmp dword [esi + 0x49d4], 6
jl 0x5ad885
lea eax, [esi + 0x49db]
push eax
call fcn.005a76a0
add esp, 4
mov ecx, edi
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], 0
call fcn.005af680
cmp dword [esi + 0x49d4], 6
jle 0x5ad885
mov cl, byte [esi + 0x49de]
mov byte [edi + 5], cl
cmp dword [esi + 0x49d4], 0xb
jne 0x5ad8a0
lea edx, [esi + 0x49df]
push edx
call fcn.00578b40
add esp, 4
mov dword [edi + 0xc], eax
cmp dword [edi + 8], 0xffffff
jne 0x5ad8fa
mov eax, dword [esi + 0xc0]
cmp dword [eax + 0x24], 5
jne 0x5ad8c5
push 4
lea ecx, [esp + 0x14]
push ecx
mov ecx, esi
call fcn.005a9620
jmp 0x5ad8da
mov eax, dword [esi + 0x31f0]
push 0
push 4
lea edx, [esp + 0x18]
push edx
push eax
call sub.WS2_32.dll_recv
cmp eax, 4
je 0x5ad8e8
pop ebx
pop edi
or eax, 0xffffffff
pop esi
ret 4
lea ecx, [esp + 0x10]
push ecx
call fcn.005a76d0
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.0x5ad90f.10
movzx edx, byte [eax + 0x5ad990]
jmp dword [edx*4 + 0x5ad988]
mov cl, 1
test bl, bl
jne 0x5ad922
mov eax, dword [edi + 8]
mov dword [edi + 0x14], eax
cmp byte [edi + 0x10], 0
jne 0x5ad936
movzx edx, byte [edi + 6]
mov eax, dword [esi + edx*4 + 0x48b0]
add dword [edi + 0x14], eax
test cl, cl
mov ecx, esi
je 0x5ad95d
mov dword [esi + 0x9c], 0x18
call fcn.005a70a0
test eax, eax
jne 0x5ad97e
push edi
mov ecx, esi
call fcn.005adad0
pop ebx
pop edi
pop esi
ret 4
mov dword [esi + 0x9c], 0x17
call fcn.005a70a0
test eax, eax
jne 0x5ad97e
push edi
mov ecx, esi
call fcn.005ad610
pop ebx
pop edi
pop esi
ret 4
pop ebx
pop edi
xor eax, eax
pop esi
ret 4
Function at 0x5b0070
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x661b60
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
mov eax, dword [0x755898]
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.006201db
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.0061d2ff
mov esp, ebp
pop ebp
ret 8

Function at 0x5b0120
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x661b90
mov eax, dword fs:[0]
push eax
sub esp, 0x20
mov eax, dword [0x755898]
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.006201db
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 0x5b01b8
mov eax, 1
jmp 0x5b01ba
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.0061d2ff
mov esp, ebp
pop ebp
ret 8
Function at 0x5b0e30
Capabilities:
Delete registry value
Set registry value

Disassembly:
push ecx
push esi
mov esi, ecx
mov eax, dword [esi + 0x23c]
test eax, eax
je 0x5b0eab
cmp dword [esi + 0x174], 0
push edi
je 0x5b0e8e
mov ecx, dword [esi + 0x1a0]
test ecx, ecx
je 0x5b0e8e
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 0x5b0eb0
Capabilities:
Query or enumerate registry value

Disassembly:
sub esp, 0x10
push esi
mov esi, ecx
mov eax, dword [esi + 0x23c]
test eax, eax
je 0x5b0f48
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 0x5b0f47
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 0x5b0f47
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 0x5b0f50
Capabilities:
Query or enumerate registry value

Disassembly:
sub esp, 0x10
push esi
mov esi, ecx
mov eax, dword [esi + 0x23c]
test eax, eax
je 0x5b0fc6
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 0x5b0fc5
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 0x5b0fc5
fld qword [esp + 0x10]
fstp qword [esi + 0x198]
pop edi
pop esi
add esp, 0x10
ret
Function at 0x5b1270
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x661c40
mov eax, dword fs:[0]
push eax
sub esp, 0x24
push ebx
push esi
push edi
mov eax, dword [0x755898]
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 0x5b1399
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 0x6981a4
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 0x5b130b
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 0x5b1324
cmp ecx, 5
je 0x5b1324
cmp dword [eax + 0x320], 0
je 0x5b1345
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 0x5b1391
mov eax, dword [esi + 0x190]
test eax, eax
jle 0x5b1391
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 0x5b13d0
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x661c60
mov eax, dword fs:[0]
push eax
sub esp, 8
push ebx
push esi
push edi
mov eax, dword [0x755898]
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 + 0x3a8]
fnstsw ax
test ah, 1
jne 0x5b142a
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 + 0x320], 0
jne 0x5b144c
mov edi, dword [esi + 0x1b0]
mov ecx, esi
call fcn.005b1060
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 0x5b146b
push 0
push 0x146d
push 0x111
mov eax, dword [eax]
push eax
call edi
mov eax, dword [esi + 0x14]
cmp dword [eax], 0
je 0x5b1489
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 0x5b14a2
push 0
push 0x146d
push 0x111
mov eax, dword [eax]
push eax
call edi
mov eax, dword [esi + 0x23c]
test eax, eax
je 0x5b14f7
push 8
mov ecx, dword [esi + 0xc]
add ecx, 0x3a8
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 + 0x320], 0
je 0x5b14f7
mov edx, dword [eax + 0x320]
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 0x5b1520
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 0x5b15b2
mov eax, dword [esi + 0x10]
cmp dword [eax], 0
push edi
mov edi, dword [sym.imp.USER32.dll_PostMessageA]
je 0x5b1554
mov edx, dword [eax]
push 0
push 0x14a5
push 0x111
push edx
call edi
mov eax, dword [esi + 0x14]
cmp dword [eax], 0
je 0x5b1572
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 0x5b158b
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 0x5b15b2
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 0x5b15c0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x661c80
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebx
push esi
push edi
mov eax, dword [0x755898]
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 0x5b1612
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 0x5b15ff
mov eax, dword [esi + 0xc]
fld qword [ebp - 0x1c]
fstp qword [eax + 0x3a8]
mov ecx, dword [esi + 0xc]
cmp dword [ecx + 0x320], 0
jne 0x5b1666
mov edi, dword [esi + 0x1b0]
mov ecx, esi
call fcn.005b1060
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 0x5b1685
push 0
push 0x146d
push 0x111
mov edx, dword [eax]
push edx
call edi
mov eax, dword [esi + 0x14]
cmp dword [eax], 0
je 0x5b16a3
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 0x5b16bc
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 0x5b16f0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x661ca0
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebx
push esi
push edi
mov eax, dword [0x755898]
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 [0x75abd8]
push eax
mov edi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
call edi
test eax, eax
jne 0x5b175f
mov ecx, dword [ebp - 0x18]
mov dword [esi + 0x1cc], ecx
jmp 0x5b17ae
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 [0x75abd8]
push ecx
call edi
test eax, eax
jne 0x5b17ae
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x5b17ae
cmp eax, 0x1f400
ja 0x5b179a
mov dword [esi + 0x1cc], 1
jmp 0x5b17ae
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, 0x75ad4c
call fcn.004fa090
push eax
mov ecx, esi
call fcn.005b0fd0
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