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

Disassembly:
sub esp, 0x268
mov eax, dword [0x54847c]
xor eax, esp
mov dword [esp + 0x264], eax
mov eax, dword [esp + 0x270]
push ebx
mov ebx, dword [esp + 0x280]
push ebp
movzx ebp, word [esp + 0x288]
push esi
mov esi, dword [esp + 0x278]
push edi
mov edi, dword [esp + 0x288]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x284]
push 0x200
mov dword [esp + 0x18], eax
lea eax, [esp + 0x78]
push 0
push eax
mov dword [esp + 0x30], esi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x34], ebx
mov dword [esp + 0x48], ebp
call fcn.004df090
movzx eax, bp
xorps xmm0, xmm0
mov dword [esp + 0x44], eax
lea eax, [esp + 0x54]
push 0xa
push eax
lea eax, [esp + 0x28]
movq qword [esp + 0x5c], xmm0
push eax
mov word [esp + 0x68], 0
mov dword [esp + 0x4c], 0
call fcn.0047a5f0
add esp, 0x18
test eax, eax
je 0x479a36
push str.Excessive_alt_svc_header__ignoring.
push esi
call fcn.00476a30
add esp, 8
jmp 0x479f03
lea eax, [esp + 0x48]
push str.clear
push eax
call fcn.0047b340
add esp, 8
test eax, eax
je 0x479a60
push ebp
push ebx
push edi
push dword [esp + 0x3c]
call fcn.0047a280
add esp, 0x10
jmp 0x479f03
mov edi, dword [esp + 0x14]
cmp byte [edi], 0x3d
jne 0x479f03
nop dword [eax]
lea eax, [esp + 0x48]
push 0x51121c
push eax
call fcn.0047b340
add esp, 8
test eax, eax
je 0x479a90
mov dword [esp + 0x1c], 8
jmp 0x479acd
lea eax, [esp + 0x48]
push 0x511220
push eax
call fcn.0047b340
add esp, 8
test eax, eax
je 0x479ab0
mov dword [esp + 0x1c], 0x10
jmp 0x479acd
lea eax, [esp + 0x48]
push 0x511224
push eax
call fcn.0047b340
add esp, 8
neg eax
sbb eax, eax
and eax, 0x20
mov dword [esp + 0x1c], eax
cmp byte [edi + 1], 0x22
jne 0x479f03
lea ebp, [edi + 2]
mov dword [esp + 0x20], 0x529ce4
xor al, al
mov byte [esp + 0x13], 0
mov ebx, ebp
mov dword [esp + 0x2c], eax
mov ecx, 0x15180
mov byte [esp + 0x12], 1
mov dword [esp + 0x44], ecx
mov al, byte [ebx]
cmp al, 0x3a
je 0x479bbd
cmp al, 0x5b
jne 0x479b34
lea edi, [ebp + 1]
push str.0123456789abcdefABCDEF:.
push edi
call fcn.004eded0
mov esi, eax
add esp, 8
cmp byte [esi + edi], 0x5d
jne 0x479f03
lea ebx, [edi - 1]
add esi, 2
add ebx, esi
mov edi, ebx
jmp 0x479b74
mov edi, ebp
test al, al
je 0x479b70
mov ecx, ebp
nop dword [eax]
cmp al, 0x30
jl 0x479b48
cmp al, 0x39
jle 0x479b62
cmp al, 0x61
jl 0x479b50
cmp al, 0x7a
jle 0x479b62
cmp al, 0x41
jl 0x479b58
cmp al, 0x5a
jle 0x479b62
cmp al, 0x2e
je 0x479b62
mov edi, ecx
cmp al, 0x2d
jne 0x479b70
mov al, byte [ecx + 1]
lea ebx, [ecx + 1]
mov ecx, ebx
mov edi, ebx
test al, al
jne 0x479b40
mov esi, edi
sub esi, ebp
test esi, esi
je 0x479ba4
cmp esi, 0x200
jae 0x479ba4
push esi
lea eax, [esp + 0x78]
push ebp
push eax
call fcn.004df1f0
mov byte [esp + esi + 0x80], 0
lea eax, [esp + 0x80]
mov esi, dword [esp + 0x30]
add esp, 0xc
jmp 0x479bc3
mov esi, dword [esp + 0x24]
push str.Excessive_alt_svc_host_name__ignoring.
push esi
call fcn.00476a30
add esp, 8
mov byte [esp + 0x12], 0
jmp 0x479bc7
mov eax, dword [esp + 0x28]
mov edi, ebp
mov dword [esp + 0x20], eax
cmp byte [ebx], 0x3a
jne 0x479c2f
mov al, byte [edi + 1]
lea ebx, [edi + 1]
cmp al, 0x30
jl 0x479c18
cmp al, 0x39
jg 0x479c18
push 0xa
lea eax, [esp + 0x1c]
push eax
push ebx
call fcn.004e7465
add esp, 0xc
test eax, eax
je 0x479c1c
cmp eax, 0xffff
ja 0x479c1c
mov ecx, dword [esp + 0x18]
cmp ecx, ebx
je 0x479c1c
cmp byte [ecx], 0x22
jne 0x479c1c
push eax
call fcn.00479200
mov ebx, dword [esp + 0x1c]
add esp, 4
movzx ebp, ax
mov dword [esp + 0x38], ebp
jmp 0x479c2f
mov dword [esp + 0x18], ebx
push str.Unknown_alt_svc_port_number__ignoring.
push esi
call fcn.00476a30
add esp, 8
mov byte [esp + 0x12], 0
cmp byte [ebx], 0x22
lea edi, [ebx + 1]
jne 0x479f03
mov esi, edi
nop dword [eax]
mov al, byte [edi]
cmp al, 0x20
je 0x479c4a
cmp al, 9
jne 0x479c4f
lea edi, [esi + 1]
jmp 0x479c3b
cmp al, 0x3b
jne 0x479de0
mov al, byte [esi + 1]
lea edi, [esi + 1]
mov dword [esp + 0x14], edi
mov esi, edi
test al, al
je 0x479de0
cmp al, 0xa
je 0x479de0
cmp al, 0xd
je 0x479de0
push 0x20
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.0047a5f0
movzx ecx, byte [esp + 0x60]
xor edx, edx
mov edi, dword [esp + 0x20]
add esp, 0xc
test eax, eax
cmovne ecx, edx
mov byte [esp + 0x54], cl
mov al, byte [edi]
test al, al
je 0x479cc0
nop dword [eax]
cmp al, 0x20
je 0x479cb8
cmp al, 9
jne 0x479cc0
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x479cb0
cmp byte [edi], 0x3d
jne 0x479f03
mov al, byte [edi + 1]
inc edi
test al, al
je 0x479f03
mov ebp, edi
cmp al, 0x20
je 0x479cdf
cmp al, 9
jne 0x479cf0
mov al, byte [ebp + 1]
lea edi, [ebp + 1]
mov ebp, edi
test al, al
jne 0x479cd7
jmp 0x479f03
mov al, byte [edi]
test al, al
je 0x479f03
cmp al, 0x22
jne 0x479d0a
lea edi, [ebp + 1]
mov byte [esp + 0x13], 1
mov ebp, edi
jmp 0x479d10
cmp byte [esp + 0x13], dl
je 0x479d45
mov al, byte [edi]
mov ecx, ebp
test al, al
je 0x479d34
mov edx, ebp
nop word [eax + eax]
mov ecx, edx
cmp al, 0x22
je 0x479d34
mov al, byte [edx + 1]
lea edi, [edx + 1]
mov edx, edi
mov ecx, edi
test al, al
jne 0x479d20
mov al, byte [edi]
lea edi, [ecx + 1]
test al, al
je 0x479f03
mov esi, edi
jmp 0x479d67
mov ecx, ebp
mov esi, ecx
cmp al, 0x20
je 0x479d67
cmp al, 9
je 0x479d67
cmp al, 0x3b
je 0x479d67
cmp al, 0x2c
je 0x479d67
mov al, byte [ecx + 1]
lea edi, [ecx + 1]
mov ecx, edi
mov esi, edi
test al, al
jne 0x479d47
push 0xa
lea eax, [esp + 0x1c]
push eax
push ebp
call fcn.004e7465
add esp, 0xc
mov ebx, eax
cmp dword [esp + 0x18], ebp
je 0x479c40
cmp ebx, 0xffffffff
jae 0x479c40
lea eax, [esp + 0x54]
push eax
push 0x5113a8
call fcn.0047b340
add esp, 8
test eax, eax
je 0x479dab
mov dword [esp + 0x44], ebx
jmp 0x479c40
lea eax, [esp + 0x54]
push eax
push str.persist
call fcn.0047b340
add esp, 8
test eax, eax
je 0x479c40
mov eax, dword [esp + 0x2c]
cmp ebx, 1
movzx eax, al
mov ecx, 1
cmove eax, ecx
mov dword [esp + 0x2c], eax
jmp 0x479c40
mov ebx, dword [esp + 0x1c]
test ebx, ebx
je 0x479ebf
cmp byte [esp + 0x12], 0
je 0x479ebf
mov ecx, dword [esp + 0x34]
mov eax, ecx
inc ecx
mov dword [esp + 0x34], ecx
test eax, eax
jne 0x479e1e
push dword [esp + 0x3c]
push dword [esp + 0x2c]
push dword [esp + 0x48]
push dword [esp + 0x3c]
call fcn.0047a280
add esp, 0x10
mov eax, dword [esp + 0x38]
movzx ebp, ax
mov eax, dword [esp + 0x3c]
push ebp
movzx eax, ax
push eax
push ebx
push dword [esp + 0x4c]
push dword [esp + 0x30]
push dword [esp + 0x3c]
call fcn.0047a190
mov ebx, eax
add esp, 0x18
test ebx, ebx
je 0x479ebf
push 0
call fcn.004ede49
add eax, dword [esp + 0x48]
mov dword [ebx + 0x18], eax
mov eax, dword [esp + 0x30]
adc edx, 0
mov byte [ebx + 0x20], al
lea eax, [ebx + 0x28]
push eax
mov eax, dword [esp + 0x38]
push ebx
mov dword [ebx + 0x1c], edx
push dword [eax + 8]
add eax, 4
push eax
call fcn.0047da00
mov ecx, dword [esp + 0x30]
add esp, 0x14
cmp ecx, 8
je 0x479ea3
cmp ecx, 0x10
je 0x479e9c
cmp ecx, 0x20
mov eax, 0x529ce4
mov ecx, 0x511224
cmove eax, ecx
jmp 0x479ea8
mov eax, 0x511220
jmp 0x479ea8
mov eax, 0x51121c
push eax
push ebp
push dword [esp + 0x28]
push str.Added_alt_svc:__s:_d_over__s
push dword [esp + 0x34]
call fcn.00476a30
add esp, 0x14
cmp byte [edi], 0x2c
jne 0x479ee5
push 0xa
lea eax, [esp + 0x4c]
inc esi
push eax
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], esi
push eax
call fcn.0047a5f0
add esp, 0xc
test eax, eax
jne 0x479f03
mov edi, dword [esp + 0x14]
mov al, byte [edi]
test al, al
je 0x479f03
cmp al, 0x3b
je 0x479f03
cmp al, 0xa
je 0x479f03
cmp al, 0xd
je 0x479f03
mov esi, dword [esp + 0x24]
cmp al, 0x3d
je 0x479a70
mov ecx, dword [esp + 0x274]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004c7036
add esp, 0x268
ret