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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x150
mov edi, edx
call 0x47f08a
pop eax
mov dword [esp + 0x3c], eax
cmp byte [ecx + 0xa2], 2
je 0x47f09f
mov byte [ecx + 0xa2], 1
cmp byte [ecx + 0xa3], 1
mov dword [esp + 4], ecx
jne 0x47f1bc
movups xmm0, xmmword [0x4f742c]
lea ebx, [esp + 0xb0]
movaps xmmword [ebx], xmm0
mov ecx, edi
mov edx, ebx
call fcn.00417d7d
mov ecx, dword [esp + 4]
test eax, eax
je 0x47f0f3
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
push 0xa
push str.keep_aliveHTTP_1.1_100_Continue_r_n_r_ninternal_error:_entered_unreachable_code:_poll_read_body_invalid_state:
call fcn.00423f98
mov ecx, dword [esp + 0xc]
add esp, 8
test al, al
jne 0x47f1b5
movzx eax, byte [edi + 0x84]
cmp eax, 2
je 0x47f114
cmp eax, 1
jne 0x47f1b5
mov byte [ecx + 0xa2], 2
jmp 0x47f1b5
cmp byte [ecx + 0xa2], 2
je 0x47f1b5
mov eax, 0xfffffff6
mov cl, byte [eax + 0x4f7446]
cmp cl, 9
je 0x47f13d
add cl, 0xe0
cmp cl, 0x5f
jae 0x47ff2c
inc eax
jne 0x47f126
mov dword [esp + 0xb0], 0x4f738c
mov dword [esp + 0xb4], str.keep_aliveHTTP_1.1_100_Continue_r_n_r_ninternal_error:_entered_unreachable_code:_poll_read_body_invalid_state:
mov dword [esp + 0xb8], 0xa
mov dword [esp + 0xbc], 0
mov byte [esp + 0xc0], 0
lea eax, [esp + 0x90]
movups xmm0, xmmword [0x4f742c]
movaps xmmword [eax], xmm0
lea esi, [esp + 0x40]
mov ecx, esi
mov edx, edi
push ebx
push eax
call fcn.00426084
add esp, 8
cmp byte [esi + 0x10], 2
je 0x47f1b1
lea eax, [esp + 0x4c]
mov ecx, dword [eax - 0xc]
push dword [eax - 4]
push dword [eax - 8]
push eax
call dword [ecx + 8]
add esp, 0xc
mov ecx, dword [esp + 4]
mov byte [edi + 0x84], 1
mov al, byte [ecx + 0x9f]
mov byte [esp + 0x13], al
mov dword [esp + 0xb8], 2
mov dword [esp + 0xc8], 0
movzx ebx, byte [edi + 0x6c]
cmp ebx, 9
mov dword [esp + 8], edi
jae 0x47f457
mov al, byte [esp + 0x42]
mov byte [esp + 0x92], al
movzx eax, word [esp + 0x40]
mov word [esp + 0x90], ax
mov al, byte [ecx + 0x80]
cmp al, 0xb
je 0x47f24a
cmp al, 0xa
jb 0x47f24a
cmp dword [ecx + 0x88], 0
je 0x47f24a
push dword [ecx + 0x84]
push 0
push dword [0x530ac8]
mov dword [esp + 0x20], edi
mov edi, edx
mov dword [esp + 0x24], esi
mov esi, ebx
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov esi, dword [esp + 0x18]
mov edx, edi
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 4]
mov byte [ecx + 0x80], bl
movzx eax, word [esp + 0x90]
mov word [ecx + 0x81], ax
mov al, byte [esp + 0x92]
mov byte [ecx + 0x83], al
mov dword [ecx + 0x84], esi
mov dword [ecx + 0x88], edx
mov dword [ecx + 0x8c], edi
mov eax, dword [ebp + 8]
xor eax, 2
or eax, dword [ebp + 0xc]
mov al, byte [esp + 0xc]
mov byte [ecx + 0x90], al
jne 0x47f2ef
movups xmm0, xmmword [0x4e2fcc]
lea eax, [esp + 0x90]
movaps xmmword [eax], xmm0
lea esi, [esp + 0x40]
mov ecx, esi
mov edi, dword [esp + 8]
mov edx, edi
push eax
call fcn.004265de
add esp, 4
cmp byte [esi + 0x10], 2
je 0x47f2d3
lea eax, [esp + 0x4c]
mov ecx, dword [eax - 0xc]
push dword [eax - 4]
push dword [eax - 8]
push eax
call dword [ecx + 8]
add esp, 0xc
movdqa xmm0, xmmword [0x4d0850]
movdqu xmmword [esp + 0x20], xmm0
mov byte [esp + 0x30], 0
mov edx, dword [esp + 4]
jmp 0x47f8bd
mov edi, dword [esp + 8]
mov bl, byte [edi + 0x84]
lea esi, [esp + 0x120]
mov ecx, esi
mov edx, edi
call fcn.0042419c
mov eax, dword [esi]
mov dword [esp + 0xc], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 8]
mov dword [esp + 0x1c], eax
movdqu xmm0, xmmword [0x4e2fcc]
cmp bl, 2
jne 0x47f3e2
lea eax, [esp + 0x40]
movdqa xmmword [eax], xmm0
lea esi, [esp + 0x90]
mov ecx, esi
mov edx, edi
push eax
call fcn.00425e98
add esp, 4
cmp byte [esi + 0x1a], 2
jne 0x47f482
mov edi, dword [esp + 0x90]
mov esi, dword [esp + 0x98]
mov edx, dword [edi + 0x28]
cmp edx, esi
jbe 0x47ff0a
mov ecx, dword [edi + 0x24]
imul ebx, esi, 0x34
xor eax, eax
cmp dword [ecx + ebx], 0
mov edx, dword [ecx + ebx + 8]
setne al
lea ecx, [esp + 0x40]
mov dword [ecx + 0x10], edi
mov dword [ecx + 0x14], esi
mov dword [ecx], 0
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], edx
call fcn.004246fb
test al, al
jne 0x47f847
mov edx, dword [edi + 0x28]
cmp edx, esi
jbe 0x47ff16
mov eax, dword [edi + 0x24]
cmp dword [eax + ebx], 0
je 0x47f5c7
mov ecx, dword [eax + ebx + 8]
mov edx, dword [edi + 0x34]
cmp edx, ecx
jbe 0x47ff22
mov eax, dword [edi + 0x30]
lea ecx, [ecx + ecx*8]
lea ebx, [eax + ecx*4]
add ebx, 0x10
jmp 0x47f5cc
lea eax, [esp + 0x90]
movdqa xmmword [eax], xmm0
lea esi, [esp + 0x40]
mov ecx, esi
mov edx, edi
push eax
call fcn.004265de
add esp, 4
cmp byte [esi + 0x10], 2
je 0x47f418
lea eax, [esp + 0x4c]
mov ecx, dword [eax - 0xc]
push dword [eax - 4]
push dword [eax - 8]
push eax
call dword [ecx + 8]
add esp, 0xc
mov edx, dword [esp + 4]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov ebx, dword [esp + 0x14]
or eax, ecx
je 0x47f4dd
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ebx
jmp 0x47f4f3
jne 0x47f501
mov al, byte [edi + 0x7c]
mov byte [esp + 0xc], al
mov al, byte [edi + 0x6f]
mov byte [esp + 0x42], al
movzx eax, word [edi + 0x6d]
mov word [esp + 0x40], ax
mov esi, dword [edi + 0x70]
mov edx, dword [edi + 0x74]
mov edi, dword [edi + 0x78]
jmp 0x47f1ed
movdqu xmm0, xmmword [esp + 0x90]
movdqu xmm1, xmmword [esp + 0x9c]
movdqu xmmword [esp + 0x4c], xmm1
movdqa xmmword [esp + 0x40], xmm0
mov eax, dword [esp + 0x18]
or dword [esp + 0xc], eax
je 0x47f517
mov eax, dword [esp + 0x44]
test eax, eax
je 0x47f4c3
lea ecx, [esp + 0x50]
push dword [ecx - 4]
push dword [ecx - 8]
push ecx
call dword [eax + 8]
add esp, 0xc
xor ecx, ecx
xor eax, eax
inc eax
mov edx, dword [esp + 4]
mov edi, dword [esp + 8]
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
jmp 0x47f898
or edi, esi
je 0x47f570
movdqa xmm0, xmmword [0x4d0850]
movdqu xmmword [esp + 0x20], xmm0
mov byte [esp + 0x30], 0
mov edi, dword [esp + 8]
jmp 0x47f8bd
mov ecx, dword [edi + 0x70]
mov edx, dword [edi + 0x74]
call fcn.00413c08
mov esi, eax
mov ecx, dword [esp + 4]
jmp 0x47f1ed
mov eax, dword [ebp + 8]
xor eax, 1
or eax, dword [ebp + 0xc]
mov edx, dword [esp + 4]
jne 0x47f591
mov edi, dword [esp + 8]
movzx eax, byte [edi + 0x6c]
cmp eax, 7
ja 0x47fee4
mov ecx, 0xa2
bt ecx, eax
jae 0x47fee4
mov eax, dword [esp + 0x44]
test eax, eax
je 0x47f562
lea ecx, [esp + 0x50]
push dword [ecx - 4]
push dword [ecx - 8]
push ecx
call dword [eax + 8]
mov edx, dword [esp + 0x10]
add esp, 0xc
xor ecx, ecx
xor eax, eax
inc eax
xor esi, esi
xor ebx, ebx
jmp 0x47f898
lea ecx, [esp + 0x20]
mov edi, dword [esp + 8]
mov edx, edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
call fcn.00424982
mov edx, dword [esp + 0xc]
add esp, 8
jmp 0x47f8bd
mov eax, dword [esp + 0x44]
test eax, eax
mov edi, dword [esp + 8]
je 0x47f5ae
lea ecx, [esp + 0x50]
push dword [ecx - 4]
push dword [ecx - 8]
push ecx
call dword [eax + 8]
add esp, 0xc
lea ecx, [esp + 0x20]
mov edx, edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
call fcn.00424982
add esp, 8
jmp 0x47f2e6
add ebx, eax
add ebx, 0xc
mov ecx, dword [ebx + 8]
add ecx, 9
call fcn.0043d93f
mov edi, eax
shr edi, 0xa
mov ecx, 0x20
mov esi, 0x20
je 0x47f5ee
bsr esi, edi
xor esi, 0x1f
sub ecx, esi
cmp ecx, 7
mov esi, 7
cmovb esi, ecx
lea ecx, [esi*4 + 1]
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], ecx
mov ecx, ebx
mov ebx, dword [ebx + 4]
mov dword [esp + 0x14], ecx
mov esi, dword [ecx + 8]
xor ecx, ecx
cmp eax, esi
jae 0x47f63a
lea edi, [esp + 0x64]
mov ecx, edi
mov edx, esi
call fcn.004024f2
mov edx, dword [edi]
mov ecx, dword [edi + 4]
add edx, ecx
lea edi, [esp + 0x6c]
push esi
push ebx
push edx
call fcn.004b64b0
add esp, 0xc
add esi, dword [edi - 4]
mov dword [esp + 0x74], esi
mov eax, dword [edi]
sub eax, esi
jb 0x47ff75
mov dword [esp + 0x68], esi
cmp eax, 1
ja 0x47f678
lea esi, [esp + 0x64]
mov ecx, esi
mov edx, 2
call fcn.004024f2
mov esi, dword [esi + 4]
mov eax, dword [esp + 0x64]
mov word [eax + esi], 0x202c
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
add eax, 2
mov dword [esp + 0x74], eax
sub ecx, eax
jb 0x47ff75
mov dword [esp + 0x68], eax
cmp ecx, 6
ja 0x47f6b5
lea esi, [esp + 0x64]
mov ecx, esi
mov edx, 7
call fcn.004024f2
mov eax, dword [esi + 4]
mov ecx, dword [esp + 0x64]
mov dword [ecx + eax + 3], 0x64656b6e
mov dword [ecx + eax], 0x6e756863
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
add eax, 7
mov dword [esp + 0x74], eax
cmp eax, ecx
ja 0x47ff75
mov dword [esp + 0x68], eax
mov esi, dword [esp + 0x64]
mov ebx, dword [esp + 0x70]
test bl, 1
jne 0x47f711
lea ecx, [esp + 0x24]
mov dword [ecx], esi
mov dword [ecx + 4], eax
lea eax, [esp + 0x2c]
mov dword [eax], ebx
mov dword [esp + 0x1c], eax
mov dword [eax - 0xc], 0
mov esi, 0x4fe394
jmp 0x47f77f
shr ebx, 5
sub esi, ebx
add eax, ebx
add ecx, ebx
lea edx, [esp + 0x104]
mov dword [edx], ecx
mov dword [edx + 4], esi
mov dword [edx + 8], eax
lea esi, [esp + 0x74]
mov ecx, esi
call fcn.00402b13
mov dword [esp + 0x8c], ebx
mov eax, dword [esi + 8]
mov ecx, eax
sub ecx, ebx
jb 0x47ffc7
add ebx, dword [esp + 0x78]
mov esi, dword [esp + 0x74]
mov edx, dword [esp + 0x80]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x20], 0
test esi, esi
je 0x480014
lea ecx, [esp + 0x24]
lea eax, [esp + 0x2c]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x40], esi
movsd xmm0, qword [ecx]
movsd qword [esp + 0x44], xmm0
mov ecx, dword [ecx + 8]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
xor edi, edi
cmp edx, edi
je 0x47f7fd
mov al, byte [ecx + edi]
cmp al, 0x20
setae bl
cmp al, 0x7f
setne bh
inc edi
cmp al, 9
je 0x47f79e
and bl, bh
jne 0x47f79e
lea eax, [esp + 0x4c]
push edx
push ecx
push eax
call dword [esi + 8]
add esp, 0xc
mov eax, dword [esp + 0x20]
test eax, eax
je 0x47f7df
push dword [esp + 0x28]
push dword [esp + 0x28]
push dword [esp + 0x24]
call dword [eax + 8]
add esp, 0xc
lea eax, [esp + 0x20]
mov ecx, 0x4e2fe3
mov edx, 0x29
push 0x4e3024
push 0x4e29c8
push eax
call fcn.004cbc80
mov esi, dword [esp + 0x14]
lea eax, [esi + 0xc]
mov ecx, dword [esi]
push dword [esi + 8]
push dword [esi + 4]
push eax
call dword [ecx + 8]
add esp, 0xc
movdqa xmm0, xmmword [esp + 0x40]
movdqu xmmword [esi], xmm0
mov byte [esi + 0x10], 0
mov al, byte [esp + 0x22]
mov byte [esi + 0x13], al
movzx eax, word [esp + 0x20]
mov word [esi + 0x11], ax
mov eax, dword [esp + 0xf9]
mov ecx, dword [esp + 0xfc]
mov dword [esp + 0x77], ecx
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x18]
or dword [esp + 0xc], eax
mov edi, dword [esp + 8]
je 0x47f890
movdqu xmm0, xmmword [0x4f82fc]
lea eax, [esp + 0x20]
movdqa xmmword [eax], xmm0
lea esi, [esp + 0x40]
mov ecx, esi
mov edx, edi
push eax
call fcn.004265de
add esp, 4
cmp byte [esi + 0x10], 2
je 0x47f890
lea eax, [esp + 0x4c]
mov ecx, dword [eax - 0xc]
push dword [eax - 4]
push dword [eax - 8]
push eax
call dword [ecx + 8]
add esp, 0xc
xor eax, eax
xor ecx, ecx
mov edx, dword [esp + 4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x30], 0
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x77]
mov dword [esp + 0x31], eax
mov dword [esp + 0x34], ecx
lea ebx, [edx + 0xa8]
mov eax, dword [edi + 0x34]
add eax, dword [edi + 0x28]
lea ecx, [eax + eax]
shl eax, 5
sub eax, ecx
add eax, 0x1e
mov ecx, dword [edx + 0xa8]
mov edx, dword [edx + 0xb0]
sub ecx, edx
cmp ecx, eax
jb 0x47febc
movzx ecx, byte [edi + 0x6c]
mov edx, str.OPTIONSPOSTPUTDELETEHEADTRACECONNECTPATCH
mov eax, 7
mov esi, dword [esp + 0x3c]
add esi, dword [ecx*4 + 0x480020]
jmp esi
mov ecx, ebx
push eax
call fcn.004ce145
add esp, 4
jmp 0x47f8ea
lea esi, [esp + 0x20]
mov ecx, esi
call fcn.00424a02
lea ecx, [esp + 0x90]
mov edx, esi
call fcn.00426ab2
mov edx, dword [esp + 4]
xor eax, eax
xor ecx, ecx
jmp 0x47f898
mov ecx, esi
push 0x4e34dc
call fcn.004cb900
mov ecx, esi
push 0x4e356c
call fcn.004cb900
push 0x4e3350
call fcn.004cb900
xor ecx, ecx
xor edx, edx
push 0x4f72bc
call fcn.004cb900
mov byte [esp + 0x64], al
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], 0x421484
lea ecx, [esp + 0x40]
mov dword [ecx], 0x4e3250
xor eax, eax
inc eax
mov dword [ecx + 4], eax
mov dword [ecx + 0x10], 0
lea edx, [esp + 0x74]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov edx, 0x4e3258
call fcn.004cb8c0
lea eax, [esp + 0x74]
lea edx, [esp + 0x20]
mov dword [edx], eax
mov eax, fcn.00409d00
mov dword [edx + 4], eax
mov dword [edx + 8], edi
mov dword [edx + 0xc], eax
lea ecx, [esp + 0x40]
mov dword [ecx], str.new_len____capacity_
mov eax, 2
mov dword [ecx + 4], eax
mov dword [ecx + 0x10], 0
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov edx, 0x4fe428
call fcn.004cb8c0
mov ecx, eax
mov edx, 0xf
push 0x4e1b90
call fcn.004cb960
lea ecx, [esp + 0x100]
mov dword [ecx], eax
lea eax, [esp + 0x8c]
lea edx, [esp + 0x20]
mov dword [edx], eax
mov eax, 0x42ed50
mov dword [edx + 4], eax
mov dword [edx + 8], ecx
mov dword [edx + 0xc], eax
lea ecx, [esp + 0x40]
mov dword [ecx], 0x4fe3e0
mov eax, 2
mov dword [ecx + 4], eax
mov dword [ecx + 0x10], 0
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov edx, 0x4f63e8
call fcn.004cb8c0
mov ecx, 0x4e2ea4
call fcn.004cbd00
nop
nop
fisttp word [eax]
add byte [eax], al
jnp 0x48002e
add byte [eax], al
mov al, byte [0xa7000008]
or byte [eax], al
add byte [edx - 0x45fffff8], al
or byte [eax], al
add dh, al
add byte [eax], al
or byte [eax], 0
add byte [edx - 0x39fffff8], bh
or byte [eax], al
add byte [ebx - 0x2afffff8], dh
or byte [eax], al
add byte [esi - 0x32fffff8], cl
or byte [eax], al
add byte [ebx + 0x57], dl
push ebx
push edi