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

Disassembly:
push 0xffffffffffffffff
push 0x660d08
mov eax, dword fs:[0]
push eax
sub esp, 0x38
mov eax, dword [0x755898]
xor eax, esp
mov dword [esp + 0x34], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x755898]
xor eax, esp
push eax
lea eax, [esp + 0x4c]
mov dword fs:[0], eax
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x60]
mov edi, dword [esp + 0x64]
push 0x30
lea eax, [esp + 0x1c]
push 0
push eax
mov esi, ecx
call fcn.0061d9e0
add esp, 0xc
push 0x20
call sub.WS2_32.dll_htonl
mov ecx, dword [str.ftypisom]
mov edx, dword [0x6b039c]
mov dword [esp + 0x18], eax
mov eax, dword [str.isomiso2avc1mp41]
mov dword [esp + 0x1c], ecx
mov ecx, dword [0x6b0388]
mov dword [esp + 0x20], edx
mov edx, dword [0x6b038c]
mov dword [esp + 0x28], eax
mov eax, dword [0x6b0390]
push 8
mov byte [esp + 0x2a], 2
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], eax
call sub.WS2_32.dll_htonl
push 0
push edi
push 0x30
lea ecx, [esp + 0x24]
push ecx
push ebx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], 0x65657266
mov dword [esp + 0x58], 0x7461646d
call dword [sym.imp.KERNEL32.dll_WriteFile]
xor ebx, ebx
cmp eax, ebx
je 0x5a3f21
cmp dword [edi], 0x30
jne 0x5a3f21
mov dword [ebp], 0x28
mov dword [ebp + 4], ebx
lea eax, [ebx + 1]
jmp 0x5a3f7f
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [esp + 0x14]
mov dword [esi + 0xa4], eax
call fcn.00402500
mov dword [esp + 0x54], ebx
mov edx, dword [edi]
mov eax, dword [esi + 0xa4]
push edx
push 0x30
push eax
lea ecx, [esp + 0x20]
push str.Mp4DR:WSt__err__ld__tw_ld__w_ld_n
push ecx
call fcn.00402f70
mov eax, dword [esp + 0x28]
mov edx, dword [eax - 0xc]
add esp, 0x14
push edx
lea ecx, [esi + 0xa0]
push eax
call fcn.00402e10
mov dword [esp + 0x54], 0xffffffff
lea ecx, [esp + 0x14]
call fcn.00402570
xor eax, eax
mov ecx, dword [esp + 0x4c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x34]
xor ecx, esp
call fcn.0061d2ff
add esp, 0x44
ret 0xc

Function at 0x5a3fa0
Capabilities:
Write file on windows

Disassembly:
mov ecx, dword [ecx + 0x164]
jmp fcn.00568c40
Function at 0x5a6980
Capabilities:
Get process heap flags

Disassembly:
push 0xffffffffffffffff
push 0x661228
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push ebp
push esi
push edi
mov eax, dword [0x755898]
xor eax, esp
push eax
lea eax, [esp + 0x18]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x14], esi
lea ecx, [esi + 4]
mov dword [esi], vtable.CRedirectsHistory.0
call fcn.00411460
xor ebp, ebp
mov dword [esp + 0x20], ebp
lea edi, [esi + 0x18]
mov ecx, edi
call fcn.00402500
mov byte [esp + 0x20], 1
lea ecx, [esi + 0x1c]
call fcn.00402500
mov byte [esp + 0x20], 2
lea ecx, [esi + 0x20]
call fcn.00402500
mov byte [esp + 0x20], 3
lea ecx, [esi + 0x2c]
call fcn.00402500
mov byte [esp + 0x20], 4
lea ecx, [esi + 0x30]
call fcn.00402500
mov byte [esp + 0x20], 5
lea ebx, [esi + 0x34]
xor eax, eax
mov dword [ebx], ebp
mov dword [ebx + 8], ebp
mov word [ebx + 4], ax
mov byte [esp + 0x20], 6
lea ebp, [esi + 0x40]
mov ecx, ebp
call fcn.00402500
mov byte [esp + 0x20], 7
mov ecx, dword [esp + 0x28]
push ecx
push 0x675ea0
push ebp
call fcn.00402f70
mov edx, dword [esp + 0x38]
push edx
push 0x675ea0
push edi
call fcn.00402f70
mov eax, dword [esp + 0x48]
add esp, 0x18
test eax, eax
je 0x5a6a61
push eax
lea eax, [esi + 0x1c]
push 0x675ea0
push eax
call fcn.00402f70
add esp, 0xc
mov eax, dword [esp + 0x34]
test eax, eax
je 0x5a6a7b
push eax
lea eax, [esi + 0x20]
push 0x675ea0
push eax
call fcn.00402f70
add esp, 0xc
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
push edx
mov dword [esi + 0x24], eax
lea eax, [esi + 0x2c]
push 0x675ea0
push eax
mov dword [esi + 0x28], ecx
call fcn.00402f70
mov edx, dword [esp + 0x50]
add esp, 0xc
test edx, edx
je 0x5a6acd
mov eax, edx
lea edi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5a6ab0
sub eax, edi
je 0x5a6acd
push edx
lea eax, [esi + 0x30]
push 0x675ea0
push eax
call fcn.00402f70
add esp, 0xc
mov edx, dword [esp + 0x48]
test edx, edx
je 0x5a6af9
mov eax, edx
lea edi, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x5a6ae0
sub eax, edi
sar eax, 1
je 0x5a6af9
push edx
mov ecx, ebx
call fcn.004017f0
mov dword [esp + 0x20], 0xffffffff
mov eax, esi
mov ecx, dword [esp + 0x18]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 0x24
Function at 0x5a6c00
Capabilities:
Access peb ldr_data
Get ntdll base address
Get process heap flags

Disassembly:
push 0xffffffffffffffff
push 0x6612a8
mov eax, dword fs:[0]
push eax
push ecx
push esi
mov eax, dword [0x755898]
xor eax, esp
push eax
lea eax, [esp + 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 8], esi
mov dword [esi], vtable.CRedirectsHistory.0
mov dword [esp + 0x14], 7
call fcn.005a6b20
mov byte [esp + 0x14], 6
lea ecx, [esi + 0x40]
call fcn.00402570
mov byte [esp + 0x14], 5
lea ecx, [esi + 0x34]
call fcn.00401210
mov byte [esp + 0x14], 4
lea ecx, [esi + 0x30]
call fcn.00402570
mov byte [esp + 0x14], 3
lea ecx, [esi + 0x2c]
call fcn.00402570
mov byte [esp + 0x14], 2
lea ecx, [esi + 0x20]
call fcn.00402570
mov byte [esp + 0x14], 1
lea ecx, [esi + 0x1c]
call fcn.00402570
mov byte [esp + 0x14], 0
lea ecx, [esi + 0x18]
call fcn.00402570
mov dword [esp + 0x14], 0xffffffff
lea ecx, [esi + 4]
call fcn.00415b70
mov ecx, dword [esp + 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
add esp, 0x10
ret
Function at 0x5a70f0
Capabilities:
Receive data
Receive data on socket

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x661330
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
mov dword [ebp - 4], 0
cmp dword [esi + 0x3244], 0
jne 0x5a715a
push 0x3ff
call fcn.0061f92f
mov dword [esi + 0x3244], eax
push 0x3ff
push 0
push eax
call fcn.0061d9e0
add esp, 0x10
mov dword [esi + 0x3250], 0x3ff
mov eax, dword [esi + 0x3250]
mov ecx, dword [esi + 0x3244]
push eax
push 0
push ecx
call fcn.0061fad0
add esp, 0xc
sub eax, dword [esi + 0x3244]
mov ebx, eax
mov dword [ebp - 0x18], ebx
mov byte [ebp - 0x11], 0
mov edi, dword [esi + 0x39c]
test edi, edi
jle 0x5a729f
mov ecx, dword [esi + 0x398]
mov eax, 0x200
sub eax, ecx
cmp edi, eax
jl 0x5a71a2
mov edi, eax
lea eax, [ecx + esi + 0x3254]
push edi
push 0xa
push eax
call fcn.0061fad0
add esp, 0xc
test eax, eax
je 0x5a71c8
sub eax, esi
sub eax, dword [esi + 0x398]
sub eax, 0x3253
mov edi, eax
mov eax, dword [esi + 0x3250]
mov ecx, eax
sub ecx, ebx
dec ecx
cmp edi, ecx
jl 0x5a7212
lea eax, [eax + edi + 1]
mov dword [esi + 0x3250], eax
push eax
mov edx, dword [esi + 0x3244]
push edx
call fcn.00620edf
add esp, 8
mov dword [esi + 0x3244], eax
test eax, eax
jne 0x5a7212
mov eax, 0x753b
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push edi
mov eax, dword [esi + 0x398]
lea ecx, [esi + eax + 0x3254]
push ecx
mov edx, dword [esi + 0x3244]
add edx, ebx
push edx
call fcn.0061eea0
add esp, 0xc
add ebx, edi
mov dword [ebp - 0x18], ebx
add dword [esi + 0x398], edi
sub dword [esi + 0x39c], edi
mov eax, dword [esi + 0x3244]
mov byte [ebx + eax], 0
mov ecx, dword [esi + 0x3244]
cmp byte [ebx + ecx - 1], 0xa
jne 0x5a726e
xor eax, eax
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 byte [ebp - 0x11], 0
je 0x5a729f
push 0
mov edx, dword [esi + 0x31f0]
push edx
mov ecx, esi
call fcn.005624e0
test eax, eax
je 0x5a729f
mov eax, 0x7533
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ebx, [esi + 0x3254]
push 0
push 0x200
push ebx
mov eax, dword [esi + 0x31f0]
push eax
call sub.WS2_32.dll_recv
push str.recv_next_line
mov edi, eax
push edi
mov ecx, esi
call fcn.00560c30
cmp eax, 0x2733
jne 0x5a72e0
push 0
push 0x200
push ebx
mov ecx, dword [esi + 0x31f0]
push ecx
jmp 0x5a72b4
test eax, eax
jne 0x5a7319
mov dword [esi + 0x398], eax
mov dword [esi + 0x39c], edi
mov byte [ebp - 0x11], 1
mov ebx, dword [ebp - 0x18]
jmp 0x5a7181
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 0x5a7e60
Capabilities:
Delete registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6613e0
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
xor ebx, ebx
mov dword [ebp - 4], ebx
wait
mov edi, dword [esi + 0x9c]
mov eax, dword [esi]
mov edx, dword [eax + 0x20]
call edx
mov eax, dword [esi + 0x31f4]
cmp dword [eax + 0x134], 2
jne 0x5a7ed3
cmp dword [esi + 0x64], ebx
jl 0x5a7ed3
jg 0x5a7ebe
cmp dword [esi + 0x60], ebx
jbe 0x5a7ed3
mov dword [esi + 0x9c], 7
mov dword [esi + 0x94], ebx
jmp 0x5a8043
cmp edi, 0x18
je 0x5a7ee1
cmp edi, 0x15
jne 0x5a8043
cmp dword [esi + 0xe0], ebx
je 0x5a8043
cmp dword [eax + 0x144], 0x757b
jne 0x5a8043
mov ecx, esi
call fcn.005a7bb0
cmp eax, ebx
je 0x5a8001
push str.OneKeyFrameBack_failed__Erase_outfile_n
mov ecx, esi
call fcn.00560320
mov eax, dword [esi + 0xa0]
mov ecx, dword [eax + 0x60]
push ecx
push str._dkf
lea edx, [ebp - 0x24]
push edx
call fcn.006201db
add esp, 0xc
lea eax, [ebp - 0x24]
push eax
mov ecx, dword [esi + 0x31f4]
mov edx, dword [ecx + 0x104]
push edx
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
mov eax, dword [esi + 0xa0]
mov ecx, dword [eax + 0x10]
push ecx
lea ecx, [esi + 0x10]
call fcn.00569460
mov dword [esi + 0x60], ebx
mov dword [esi + 0x64], ebx
mov dword [esi + 0x78], ebx
mov dword [esi + 0x7c], ebx
mov ecx, dword [esi + 0xa0]
mov eax, dword [ecx + 0x1c]
mov dword [esi + 0xe0], eax
mov dword [ebp - 0x28], eax
fild dword [ebp - 0x28]
test eax, eax
jge 0x5a7f87
fadd qword [0x67e1b0]
fstp qword [esi + 0x31f8]
mov dword [esi + 0xe8], ebx
cmp dword [esi + 0xe0], ebx
jne 0x5a7fc4
mov edx, dword [esi + 0x31f4]
cmp ecx, dword [edx + 0xb0]
jne 0x5a7fc4
push str.This_is_first_part__n
mov ecx, esi
call fcn.00560320
mov byte [esi + 0x3209], 1
mov byte [esi + 0x320b], bl
jmp 0x5a7fcb
mov byte [esi + 0x320b], 1
mov byte [esi + 0x320d], bl
mov byte [esi + 0x320e], bl
mov dword [esi + 0x4a30], ebx
mov dword [esi + 0x4a34], ebx
mov byte [esi + 0x3205], bl
mov byte [esi + 0x3204], bl
mov dword [esi + 0x3240], ebx
mov byte [esi + 0x3211], bl
mov byte [esi + 0x3210], bl
mov byte [esi + 0xdd], 1
mov ecx, esi
call fcn.00560630
mov eax, dword [esi]
lea ecx, [esi + 0x31f0]
push ecx
mov ecx, esi
mov edx, dword [eax + 0x18]
call edx
cmp eax, ebx
je 0x5a8043
mov ecx, dword [esi + 0x31f4]
mov dword [ecx + 0x144], eax
cmp eax, 0x7569
jne 0x5a8043
mov ecx, dword [esi + 0x31f4]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
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 ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0061d2ff
mov esp, ebp
pop ebp
ret
Function at 0x5a87f0
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__fcs_ident2_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_ident_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 0x5a8863
mov ecx, dword [esi + 0x31f0]
push str.RTMPT_Ident
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 0x5a8916
mov eax, dword [esi + 0x31f0]
push str.RTMPT_Ident_s2
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 byte [esi + 0x347c], 1
mov dword [esi + 0x3454], ebx
mov dword [esi + 0x39c], ebx
mov dword [esi + 0x9c], 0x1b
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
Function at 0x5a8940
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 0x5a8aa0
Capabilities:
Send data
Send data on socket
Send http request
Send http request with host header

Disassembly:
push 0xffffffffffffffff
push 0x641dc8
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push esi
push edi
mov eax, dword [0x755898]
xor eax, esp
push eax
lea eax, [esp + 0x14]
mov dword fs:[0], eax
mov esi, ecx
lea ecx, [esp + 0x10]
call fcn.00402500
mov dword [esp + 0x1c], 0
mov eax, dword [esi + 0xc0]
mov ecx, dword [eax]
mov ebx, dword [esp + 0x2c]
mov edx, dword [esi + 0x3474]
mov eax, dword [esi + 0x3468]
push ebx
push ecx
mov ecx, dword [esp + 0x2c]
push edx
push eax
push ecx
lea edx, [esp + 0x24]
push str.POST___s__s__ld_HTTP_1.1_r_nContent_Type:_application_x_fcs_r_nUser_Agent:_Shockwave_Flash_r_nHost:__s_r_nContent_Length:__ld_r_nConnection:_Keep_Alive_r_nCache_Control:_no_cache_r_n_r_n
push edx
call fcn.00402f70
mov eax, dword [esp + 0x2c]
inc dword [esi + 0x3474]
mov ecx, dword [eax - 0xc]
add esp, 0x1c
push str.RTMPT_send
push 0
push ecx
push eax
mov eax, dword [esi + 0x31f0]
push eax
call sub.WS2_32.dll_send
push eax
mov ecx, esi
call fcn.00560c30
mov edi, eax
test edi, edi
je 0x5a8b62
mov dword [esp + 0x1c], 0xffffffff
lea ecx, [esp + 0x10]
call fcn.00402570
mov eax, edi
mov ecx, dword [esp + 0x14]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
add esp, 0x10
ret 0xc
mov ecx, dword [esp + 0x28]
mov edx, dword [esi + 0x31f0]
push str.RTMPT_send
push 0
push ebx
push ecx
push edx
call sub.WS2_32.dll_send
push eax
mov ecx, esi
call fcn.00560c30
mov esi, eax
mov dword [esp + 0x1c], 0xffffffff
lea ecx, [esp + 0x10]
call fcn.00402570
mov eax, esi
mov ecx, dword [esp + 0x14]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
add esp, 0x10
ret 0xc
Function at 0x5a9440
Capabilities:
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x661518
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
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 ebx, ebx
mov dword [ebp - 4], ebx
call fcn.005a77b0
mov byte [esi + 0x3205], bl
mov dword [esi + 0xe4], ebx
mov dword [esi + 0x49fc], ebx
mov byte [esi + 0x3211], bl
mov byte [esi + 0xdd], bl
cmp dword [esi + 0x3220], ebx
jne 0x5a94b3
push 0x601
call fcn.005f15c2
add esp, 4
mov dword [esi + 0x3220], eax
mov eax, dword [esi + 0x3220]
cmp eax, ebx
jne 0x5a94d4
mov eax, 8
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 byte [eax], 3
lea eax, [ebp - 0x28]
push eax
call fcn.00620e21
add esp, 4
mov ecx, dword [ebp - 0x28]
push ecx
call sub.WS2_32.dll_htonl
mov edx, dword [esi + 0x3220]
mov dword [edx + 1], eax
mov eax, dword [esi + 0x3220]
add eax, 5
mov dword [eax], ebx
mov edi, 9
mov dword [ebp - 0x18], edi
cmp edi, 0x600
jg 0x5a952f
call fcn.0062202a
and eax, 0x800000ff
jns 0x5a9523
dec eax
or eax, 0xffffff00
inc eax
mov ecx, dword [esi + 0x3220]
mov byte [edi + ecx], al
inc edi
jmp 0x5a9505
mov edx, dword [esi + 0xc0]
cmp dword [edx + 0x24], 5
jne 0x5a9555
push 0x601
mov eax, dword [esi + 0x3220]
push eax
push str.send
mov ecx, esi
call fcn.005a8aa0
jmp 0x5a957b
push str.send_handshake
push ebx
push 0x601
mov ecx, dword [esi + 0x3220]
push ecx
mov edx, dword [esi + 0x31f0]
push edx
call sub.WS2_32.dll_send
push eax
mov ecx, esi
call fcn.00560c30
mov edi, eax
lea ecx, [ebp - 0x14]
call fcn.00402500
mov byte [ebp - 4], 1
push edi
push str.sending_handshake__res___ld_n
lea eax, [ebp - 0x14]
push eax
call fcn.00402f70
add esp, 0xc
mov ecx, dword [ebp - 0x14]
push ecx
mov ecx, esi
call fcn.00560320
mov dword [esi + 0x3224], ebx
mov dword [esi + 0x3228], ebx
mov byte [esi + 0x3206], bl
mov byte [esi + 0x3207], bl
mov ecx, esi
call fcn.00560550
mov dword [esi + 0x9c], 0x14
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x14]
call fcn.00402570
mov eax, edi
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 0x5a9620
Capabilities:
Receive data
Receive data on socket

Disassembly:
push ecx
push ebx
push esi
push edi
mov esi, ecx
xor ebx, ebx
cmp dword [esi + 0x3454], ebx
je 0x5a9644
cmp byte [esi + 0x347c], bl
je 0x5a9644
mov byte [esi + 0x347c], bl
mov byte [esi + 0x347d], bl
mov byte [esp + 0xf], bl
cmp byte [esi + 0x347c], bl
je 0x5a966b
mov ecx, esi
call fcn.005a7500
cmp eax, ebx
jne 0x5a9751
mov byte [esi + 0x347d], 1
mov byte [esp + 0xf], 1
cmp byte [esi + 0x347d], bl
je 0x5a9712
cmp dword [esi + 0x3454], ebx
je 0x5a970c
mov edx, dword [esi + 0x39c]
cmp edx, ebx
jle 0x5a96ae
mov ecx, dword [esi + 0x398]
mov al, byte [ecx + esi + 0x3254]
inc ecx
dec edx
mov byte [esp + 0xe], al
mov dword [esi + 0x398], ecx
mov dword [esi + 0x39c], edx
jmp 0x5a96dd
mov ecx, dword [esi + 0x31f0]
push ebx
push 1
lea eax, [esp + 0x16]
push eax
push ecx
call sub.WS2_32.dll_recv
mov edi, eax
push str.recv_byte
push edi
mov ecx, esi
call fcn.00560c30
test eax, eax
jne 0x5a97f9
mov al, byte [esp + 0xe]
mov dl, al
dec dl
cmp dl, 0x20
ja 0x5a96f8
movsx eax, al
lea eax, [eax + eax*8 + 0xc8]
mov dword [esi + 0x3464], eax
jmp 0x5a9706
cmp al, 0x21
jle 0x5a9706
mov dword [esi + 0x3464], 0x1f4
dec dword [esi + 0x3454]
mov byte [esi + 0x347d], bl
cmp dword [esi + 0x3454], ebx
jne 0x5a9761
cmp dword [esi + 0x39c], ebx
mov byte [esi + 0x347c], 1
mov dword [esi + 0x3478], ebx
jg 0x5a9628
cmp byte [esp + 0xf], bl
je 0x5a9628
push 0x2733
call sub.WS2_32.dll_WSASetLastError
pop edi
pop esi
or eax, 0xffffffff
pop ebx
pop ecx
ret 8
push eax
call sub.WS2_32.dll_WSASetLastError
pop edi
pop esi
or eax, 0xffffffff
pop ebx
pop ecx
ret 8
mov eax, dword [esi + 0x39c]
cmp eax, ebx
jle 0x5a97ac
mov edi, dword [esp + 0x18]
cmp eax, edi
jge 0x5a9775
mov edi, eax
mov ecx, dword [esi + 0x398]
mov eax, dword [esp + 0x14]
push edi
lea edx, [ecx + esi + 0x3254]
push edx
push eax
call fcn.0061eea0
add dword [esi + 0x398], edi
sub dword [esi + 0x39c], edi
add esp, 0xc
sub dword [esi + 0x3454], edi
mov eax, edi
pop edi
pop esi
pop ebx
pop ecx
ret 8
mov eax, dword [esi + 0x3454]
mov ecx, dword [esp + 0x18]
cmp eax, ecx
jl 0x5a97bc
mov eax, ecx
mov ecx, dword [esp + 0x14]
mov edx, dword [esi + 0x31f0]
push ebx
push eax
push ecx
push edx
call sub.WS2_32.dll_recv
mov edi, eax
push str.rtmpt_recv
push edi
mov ecx, esi
call fcn.00560c30
test eax, eax
jne 0x5a97f9
sub dword [esi + 0x3454], edi
jne 0x5a97f9
cmp dword [esi + 0xe4], ebx
jbe 0x5a97f9
mov ecx, esi
call fcn.005a93c0
mov eax, edi
pop edi
pop esi
pop ebx
pop ecx
ret 8