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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5a810e
mov eax, dword fs:[0]
push eax
sub esp, 0xd0
mov eax, dword [0x617960]
xor eax, esp
mov dword [esp + 0xc8], eax
push ebx
push esi
push edi
mov eax, dword [0x617960]
xor eax, esp
push eax
lea eax, [esp + 0xe0]
mov dword fs:[0], eax
mov dword [esp + 0x2c], ecx
mov eax, dword [ebp + 0x10]
xor edi, edi
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x14], esi
mov dword [esp + 0x38], eax
test edx, edx
jle 0x45ec87
mov ebx, dword [ebp + 8]
xor ecx, ecx
lea eax, [ecx + edi]
mov al, byte [eax + ebx]
cmp al, byte [ecx + 0x600494]
jne 0x45ec7e
inc ecx
cmp ecx, 4
jl 0x45ec02
test edi, edi
js 0x45ec87
lea esi, [edi + 1]
push esi
call fcn.0047e2e0
add esp, 4
mov dword [esp + 0x30], eax
push esi
push 0
push eax
call fcn.00495000
mov eax, dword [ebp + 0xc]
add esp, 0xc
mov esi, dword [esp + 0x14]
sub eax, edi
sub eax, 4
mov dword [esi], eax
test edi, edi
jle 0x45ec62
mov ecx, dword [esp + 0x30]
mov esi, ebx
sub esi, ecx
mov edx, edi
mov al, byte [esi + ecx]
lea ecx, [ecx + 1]
mov byte [ecx - 1], al
dec edx
jne 0x45ec52
mov esi, dword [esp + 0x14]
xor ecx, ecx
cmp dword [esi], ecx
jle 0x45ecc9
lea edx, [edi + ebx]
mov ebx, dword [esp + 0x18]
nop
mov al, byte [edx + ecx + 4]
mov byte [ebx + ecx], al
inc ecx
cmp ecx, dword [esi]
jl 0x45ec70
jmp 0x45eccd
inc edi
cmp edi, edx
jl 0x45ec00
mov ecx, dword [esp + 0x2c]
push 0x12
push str.unknown_http_head_
add ecx, 0xb0
call fcn.00437730
mov dword [esi], 0
mov ecx, dword [esp + 0xe0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xc8]
xor ecx, esp
call fcn.0049355b
mov esp, ebp
pop ebp
ret 0x18
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xa4], 0xf
mov dword [esp + 0xa0], 0
mov byte [esp + 0x90], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0x80], 0xf
mov dword [esp + 0x7c], 0
mov byte [esp + 0x6c], 0
mov dword [esp + 0x68], 0xf
mov dword [esp + 0x64], 0
mov byte [esp + 0x54], 0
xorps xmm0, xmm0
mov dword [esp + 0x8c], 0
movq qword [esp + 0x84], xmm0
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
sub esp, 0x18
mov byte [esp + 0x100], 3
mov ecx, esp
mov dword [esp + 0x34], esp
push 2
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push 0x6003b8
mov byte [ecx], 0
call fcn.00437730
mov eax, dword [esp + 0x48]
sub esp, 0x18
mov edx, esp
mov byte [esp + 0x118], 4
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
mov byte [edx], 0
cmp byte [eax], 0
jne 0x45edb4
xor ecx, ecx
jmp 0x45edcd
mov ecx, eax
lea edi, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45edc0
mov eax, dword [esp + 0x60]
sub ecx, edi
push ecx
push eax
mov ecx, edx
call fcn.00437730
lea ecx, [esp + 0xb4]
mov byte [esp + 0x118], 3
call fcn.00443910
mov ecx, dword [esp + 0xb8]
mov eax, 0x2aaaaaab
mov edi, dword [esp + 0xb4]
add esp, 0x30
sub ecx, edi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x28], eax
test eax, eax
jle 0x45f52f
jne 0x45ee26
push str.invalid_vector_T__subscript
call fcn.004b3f06
lea eax, [esp + 0x90]
cmp eax, edi
je 0x45ee3d
push 0xffffffffffffffff
push 0
push edi
mov ecx, eax
call fcn.004373c0
push 0xffffffffffffffff
push 0
lea eax, [esp + 0x98]
push eax
lea ecx, [esp + 0x78]
call fcn.004373c0
mov esi, dword [esp + 0x80]
lea eax, [esp + 0x6c]
mov edx, dword [esp + 0x6c]
lea ecx, [esp + 0x6c]
cmp esi, 0x10
cmovae eax, edx
cmovae ecx, edx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x7c]
add eax, ecx
cmp esi, 0x10
lea ecx, [esp + 0x6c]
cmovae ecx, edx
cmp ecx, eax
je 0x45eebd
mov edi, eax
xor edx, edx
sub edi, ecx
xor esi, esi
cmp ecx, eax
cmova edi, edx
test edi, edi
je 0x45eebd
mov ebx, ecx
lea esp, [esp]
movsx eax, byte [ebx + esi]
push eax
call fcn.0049c840
mov ecx, dword [esp + 0x20]
add esp, 4
mov byte [ecx + esi], al
inc esi
cmp esi, edi
jne 0x45eea0
mov ebx, dword [esp + 0x18]
push 6
push ecx
push str.200_ok
lea ecx, [esp + 0x78]
call fcn.00440020
test eax, eax
js 0x45f12b
mov ecx, dword [esp + 0x28]
mov edi, 1
mov dword [esp + 0x18], edi
cmp ecx, edi
jbe 0x45f54b
mov eax, dword [esp + 0x84]
add eax, 0x18
mov dword [esp + 0x14], eax
cmp ecx, edi
jbe 0x45ee1c
lea ecx, [esp + 0x90]
cmp ecx, eax
je 0x45ef16
push 0xffffffffffffffff
push 0
push eax
call fcn.004373c0
push 0xffffffffffffffff
push 0
lea eax, [esp + 0x98]
push eax
lea ecx, [esp + 0x78]
call fcn.004373c0
mov esi, dword [esp + 0x80]
lea eax, [esp + 0x6c]
mov edx, dword [esp + 0x6c]
lea ecx, [esp + 0x6c]
cmp esi, 0x10
lea ebx, [esp + 0x6c]
cmovae eax, edx
cmovae ecx, edx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x7c]
add eax, ecx
cmp esi, 0x10
cmovae ebx, edx
cmp ebx, eax
je 0x45ef8d
mov edi, eax
xor ecx, ecx
sub edi, ebx
xor esi, esi
cmp ebx, eax
cmova edi, ecx
test edi, edi
je 0x45ef89
movsx eax, byte [ebx + esi]
push eax
call fcn.0049c840
mov ecx, dword [esp + 0x20]
add esp, 4
mov byte [ecx + esi], al
inc esi
cmp esi, edi
jne 0x45ef70
mov edi, dword [esp + 0x18]
push 0xf
push ecx
push str.content_length:
lea ecx, [esp + 0x78]
call fcn.00440020
test eax, eax
js 0x45f100
push 1
push ecx
push str.:._:
lea ecx, [esp + 0x9c]
call fcn.00440020
push 0xffffffffffffffff
inc eax
lea ecx, [esp + 0x94]
push eax
lea eax, [esp + 0xc8]
push eax
call fcn.004369e0
mov esi, eax
lea eax, [esp + 0x54]
cmp eax, esi
je 0x45f04c
cmp dword [esp + 0x68], 0x10
jb 0x45efef
push dword [esp + 0x54]
call fcn.0047e2e9
add esp, 4
mov dword [esp + 0x68], 0xf
mov dword [esp + 0x64], 0
mov byte [esp + 0x54], 0
cmp dword [esi + 0x14], 0x10
jae 0x45f021
mov eax, dword [esi + 0x10]
inc eax
je 0x45f02d
push eax
lea eax, [esp + 0x58]
push esi
push eax
call fcn.00493570
add esp, 0xc
jmp 0x45f02d
mov eax, dword [esi]
mov dword [esp + 0x54], eax
mov dword [esi], 0
mov eax, dword [esi + 0x10]
mov dword [esp + 0x64], eax
mov eax, dword [esi + 0x14]
mov dword [esp + 0x68], eax
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], 0
mov byte [esi], 0
cmp dword [esp + 0xd4], 0x10
jb 0x45f065
push dword [esp + 0xc0]
call fcn.0047e2e9
add esp, 4
cmp dword [esp + 0x64], 0
je 0x45f0d5
push 1
sub esp, 8
lea ecx, [esp + 0x60]
call fcn.00445310
push eax
push 0
lea ecx, [esp + 0x5c]
call fcn.00437310
push 1
sub esp, 8
lea ecx, [esp + 0x60]
call fcn.004453a0
inc eax
cmp dword [esp + 0x64], eax
jb 0x45f121
cmp dword [esp + 0x68], 0x10
lea ecx, [esp + 0x54]
mov dword [esp + 0x64], eax
cmovae ecx, dword [esp + 0x54]
mov byte [eax + ecx], 0
cmp dword [esp + 0x64], 0
je 0x45f0d5
cmp dword [esp + 0x68], 0x10
lea eax, [esp + 0x54]
cmovae eax, dword [esp + 0x54]
push eax
call fcn.00493e78
add esp, 4
jmp 0x45f0e6
xorps xmm0, xmm0
movlpd qword [esp + 0x1c], xmm0
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
mov dword [ecx], eax
mov eax, dword [esp + 0x38]
mov dword [ecx + 4], edx
mov dword [eax], 0
mov dword [eax + 4], 0
mov eax, dword [esp + 0x14]
inc edi
mov ecx, dword [esp + 0x28]
add eax, 0x18
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], eax
cmp ecx, edi
ja 0x45ef01
jmp 0x45f54b
push str.invalid_string_position
call fcn.004b3f06
push 0x13
push ecx
push str.206_partial_content
lea ecx, [esp + 0x78]
call fcn.00440020
test eax, eax
jns 0x45f187
push 6
push ecx
push str.206_ok
lea ecx, [esp + 0x78]
call fcn.00440020
test eax, eax
jns 0x45f187
cmp dword [esp + 0xa4], 0x10
lea ecx, [esp + 0x90]
cmovae ecx, dword [esp + 0x90]
lea esp, [esp]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ebx], al
lea ebx, [ebx + 1]
test al, al
jne 0x45f170
mov esi, dword [esp + 0x14]
jmp 0x45f545
mov ecx, dword [esp + 0x28]
mov edi, 1
mov dword [esp + 0x14], edi
cmp ecx, edi
jbe 0x45f54b
mov eax, dword [esp + 0x84]
add eax, 0x18
mov dword [esp + 0x18], eax
cmp ecx, edi
jbe 0x45ee1c
lea ecx, [esp + 0x90]
cmp ecx, eax
je 0x45f1c7
push 0xffffffffffffffff
push 0
push eax
call fcn.004373c0
push 0xffffffffffffffff
push 0
lea eax, [esp + 0x98]
push eax
lea ecx, [esp + 0x78]
call fcn.004373c0
mov esi, dword [esp + 0x80]
lea eax, [esp + 0x6c]
mov edx, dword [esp + 0x6c]
lea ecx, [esp + 0x6c]
cmp esi, 0x10
lea ebx, [esp + 0x6c]
cmovae eax, edx
cmovae ecx, edx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x7c]
add eax, ecx
cmp esi, 0x10
cmovae ebx, edx
cmp ebx, eax
je 0x45f23e
mov edi, eax
xor ecx, ecx
sub edi, ebx
xor esi, esi
cmp ebx, eax
cmova edi, ecx
test edi, edi
je 0x45f23a
movsx eax, byte [ebx + esi]
push eax
call fcn.0049c840
mov ecx, dword [esp + 0x20]
add esp, 4
mov byte [ecx + esi], al
inc esi
cmp esi, edi
jne 0x45f221
mov edi, dword [esp + 0x14]
push 0xe
push ecx
push str.content_range:
lea ecx, [esp + 0x78]
call fcn.00440020
test eax, eax
js 0x45f511
push 0xffffffffffffffff
add eax, 0xe
lea ecx, [esp + 0x94]
push eax
lea eax, [esp + 0xc8]
push eax
call fcn.004369e0
push 1
push ecx
push 0x5ffabc
lea ecx, [esp + 0xcc]
mov byte [esp + 0xf4], 5
call fcn.00440020
push 0xffffffffffffffff
inc eax
lea ecx, [esp + 0xc4]
push eax
lea eax, [esp + 0x44]
push eax
call fcn.004369e0
mov esi, eax
lea eax, [esp + 0x54]
cmp eax, esi
je 0x45f31c
cmp dword [esp + 0x68], 0x10
jb 0x45f2bf
push dword [esp + 0x54]
call fcn.0047e2e9
add esp, 4
mov dword [esp + 0x68], 0xf
mov dword [esp + 0x64], 0
mov byte [esp + 0x54], 0
cmp dword [esi + 0x14], 0x10
jae 0x45f2f1
mov eax, dword [esi + 0x10]
inc eax
je 0x45f2fd
push eax
lea eax, [esp + 0x58]
push esi
push eax
call fcn.00493570
add esp, 0xc
jmp 0x45f2fd
mov eax, dword [esi]
mov dword [esp + 0x54], eax
mov dword [esi], 0
mov eax, dword [esi + 0x10]
mov dword [esp + 0x64], eax
mov eax, dword [esi + 0x14]
mov dword [esp + 0x68], eax
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], 0
mov byte [esi], 0
cmp dword [esp + 0x50], 0x10
jb 0x45f32f
push dword [esp + 0x3c]
call fcn.0047e2e9
add esp, 4
cmp dword [esp + 0x64], 0
je 0x45f39f
push 1
sub esp, 8
lea ecx, [esp + 0x60]
call fcn.00445310
push eax
push 0
lea ecx, [esp + 0x5c]
call fcn.00437310
push 1
sub esp, 8
lea ecx, [esp + 0x60]
call fcn.004453a0
inc eax
cmp dword [esp + 0x64], eax
jb 0x45f121
cmp dword [esp + 0x68], 0x10
lea ecx, [esp + 0x54]
mov dword [esp + 0x64], eax
cmovae ecx, dword [esp + 0x54]
mov byte [ecx + eax], 0
cmp dword [esp + 0x64], 0
je 0x45f39f
cmp dword [esp + 0x68], 0x10
lea eax, [esp + 0x54]
cmovae eax, dword [esp + 0x54]
push eax
call fcn.00493e78
add esp, 4
jmp 0x45f3b0
xorps xmm0, xmm0
movlpd qword [esp + 0x1c], xmm0
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
push 5
push ecx
push str.bytes
mov dword [ecx], eax
mov dword [ecx + 4], edx
lea ecx, [esp + 0xcc]
call fcn.00440020
push 1
push ecx
push 0x600580
lea ecx, [esp + 0xcc]
lea esi, [eax + 5]
call fcn.00440020
sub eax, esi
lea ecx, [esp + 0xc0]
push eax
push esi
lea eax, [esp + 0xb0]
push eax
call fcn.004369e0
mov byte [esp + 0xe8], 6
cmp dword [esp + 0xb8], 0
je 0x45f49f
push 1
sub esp, 8
lea ecx, [esp + 0xb4]
call fcn.00445310
push eax
push 0
lea ecx, [esp + 0xb0]
call fcn.00437310
push 1
sub esp, 8
lea ecx, [esp + 0xb4]
call fcn.004453a0
inc eax
cmp dword [esp + 0xb8], eax
jb 0x45f121
cmp dword [esp + 0xbc], 0x10
lea ecx, [esp + 0xa8]
mov dword [esp + 0xb8], eax
cmovae ecx, dword [esp + 0xa8]
mov byte [ecx + eax], 0
cmp dword [esp + 0xb8], 0
je 0x45f49f
cmp dword [esp + 0xbc], 0x10
lea eax, [esp + 0xa8]
cmovae eax, dword [esp + 0xa8]
push eax
call fcn.00493e78
add esp, 4
jmp 0x45f4b0
xorps xmm0, xmm0
movlpd qword [esp + 0x1c], xmm0
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0xbc], 0x10
mov ecx, dword [esp + 0x38]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jb 0x45f4d2
push dword [esp + 0xa8]
call fcn.0047e2e9
add esp, 4
mov byte [esp + 0xe8], 3
cmp dword [esp + 0xd4], 0x10
mov dword [esp + 0xbc], 0xf
mov dword [esp + 0xb8], 0
mov byte [esp + 0xa8], 0
jb 0x45f511
push dword [esp + 0xc0]
call fcn.0047e2e9
add esp, 4
mov eax, dword [esp + 0x18]
inc edi
mov ecx, dword [esp + 0x28]
add eax, 0x18
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], eax
cmp ecx, edi
ja 0x45f1b2
jmp 0x45f54b
mov ecx, dword [esp + 0x2c]
push 0x13
push str.http_head_is_null__
add ecx, 0xb0
call fcn.00437730
mov dword [esi], 0
mov eax, dword [esp + 0x30]
push eax
call fcn.0047e2e9
mov ebx, dword [esp + 0x88]
add esp, 4
test ebx, ebx
je 0x45f5a1
mov edi, dword [esp + 0x88]
mov esi, ebx
cmp ebx, edi
je 0x45f598
cmp dword [esi + 0x14], 0x10
jb 0x45f580
push dword [esi]
call fcn.0047e2e9
add esp, 4
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], 0
mov byte [esi], 0
add esi, 0x18
cmp esi, edi
jne 0x45f570
push ebx
call fcn.0047e2e9
add esp, 4
cmp dword [esp + 0x68], 0x10
jb 0x45f5b4
push dword [esp + 0x54]
call fcn.0047e2e9
add esp, 4
cmp dword [esp + 0x80], 0x10
mov dword [esp + 0x68], 0xf
mov dword [esp + 0x64], 0
mov byte [esp + 0x54], 0
jb 0x45f5df
push dword [esp + 0x6c]
call fcn.0047e2e9
add esp, 4
cmp dword [esp + 0xa4], 0x10
mov dword [esp + 0x80], 0xf
mov dword [esp + 0x7c], 0
mov byte [esp + 0x6c], 0
jb 0x45eca3
push dword [esp + 0x90]
call fcn.0047e2e9
add esp, 4
jmp 0x45eca3