Function at 0x4f3810
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x57df43
mov eax, dword fs:[0]
push eax
sub esp, 0x5c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x641030]
xor eax, esp
push eax
lea eax, [esp + 0x70]
mov dword fs:[0], eax
mov eax, dword [esp + 0xa4]
mov byte [eax], 0
mov eax, dword [esp + 0x9c]
cmp eax, 0xabcd0123
jne 0x4f3859
mov dword [esp + 0x20], 0
jmp 0x4f3869
mov dword [esp + 0x20], eax
test eax, eax
jne 0x4f3869
mov dword [esp + 0x20], 0x1499700
mov ebp, dword [esp + 0xac]
push 0
push str.rumReceiveUntilMatchDb
push ebp
lea ecx, [esp + 0x38]
call fcn.00437770
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x78], 0
mov dword [esp + 0x24], eax
cmp eax, ecx
ja 0x4f38a3
mov dword [esp + 0x24], ecx
mov esi, dword [esp + 0x94]
mov ecx, esi
call fcn.00446f40
lea ecx, [esp + 0x38]
call fcn.0044e8e0
mov ebx, dword [esp + 0x80]
mov edx, dword [ebx]
mov eax, dword [edx + 4]
mov ecx, ebx
mov byte [esp + 0x78], 1
mov byte [esp + 0x50], 1
call eax
mov edi, eax
mov dword [esp + 0x18], edi
test edi, edi
jne 0x4f3922
mov edx, dword [ebp]
mov eax, dword [edx + 0x14]
push str.No_buffer_for_reading_until_match.
mov ecx, ebp
call eax
lea ecx, [esp + 0x38]
mov byte [esp + 0x78], 0
call fcn.0044f1c0
lea ecx, [esp + 0x2c]
mov dword [esp + 0x78], 0xffffffff
call fcn.004377b0
xor al, al
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x68
ret
mov dword [esp + 0x1c], 0
mov byte [esp + 0x9c], 0
jmp 0x4f3946
mov ebx, dword [esp + 0x80]
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0xac]
cmp dword [esp + 0x1c], 0
jne 0x4f39cc
mov ecx, edi
call fcn.004470d0
mov ebp, eax
test ebp, ebp
je 0x4f39c5
mov ecx, edi
call fcn.00447030
mov ebx, dword [esp + 0x88]
mov ecx, dword [esp + 0x84]
push ebx
push ecx
mov edi, eax
push ebp
push edi
call fcn.00448580
add esp, 0x10
test eax, eax
jne 0x4f3bcf
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x4f39ab
mov ebx, dword [esp + 0x90]
push ebx
push eax
push ebp
push edi
call fcn.00448580
add esp, 0x10
test eax, eax
jne 0x4f3bcf
mov edi, dword [esp + 0x18]
push edi
mov ecx, esi
call fcn.0044b870
mov ecx, edi
call fcn.00447160
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0xac]
mov edx, dword [ebx]
mov eax, dword [edx + 0xc]
inc dword [esp + 0x1c]
push ebp
mov ecx, ebx
call eax
test al, al
je 0x4f3c03
mov edi, dword [esp + 0xa8]
mov edx, dword [edi]
mov eax, dword [edx + 4]
mov ecx, edi
call eax
mov ecx, esi
test al, al
jne 0x4f3c41
call fcn.0051d090
mov ebp, eax
mov eax, dword [esp + 0x24]
cmp ebp, eax
jbe 0x4f3a0f
sub ebp, eax
jmp 0x4f3a11
xor ebp, ebp
mov eax, dword [esp + 0xac]
mov edx, dword [ebx]
mov edx, dword [edx + 8]
push eax
mov eax, dword [esp + 0x24]
push edi
lea ecx, [esp + 0xa4]
push ecx
mov ecx, dword [esp + 0xa4]
push eax
push ecx
push esi
mov ecx, ebx
call edx
mov byte [esp + 0x17], al
mov eax, dword [edi]
mov edx, dword [eax + 8]
mov ecx, edi
call edx
test al, al
jne 0x4f3c79
push ebp
mov ecx, esi
call fcn.00446f90
mov ecx, esi
mov ebx, eax
call fcn.0051d090
mov edi, eax
mov eax, dword [esp + 0x88]
push eax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x88]
push eax
sub edi, ebp
push edi
push ebx
call fcn.00448580
mov ebp, eax
add esp, 0x10
test ebp, ebp
jne 0x4f3ce7
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x4f3aba
mov ecx, dword [esp + 0x90]
push ecx
push eax
push edi
push ebx
call fcn.00448580
mov edi, dword [esp + 0xa0]
mov ebp, eax
add esp, 0x10
test ebp, ebp
jne 0x4f3ceb
cmp byte [esp + 0x17], 0
je 0x4f3e13
mov ecx, esi
call fcn.0051d090
mov ebp, eax
cmp ebp, 0x100018
jbe 0x4f3b47
push 0x1c
call fcn.0055562d
add esp, 4
mov dword [esp + 0x28], eax
mov byte [esp + 0x78], 3
test eax, eax
je 0x4f3af8
mov ecx, eax
call fcn.00447240
mov edi, eax
jmp 0x4f3afa
xor edi, edi
push esi
mov ecx, edi
mov byte [esp + 0x7c], 1
call fcn.00447d50
push edi
lea ecx, [esp + 0x3c]
call fcn.0044ec30
mov eax, dword [esp + 0x24]
sub ebp, eax
sub ebp, 2
mov ebx, ebp
mov ecx, edi
lea ebp, [eax + 2]
call fcn.0051b3b0
push eax
mov ecx, esi
call fcn.0044b660
push ebx
mov ecx, edi
call fcn.00446f90
push ebp
push eax
mov ecx, esi
call fcn.00448260
push ebp
mov ecx, edi
call fcn.004471a0
mov ecx, esi
call fcn.0051d090
mov edx, eax
mov eax, 0xcccccccd
mul edx
shr edx, 3
cmp edx, 0x10000
jbe 0x4f3b67
mov edx, 0x10000
cmp edx, dword [esp + 0x98]
jbe 0x4f3b77
mov dword [esp + 0x98], edx
cmp byte [esp + 0x9c], 0
je 0x4f3934
cmp dword [esp + 0xa0], 2
mov ecx, dword [esp + 0xa4]
mov byte [ecx], 1
setne bl
lea ecx, [esp + 0x38]
mov byte [esp + 0x78], 0
call fcn.0044f1c0
lea ecx, [esp + 0x2c]
mov dword [esp + 0x78], 0xffffffff
call fcn.004377b0
mov al, bl
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x68
ret
add eax, ebx
sub eax, edi
mov ebp, eax
push ebp
push edi
mov ecx, esi
call fcn.00448260
mov ecx, dword [esp + 0x18]
push ebp
mov bl, al
call fcn.00449c90
test bl, bl
jne 0x4f3b9a
mov ecx, dword [esp + 0xac]
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
push str.dbReceived.append_failed.
call edx
jmp 0x4f3b9a
mov ecx, esi
call fcn.0051d090
test eax, eax
je 0x4f3c16
push esi
mov ecx, edi
call fcn.0044bbb0
cmp byte [ebp + 0x121], 0
je 0x4f3c2e
mov eax, dword [ebp]
mov edx, dword [eax + 0x18]
push str.No_longer_connected.
mov ecx, ebp
call edx
mov ecx, dword [esp + 0xa8]
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
call edx
jmp 0x4f38ed
call fcn.0051d090
test eax, eax
je 0x4f3c54
mov ecx, dword [esp + 0x18]
push esi
call fcn.0044bbb0
mov ecx, dword [esp + 0xac]
cmp byte [ecx + 0x121], 0
je 0x4f38ed
mov eax, dword [ecx]
mov edx, dword [eax + 0x18]
push str.The_EOF_has_been_received_on_this_connection.
call edx
jmp 0x4f38ed
mov ebx, dword [esp + 0xac]
cmp byte [ebx + 0x121], 0
je 0x4f3cc9
mov ecx, esi
call fcn.0051d090
mov edi, eax
test edi, edi
jbe 0x4f3ca5
push edi
push str.nReceived
mov ecx, ebx
call fcn.004373b0
test edi, edi
je 0x4f3cc9
cmp edi, 0x7d0
jb 0x4f3cb4
mov edi, 0x7d0
push edi
mov ecx, esi
call fcn.00446f60
push eax
push str.receivedData
mov ecx, ebx
call fcn.00436d40
mov ecx, esi
call fcn.0051d090
test eax, eax
je 0x4f38ed
mov ecx, dword [esp + 0x18]
push esi
call fcn.0044bbb0
jmp 0x4f38ed
mov edi, dword [esp + 0x28]
mov ecx, esi
call fcn.00446f60
mov ecx, esi
mov dword [esp + 0x90], eax
add ebp, edi
call fcn.0051d090
mov edi, ebp
sub edi, dword [esp + 0x90]
mov ebx, eax
cmp ebx, edi
jbe 0x4f3d1e
mov ecx, dword [esp + 0x18]
sub eax, edi
push eax
push ebp
call fcn.00449b30
sub ebx, edi
push ebx
mov ecx, esi
call fcn.004471a0
lea ecx, [esp + 0x38]
call fcn.00550cd0
mov ebx, eax
test ebx, ebx
je 0x4f3dde
lea ecx, [esp + 0x54]
call fcn.00447240
push esi
lea ecx, [esp + 0x58]
mov byte [esp + 0x7c], 2
call fcn.00447d50
lea ecx, [esp + 0x54]
call fcn.0051d090
xor edi, edi
mov ebp, eax
test ebx, ebx
jle 0x4f3d80
push edi
lea ecx, [esp + 0x3c]
call fcn.0044e910
test eax, eax
je 0x4f3d7b
mov ecx, eax
call fcn.0051d090
add ebp, eax
inc edi
cmp edi, ebx
jl 0x4f3d64
add ebp, 0x20
push ebp
mov ecx, esi
call fcn.0044b660
xor ebp, ebp
test ebx, ebx
jle 0x4f3dc4
push ebp
lea ecx, [esp + 0x3c]
call fcn.0044e910
mov edi, eax
test edi, edi
je 0x4f3dbf
mov ecx, edi
call fcn.0051d090
push eax
mov ecx, edi
call fcn.00446f60
push eax
mov ecx, esi
call fcn.00448260
mov ecx, edi
call fcn.00447950
inc ebp
cmp ebp, ebx
jl 0x4f3d91
lea ecx, [esp + 0x54]
push ecx
mov ecx, esi
call fcn.00449d90
lea ecx, [esp + 0x54]
mov byte [esp + 0x78], 1
call fcn.004479b0
lea ecx, [esp + 0x38]
mov byte [esp + 0x78], 0
call fcn.0044f1c0
lea ecx, [esp + 0x2c]
mov dword [esp + 0x78], 0xffffffff
call fcn.004377b0
mov al, 1
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x68
ret
mov ecx, dword [esp + 0xac]
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
push str.Failed_to_receive_more_bytes.
call eax
jmp 0x4f3cc9