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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x88
mov edi, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov ecx, dword [ebp + 0x1c]
mov ebx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x14]
mov eax, dword [edi]
xor eax, 3
or eax, dword [edi + 4]
mov eax, dword [ebp + 0x10]
jne 0x49ee85
mov eax, dword [0x57407c]
mov eax, dword [eax]
cmp eax, 5
jb 0x49e9de
mov dword [esp + 0x3c], str.Try_read_request
mov dword [esp + 0x40], 1
mov dword [esp + 0x34], 0
mov dword [esp + 0x44], str.Try_read_request
mov dword [esp + 0x48], 0
sub esp, 4
lea eax, [esp + 0x38]
push 0
push 0x28
push 0x52b55c
push 5
push eax
call fcn.004bc640
add esp, 0x18
mov esi, dword [ebp + 0x1c]
lea edx, [ebx + 3]
and edx, 0xfffffffc
mov ecx, edx
sub ecx, ebx
mov ebx, 0x64
mov eax, esi
sub eax, ecx
shr eax, 4
cmp eax, 0x64
cmovb ebx, eax
xor eax, eax
cmp esi, ecx
mov ecx, 0x52bb58
cmovae eax, ebx
cmovae ecx, edx
test eax, eax
je 0x49ea41
movsd xmm0, qword [0x52b9a4]
movsd xmm1, qword [0x52b99c]
mov edx, eax
mov ebx, ecx
shl edx, 4
nop word [eax + eax]
movsd qword [ebx + 8], xmm0
movsd qword [ebx], xmm1
add ebx, 0x10
add edx, 0xfffffff0
jne 0x49ea30
mov dword [esp + 0x34], 0
mov dword [esp + 0x3c], 0
mov byte [esp + 0x4c], 0
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], eax
lea eax, [esp + 0x34]
lea ebx, [esp + 0x10]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push ebx
call fcn.004a0ea0
add esp, 0x10
mov eax, dword [esp + 0x10]
cmp eax, 2
je 0x49eafb
mov ecx, dword [esp + 0x14]
mov esi, dword [ebp + 8]
test eax, eax
je 0x49eb07
cmp eax, 1
jne 0x49ed00
mov eax, dword [0x57407c]
mov eax, dword [eax]
cmp eax, 5
jb 0x49eade
mov dword [esp + 0x18], str.Read_partial_requestt
mov dword [esp + 0x1c], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0x20], str.Try_read_request
mov dword [esp + 0x24], 0
sub esp, 4
push 0
push 0x37
push 0x52b55c
push 5
push ebx
call fcn.004bc640
add esp, 0x18
mov dword [esi + 8], 0
mov dword [esi], str.Read_body
mov dword [esi + 4], 0
mov byte [esi + 0xc], 0
jmp 0x49ee93
movzx ecx, byte [esp + 0x14]
mov esi, dword [ebp + 8]
test eax, eax
jne 0x49ea8a
mov eax, dword [esp + 0x34]
mov dword [esp + 0x78], ecx
test eax, eax
je 0x49ee9d
push dword [esp + 0x38]
push eax
call fcn.0049f020
add esp, 8
mov ebx, edx
test al, 1
jne 0x49ed0c
mov eax, dword [esp + 0x3c]
mov byte [esp + 0xb], bl
mov byte [edi + 0x48], bl
test eax, eax
je 0x49ee9d
cmp byte [esp + 0x4c], 0
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ecx
je 0x49ee9d
mov bh, byte [esp + 0x4d]
mov eax, 0x1c
cmp bh, 2
jae 0x49ed0f
mov eax, dword [0x57407c]
mov byte [esp + 3], bh
mov byte [edi + 0x49], bh
mov eax, dword [eax]
cmp eax, 5
jb 0x49ebf7
lea eax, [esp + 0xb]
mov dword [esp + 0x68], 0x52b5a8
mov dword [esp + 0x6c], 3
mov dword [esp + 0x60], 0
mov dword [esp + 0x10], eax
lea eax, [esp + 0x7c]
mov dword [esp + 0x14], 0x49f1b0
mov dword [esp + 0x18], eax
lea eax, [esp + 3]
mov dword [esp + 0x1c], 0x404150
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
mov dword [esp + 0x24], 0x49f150
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], 3
sub esp, 4
lea eax, [esp + 0x64]
push 0
push 0x48
push 0x52b55c
push 5
push eax
call fcn.004bc640
add esp, 0x18
mov bh, byte [esp + 3]
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
mov ecx, dword [0x57407c]
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], eax
mov ecx, dword [ecx]
cmp ecx, 4
jbe 0x49ec6f
lea eax, [esp + 0x58]
mov dword [esp + 0x18], 0x52b5cc
mov dword [esp + 0x1c], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0x60], eax
lea eax, [esp + 0x60]
mov dword [esp + 0x64], 0x4a0020
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 1
sub esp, 4
push 0
push 0x4f
push 0x52b55c
push 5
lea eax, [esp + 0x24]
push eax
call fcn.004bc640
add esp, 0x18
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x5c]
cmp bl, 8
mov dword [esp + 0xc], 0
ja 0x49ed22
mov dword [esp + 0x28], edx
movzx ecx, bl
mov edx, 0x10c
mov dword [esp + 4], 0
bt edx, ecx
mov ecx, 0
mov edx, 0
jae 0x49ed3a
xor edx, edx
test bh, bh
lea ecx, [esp + 0x10]
sete dl
push eax
push dword [esp + 0x2c]
call fcn.0049f5f0
add esp, 8
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, ebx
mov dword [esp + 0x28], edx
xor ecx, 3
mov eax, ecx
or eax, edx
mov edx, dword [esp + 0x18]
movzx eax, byte [esp + 0x18]
mov dword [esp + 0xc], edx
cmovne eax, edx
mov dh, bl
and dh, 3
cmp dh, 2
je 0x49ed1a
cmp ebx, 3
je 0x49ecfb
mov edx, dword [esp + 0x28]
or ecx, edx
jne 0x49ed30
movzx eax, al
jmp 0x49ed0f
movsx eax, cl
mov eax, dword [eax*4 + str._t_n_f_ve_r]
jmp 0x49ed0f
movzx eax, bl
mov byte [esi], al
mov byte [esi + 0xc], 2
jmp 0x49ee93
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0
xor ecx, ecx
xor edx, edx
jmp 0x49ed3a
mov eax, dword [esp + 0x1c]
mov ecx, ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 4]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], edx
mov dword [edi], ecx
mov dword [edi + 4], edx
mov dword [esp + 0x68], eax
mov dword [edi + 8], eax
mov eax, dword [0x57407c]
mov dword [esp + 0x6c], ebx
mov dword [edi + 0xc], ebx
mov eax, dword [eax]
cmp eax, 4
jbe 0x49edc8
lea eax, [esp + 0x60]
mov dword [esp + 0x18], 0x52b5e0
mov dword [esp + 0x1c], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x2c]
mov dword [esp + 0x30], 0x49f7f0
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 1
sub esp, 4
push 0
push 0x53
push 0x52b55c
push 5
lea eax, [esp + 0x24]
push eax
mov dword [esp + 0x40], edx
mov ebx, ecx
call fcn.004bc640
mov edx, dword [esp + 0x40]
mov ecx, ebx
add esp, 0x18
or ecx, edx
mov ebx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp + 0x14]
jne 0x49ee77
mov eax, dword [esp + 0xc]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x54], eax
mov eax, dword [0x57407c]
mov eax, dword [eax]
cmp eax, 4
jbe 0x49ee5e
lea eax, [esp + 0x50]
mov dword [esp + 0x18], 0x52b604
mov dword [esp + 0x1c], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x2c]
mov dword [esp + 0x30], fcn.004d9540
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 1
sub esp, 4
push 0
push 0x57
push 0x52b55c
push 5
lea eax, [esp + 0x24]
push eax
call fcn.004bc640
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x1c]
add esp, 0x18
mov eax, dword [esp + 0x50]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
movaps xmm0, xmmword [0x52b4d0]
mov eax, dword [esp + 0xc]
movups xmmword [edi + 0x30], xmm0
mov dword [edi + 0x40], eax
mov eax, dword [esp + 4]
mov dword [edi + 0x44], eax
cmp dword [esp + 0x78], 0
mov eax, dword [ebp + 0x10]
je 0x49eade
push ecx
push ebx
push edx
push eax
push edi
push esi
call fcn.0049f2d0
add esp, 0x18
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
ud2