Function at 0x4138e0
Capabilities:
Hash data with md5

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x54b1d2
mov eax, dword fs:[0]
push eax
sub esp, 0x3dc
mov eax, dword [0x5ca120]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 4]
mov edx, dword [eax + 0x74]
add ecx, 4
mov dword [ebp - 0x3cc], esi
call edx
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 4]
mov edx, dword [eax + 0x6c]
xor ebx, ebx
push ebx
push ebx
push ebx
add ecx, 4
push ebx
push ebx
call edx
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 4]
mov edx, dword [eax + 0x94]
add ecx, 4
push 1
call edx
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx]
mov edx, dword [eax + 0x58]
push 1
call edx
mov edi, dword [0x5ce088]
cmp edi, ebx
jne 0x41399a
push 0x8c
call dword [sym.imp.mfc100u.dll_new]
mov esi, eax
add esp, 4
mov dword [ebp - 0x3d0], esi
mov dword [ebp - 4], ebx
cmp esi, ebx
je 0x413989
mov ecx, esi
call dword [sym.imp.szutils.dll_public:_void___thiscall_TCommon::TString::constructor_void_]
jmp 0x41398b
xor esi, esi
mov edi, esi
mov dword [ebp - 4], 0xffffffff
mov dword [0x5ce088], edi
lea esi, [ebp - 0x3c8]
call fcn.00407290
mov dword [ebp - 4], 1
mov edi, dword [0x5ce088]
cmp edi, ebx
jne 0x4139ec
push 0x8c
call dword [sym.imp.mfc100u.dll_new]
mov esi, eax
add esp, 4
mov dword [ebp - 0x3d0], esi
mov byte [ebp - 4], 2
cmp esi, ebx
je 0x4139de
mov ecx, esi
call dword [sym.imp.szutils.dll_public:_void___thiscall_TCommon::TString::constructor_void_]
jmp 0x4139e0
xor esi, esi
mov edi, esi
mov byte [ebp - 4], 1
mov dword [0x5ce088], edi
lea esi, [ebp - 0x2a8]
call fcn.00407320
lea ecx, [ebp - 0x218]
mov byte [ebp - 4], 3
call dword [sym.imp.szutils.dll_public:_void___thiscall_TCommon::TString::constructor_void_]
lea eax, [ebp - 0x58]
push eax
mov byte [ebp - 4], 4
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx ecx, word [ebp - 0x58]
movzx edx, word [ebp - 0x56]
movzx eax, word [ebp - 0x52]
sub ecx, 0x76c
mov dword [ebp - 0x30], ecx
movzx ecx, word [ebp - 0x50]
dec edx
mov dword [ebp - 0x34], edx
movzx edx, word [ebp - 0x4e]
mov dword [ebp - 0x38], eax
movzx eax, word [ebp - 0x4c]
mov dword [ebp - 0x3c], ecx
lea ecx, [ebp - 0x44]
push ecx
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x24], 0xffffffff
call dword [sym.imp.MSVCR100.dll__mktime64]
add esp, 4
push edx
push eax
lea edx, [ebp - 0x218]
push str._lld
push edx
call dword [sym.imp.szutils.dll_public:_int___cdecl_TCommon::TString::Format_wchar_t_const__]
add esp, 0x10
lea eax, [ebp - 0x218]
push eax
mov ecx, esi
call dword [0x54e928]
lea ecx, [ebp - 0x3e4]
call dword [sym.imp.szutils.dll_public:_void___thiscall_TCommon::TBuffer::constructor_void_]
mov byte [ebp - 4], 5
mov ecx, esi
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0x80], 0x67452301
mov dword [ebp - 0x7c], 0xefcdab89
mov dword [ebp - 0x78], 0x98badcfe
mov dword [ebp - 0x74], 0x10325476
call dword [sym.imp.szutils.dll_public:_int___thiscall_TCommon::TString::GetLength_void_const]
push eax
mov ecx, esi
call dword [sym.imp.szutils.dll_public:_char_const____thiscall_TCommon::TString::GetAnsi_void_]
mov ebx, eax
lea esi, [ebp - 0xd0]
call fcn.00401830
add esp, 4
lea edi, [ebp - 0x20]
call fcn.00401880
push 0x10
mov ecx, edi
push ecx
lea ecx, [ebp - 0x3e4]
call dword [sym.imp.szutils.dll_public:_int___thiscall_TCommon::TBuffer::Append_unsigned_char_const___unsigned_long_int_]
push 0xffffffffffffffff
lea ecx, [ebp - 0x3e4]
call dword [sym.imp.szutils.dll_public:_wchar_t_const____thiscall_TCommon::TBuffer::HexEncode_void_]
mov esi, dword [sym.imp.szutils.dll_public:_void___thiscall_TCommon::TString::constructor_wchar_t_const___int_]
push eax
lea ecx, [ebp - 0x338]
call esi
lea ecx, [ebp - 0x338]
mov byte [ebp - 4], 6
call dword [sym.imp.szutils.dll_public:_void___thiscall_TCommon::TString::MakeUpper_void_]
push 0xffffffffffffffff
push str._v1_socketServer_clientId
lea ecx, [ebp - 0x188]
call esi
lea edx, [ebp - 0x3c8]
mov byte [ebp - 4], 7
mov esi, dword [reloc.szutils.dll___YTString_TCommon__QAEABV01_ABV01__Z]
push edx
lea ecx, [ebp - 0x188]
call esi
mov edi, dword [reloc.szutils.dll___YTString_TCommon__QAEABV01_PB_W_Z]
push str.timestamp
lea ecx, [ebp - 0x188]
call edi
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x188]
call esi
push str.sign
lea ecx, [ebp - 0x188]
call edi
lea ecx, [ebp - 0x338]
push ecx
lea ecx, [ebp - 0x188]
call esi
mov edi, dword [ebp - 0x3cc]
mov ebx, 0x5b8150
mov dword [edi + 0x48], 0
mov dword [ebp - 0x3cc], ebx
mov ecx, dword [edi + 0xc]
movzx eax, word [ebx]
mov edx, dword [ecx + 4]
mov edx, dword [edx]
push 0
push 0
push 0
add ecx, 4
push eax
push str.127.0.0.1
call edx
mov esi, eax
test esi, esi
je 0x413cd5
mov ebx, 1
cmp dword [edi + 0x48], ebx
je 0x413c1a
mov esi, dword [sym.imp.USER32.dll_PeekMessageW]
push ebx
push 0
push 0
push 0
lea eax, [ebp - 0x64]
push eax
call esi
test eax, eax
je 0x413c15
lea ebx, [ebx]
lea ecx, [ebp - 0x64]
push ecx
call dword [sym.imp.USER32.dll_TranslateMessage]
lea edx, [ebp - 0x64]
push edx
call dword [sym.imp.USER32.dll_DispatchMessageW]
push ebx
push 0
push 0
push 0
lea eax, [ebp - 0x64]
push eax
call esi
test eax, eax
jne 0x413bf0
cmp dword [edi + 0x48], ebx
jne 0x413bd3
mov ebx, dword [edi + 0xc]
mov eax, str.Upgrade
push 5
lea ecx, [ebp - 0x48]
push ecx
mov dword [ebp - 0x48], str.Connection
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], str.websocket
mov dword [ebp - 0x38], str.Sec_WebSocket_Key
mov dword [ebp - 0x34], str.B5ED0B9C_C195_408F_973F_E7DDC7D569CD
mov dword [ebp - 0x30], str.Sec_WebSocket_Version
mov dword [ebp - 0x2c], 0x5bbc7c
mov dword [ebp - 0x28], str.Sec_WebSocket_Extensions
mov dword [ebp - 0x24], str.permessage_deflate__client_max_window_bits
mov esi, dword [ebx]
lea ecx, [ebp - 0x188]
call dword [sym.imp.szutils.dll_public:_char_const____thiscall_TCommon::TString::GetAnsi_void_]
mov edx, dword [esi + 0x78]
push eax
mov ecx, ebx
call edx
mov esi, eax
test esi, esi
jne 0x413cea
mov ecx, dword [edi + 0xc]
mov eax, dword [ecx + 4]
mov edx, dword [eax + 0x2c]
add ecx, 4
call edx
mov ecx, dword [edi + 0xc]
mov eax, dword [ecx + 4]
mov edx, dword [eax + 0x30]
add ecx, 4
push 0xffffffffffffffff
call edx
push eax
lea ecx, [ebp - 0xf8]
call dword [sym.imp.szutils.dll_public:_void___thiscall_TCommon::TString::constructor_wchar_t_const___int_]
mov byte [ebp - 4], 8
mov ecx, dword [edi + 0xc]
mov eax, dword [ecx + 4]
mov edx, dword [eax + 4]
add ecx, 4
call edx
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 7
call dword [sym.imp.szutils.dll_public_virtual:_void___thiscall_TCommon::TString::destructor_void_]
mov ebx, dword [ebp - 0x3cc]
add ebx, 2
mov dword [ebp - 0x3cc], ebx
cmp ebx, 0x5b8156
jl 0x413ba3
mov byte [ebp - 4], 6
mov edi, dword [sym.imp.szutils.dll_public_virtual:_void___thiscall_TCommon::TString::destructor_void_]
lea ecx, [ebp - 0x188]
call edi
lea ecx, [ebp - 0x338]
mov byte [ebp - 4], 5
call edi
lea ecx, [ebp - 0x3e4]
mov byte [ebp - 4], 4
call dword [sym.imp.szutils.dll_public_virtual:_void___thiscall_TCommon::TBuffer::destructor_void_]
lea ecx, [ebp - 0x218]
mov byte [ebp - 4], 3
call edi
lea ecx, [ebp - 0x2a8]
mov byte [ebp - 4], 1
call edi
lea ecx, [ebp - 0x3c8]
mov dword [ebp - 4], 0xffffffff
call edi
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005448c8
mov esp, ebp
pop ebp
ret