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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x138
mov esi, esp
mov dword [esi + 0x120], ebp
mov dword [esi + 0x124], esp
mov dword [esi + 0x130], 0xffffffff
mov dword [esi + 0x12c], 0x10033c00
lea eax, [esi + 0x128]
mov ecx, dword fs:[0]
mov dword [esi + 0x128], ecx
mov dword fs:[0], eax
mov eax, dword [0x1027032c]
mov eax, dword [eax]
test eax, eax
je 0x1002f0e5
mov ecx, dword [ebp + 0xc]
lea edx, [esi + 0x70]
lea eax, [ecx + 0x80]
mov dword [esi + 0x10], ecx
movq xmm0, qword [ecx + 0x99]
mov dword [esi + 0x14], eax
movzx eax, byte [ecx + 0xa2]
movq qword [esi + 0x18], xmm0
mov byte [esi + 0x20], al
lea eax, [ecx + 0xa8]
lea ecx, [esi + 0x10]
push ecx
push dword [ebp + 0x10]
push eax
push edx
call fcn.100ee9f0
add esp, 0x10
mov edi, dword [esi + 0x70]
mov ebx, dword [esi + 0x74]
mov eax, edi
xor eax, 4
or eax, ebx
jne 0x1002effd
mov eax, dword [ebp + 8]
mov dword [eax + 4], 0
mov dword [eax], 5
jmp 0x1002f885
mov ecx, dword [esi + 0x78]
mov eax, edi
xor eax, 3
or eax, ebx
mov dword [esi + 8], ecx
jne 0x1002f1a7
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x5c], ecx
mov byte [esi + 7], 1
mov dword [esi + 0x130], 0
movzx ecx, byte [eax + 0xa4]
mov byte [esi + 0x3c], cl
push eax
call fcn.100f37f0
add esp, 4
mov eax, dword [ebp + 0xc]
lea ebx, [eax + 0xe8]
mov eax, dword [eax + 0xec]
test eax, eax
je 0x1002f3d5
mov edx, dword [ebx]
xor ecx, ecx
jmp 0x1002f069
inc ecx
cmp eax, ecx
je 0x1002f3aa
movzx edi, byte [edx + ecx]
cmp edi, 0xd
je 0x1002f060
cmp edi, 0xa
je 0x1002f060
cmp eax, ecx
mov dword [esi + 0x50], ecx
mov dword [esi + 0x130], 0
jae 0x1002f3b6
mov dword [esi + 0x40], eax
lea eax, [esi + 0x50]
mov dword [esi + 0x10], 0x101e0928
mov dword [esi + 0x14], 2
mov dword [esi + 0x20], 0
mov byte [esi + 7], 1
mov dword [esi + 0x28], eax
lea eax, [esi + 0x40]
mov dword [esi + 0x2c], 0x10001000
mov dword [esi + 0x30], eax
lea eax, [esi + 0x28]
mov dword [esi + 0x34], 0x10001000
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], 2
push 0x101e09dc
lea eax, [esi + 0x10]
push eax
call fcn.101cb880
add esp, 8
jmp 0x1002f909
mov edi, dword [0x1026ef18]
movzx eax, byte [edi + 8]
movzx ecx, al
lea edx, [ecx - 1]
cmp edx, 2
jae 0x1002f38c
movzx eax, al
push eax
push dword [edi]
call fcn.10147240
add esp, 8
test al, al
je 0x1002ef99
mov eax, dword [edi]
mov edx, dword [eax + 0x20]
test edx, edx
je 0x1002f89a
mov edi, dword [eax + 0x1c]
movsd xmm0, qword [eax + 0x24]
lea ecx, [eax + 0x1c]
lea ebx, [esi + 0x70]
mov dword [esi + 0x70], 0x101d46a4
mov dword [esi + 0x74], 1
mov dword [esi + 0x80], 0
mov dword [esi + 0x78], 4
mov dword [esi + 0x7c], 0
mov dword [esi + 0xc8], edi
lea edi, [esi + 0xc8]
mov dword [esi + 0xcc], edx
movlps qword [esi + 0xd0], xmm0
mov dword [esi + 0xd8], 0
mov dword [esi + 0x28], edi
lea edi, [esi + 0x28]
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x30], 0x101d4344
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], 1
mov dword [esi + 0x18], ecx
lea ecx, [esi + 0x10]
push ecx
push eax
call fcn.10147e50
add esp, 8
jmp 0x1002ef99
lea eax, [esi + 0x7c]
lea ecx, [esi + 0xd4]
push 0x4c
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 8]
mov dword [esi + 0xcc], ebx
mov dword [esi + 0xc8], edi
mov dword [esi + 0xd0], eax
mov eax, dword [0x1027032c]
mov eax, dword [eax]
cmp eax, 2
jae 0x1002f2d4
mov edi, dword [0x1026ef14]
movzx eax, byte [edi + 8]
movzx ecx, al
lea edx, [ecx - 1]
cmp edx, 2
jb 0x1002f21f
test ecx, ecx
je 0x1002f2d4
mov dword [esi + 0x130], 2
push edi
call fcn.101c84c0
add esp, 4
mov edi, dword [0x1026ef14]
test al, al
je 0x1002f2d4
mov ecx, dword [edi]
movzx eax, al
mov dword [esi + 0x130], 2
push eax
push ecx
call fcn.10147240
add esp, 8
test al, al
mov eax, dword [0x1026ef14]
je 0x1002f2d4
mov eax, dword [eax]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x1002f8ab
mov edx, dword [eax + 0x1c]
movq xmm0, qword [eax + 0x24]
mov dword [esi + 0x70], 0x101d46d0
mov dword [esi + 0x74], 1
mov dword [esi + 0x80], 0
mov dword [esi + 0x10], edx
mov dword [esi + 0x14], ecx
lea ecx, [esi + 0x110]
movq qword [esi + 0x18], xmm0
mov dword [esi + 0x20], 0
mov dword [esi + 0x50], ecx
lea ecx, [esi + 0x50]
mov dword [esi + 0x54], 0x100f9800
mov dword [esi + 0x78], ecx
lea ecx, [esi + 0x40]
mov dword [esi + 0x7c], 1
mov dword [esi + 0x28], ecx
lea ecx, [eax + 0x1c]
mov dword [esi + 0x2c], 1
mov dword [esi + 0x30], ecx
lea ecx, [esi + 0x10]
mov dword [esi + 0x40], ecx
lea ecx, [esi + 0x70]
mov dword [esi + 0x44], ecx
lea ecx, [esi + 0x28]
mov dword [esi + 0x48], 0x101d4344
push ecx
push eax
call fcn.10147e50
add esp, 8
mov ecx, dword [ebp + 0xc]
mov byte [ecx + 0xa2], 0
lea eax, [ecx + 0xa4]
cmp byte [ecx + 0xa4], 2
je 0x1002f2fa
mov byte [eax], 1
mov dword [esi + 0x130], 2
movzx ecx, byte [esi + 0x119]
mov dword [esi + 0x130], 2
push ecx
push eax
call fcn.100f35a0
add esp, 8
movzx eax, byte [esi + 0x11a]
mov edi, dword [esi + 0x110]
mov ebx, dword [esi + 0x114]
mov ecx, dword [ebp + 0xc]
add al, al
mov byte [esi + 8], al
mov eax, edi
or eax, ebx
movzx eax, byte [esi + 0x10e]
mov byte [ecx + 0xa5], al
movzx eax, byte [esi + 0x118]
je 0x1002f6cf
test al, al
mov dword [esi + 0xc], edi
mov dword [esi + 0x3c], ebx
je 0x1002f7e8
mov ecx, edi
mov edx, ebx
xor eax, eax
xor ecx, 0xfffffffe
not edx
or edx, ecx
je 0x1002f80d
mov eax, edi
mov ecx, 0
mov edx, edi
and eax, ebx
cmp eax, 0xffffffff
mov eax, ebx
jne 0x1002f811
mov cl, 2
jmp 0x1002f811
test ecx, ecx
je 0x1002ef99
push edi
call fcn.101c84c0
add esp, 4
test al, al
jne 0x1002f0fe
jmp 0x1002ef99
mov dword [esi + 0x130], 0
mov ecx, eax
mov byte [esi + 7], 1
push ecx
mov dword [esi + 0xc], ebx
push ebx
call fcn.101846e0
add esp, 8
mov eax, dword [ebp + 0xc]
mov ebx, dword [esi + 0xc]
mov ecx, dword [eax + 0xec]
jmp 0x1002f3d7
xor ecx, ecx
mov eax, dword [esi + 8]
cmp byte [eax + 0x18], 0
mov eax, dword [0x1027032c]
mov eax, dword [eax]
je 0x1002f517
test ecx, ecx
jne 0x1002f517
cmp byte [esi + 0x3c], 0
jne 0x1002f517
cmp eax, 2
jae 0x1002f4df
mov edi, dword [0x1026ef08]
movzx eax, byte [edi + 8]
movzx ecx, al
lea edx, [ecx - 1]
cmp edx, 2
jb 0x1002f43e
test ecx, ecx
je 0x1002f4df
mov byte [esi + 7], 1
push edi
call fcn.101c84c0
add esp, 4
mov edi, dword [0x1026ef08]
test al, al
je 0x1002f4df
mov ecx, dword [edi]
movzx eax, al
mov byte [esi + 7], 1
push eax
push ecx
call fcn.10147240
add esp, 8
test al, al
mov eax, dword [0x1026ef08]
je 0x1002f4df
mov eax, dword [eax]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x1002f8c1
mov edx, dword [eax + 0x1c]
movq xmm0, qword [eax + 0x24]
mov dword [esi + 0x10], 0x101d4734
mov dword [esi + 0x14], 1
mov dword [esi + 0x20], 0
mov dword [esi + 0x18], 4
mov dword [esi + 0x1c], 0
mov byte [esi + 7], 1
mov dword [esi + 0x28], edx
mov dword [esi + 0x2c], ecx
lea ecx, [esi + 0x28]
movq qword [esi + 0x30], xmm0
mov dword [esi + 0x38], 0
mov dword [esi + 0x50], ecx
lea ecx, [esi + 0x10]
mov dword [esi + 0x54], ecx
lea ecx, [esi + 0x50]
mov dword [esi + 0x58], 0x101d4344
mov dword [esi + 0x40], ecx
lea ecx, [eax + 0x1c]
mov dword [esi + 0x44], 1
mov dword [esi + 0x48], ecx
lea ecx, [esi + 0x40]
push ecx
push eax
call fcn.10147e50
add esp, 8
mov byte [esi + 7], 1
push dword [ebp + 0xc]
call fcn.100f3910
add esp, 4
mov edi, dword [ebp + 8]
mov ecx, dword [esi + 8]
mov dword [esi + 0x130], 0xffffffff
mov dword [edi + 4], 0
mov dword [edi], 4
call fcn.1002aad0
mov eax, edi
jmp 0x1002f885
cmp eax, 2
jae 0x1002f630
mov edi, dword [0x1026ef0c]
movzx eax, byte [edi + 8]
mov dword [esi + 0xc], ebx
movzx ecx, al
lea edx, [ecx - 1]
cmp edx, 2
jb 0x1002f55e
test ecx, ecx
je 0x1002f630
mov byte [esi + 7], 1
push edi
call fcn.101c84c0
add esp, 4
mov ebx, dword [esi + 0xc]
mov edi, dword [0x1026ef0c]
test al, al
je 0x1002f630
mov ecx, dword [edi]
movzx eax, al
mov byte [esi + 7], 1
push eax
push ecx
call fcn.10147240
add esp, 8
mov ebx, dword [esi + 0xc]
test al, al
je 0x1002f630
mov eax, dword [0x1026ef0c]
mov eax, dword [eax]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x1002f8db
mov edx, dword [eax + 0x1c]
movq xmm0, qword [eax + 0x24]
mov dword [esi + 0x10], 0x101d4768
mov dword [esi + 0x14], 3
mov dword [esi + 0x20], 0
mov byte [esi + 7], 1
mov dword [esi + 0x28], edx
mov dword [esi + 0x2c], ecx
mov ecx, dword [ebp + 0xc]
movq qword [esi + 0x30], xmm0
mov dword [esi + 0x38], 0
mov ecx, dword [ecx + 0xec]
mov dword [esi + 0x60], ecx
lea ecx, [esi + 0x5c]
mov dword [esi + 0x40], ecx
lea ecx, [esi + 0x60]
mov dword [esi + 0x44], 0x100f8140
mov dword [esi + 0x48], ecx
lea ecx, [esi + 0x40]
mov dword [esi + 0x4c], fcn.101bd8d0
mov dword [esi + 0x18], ecx
lea ecx, [esi + 0x28]
mov dword [esi + 0x1c], 2
mov dword [esi + 0x64], ecx
lea ecx, [esi + 0x10]
mov dword [esi + 0x68], ecx
lea ecx, [esi + 0x64]
mov dword [esi + 0x6c], 0x101d4344
mov dword [esi + 0x50], ecx
lea ecx, [eax + 0x1c]
mov dword [esi + 0x54], 1
mov dword [esi + 0x58], ecx
lea ecx, [esi + 0x50]
push ecx
push eax
call fcn.10147e50
add esp, 8
mov eax, dword [esi + 0x5c]
mov ebx, dword [esi + 0xc]
mov dword [esi + 8], eax
mov ecx, dword [ebp + 0xc]
mov edi, 3
mov eax, dword [ecx + 0x60]
mov ecx, dword [ecx + 0x64]
add eax, 0xfffffffe
adc ecx, 0xffffffff
xor edx, edx
cmp edi, eax
sbb edx, ecx
jb 0x1002f6b4
test eax, eax
jne 0x1002f6b4
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0xec], 0x18
jb 0x1002f6b4
mov eax, dword [ebx]
movdqu xmm0, xmmword [eax]
movdqu xmm1, xmmword [eax + 8]
pcmpeqb xmm1, xmmword [str.TP_2.0_r_n_r_nSM_r_n_r_nPRI__HTTP_2.0_r_n]
pcmpeqb xmm0, xmmword [0x101d3f20]
pand xmm0, xmm1
pmovmskb eax, xmm0
cmp eax, 0xffff
jne 0x1002f6b4
mov dword [esi + 0x130], 1
call fcn.100f71d0
mov dword [esi + 0xc], eax
mov ecx, dword [esi + 8]
mov byte [esi + 7], 0
mov dword [esi + 0x130], 0
call fcn.1002aad0
mov eax, dword [esi + 0xc]
mov dword [esi + 8], eax
mov eax, dword [ebp + 8]
mov ecx, dword [esi + 8]
mov dword [eax + 4], 0
mov dword [eax], 3
mov dword [eax + 8], ecx
jmp 0x1002f885
test al, al
je 0x1002f7b6
mov eax, dword [0x1027032c]
mov eax, dword [eax]
cmp eax, 1
ja 0x1002f7b6
mov edi, dword [0x1026ef10]
movzx eax, byte [edi + 8]
movzx ecx, al
lea edx, [ecx - 1]
cmp edx, 2
jb 0x1002f71b
test ecx, ecx
je 0x1002f7b6
push edi
call fcn.101c84c0
add esp, 4
mov edi, dword [0x1026ef10]
test al, al
je 0x1002f7b6
movzx eax, al
push eax
push dword [edi]
call fcn.10147240
add esp, 8
test al, al
mov eax, dword [0x1026ef10]
je 0x1002f7b6
mov eax, dword [eax]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x1002f8f5
mov edx, dword [eax + 0x1c]
movq xmm0, qword [eax + 0x24]
mov dword [esi + 0x70], 0x101d4714
mov dword [esi + 0x74], 1
mov dword [esi + 0x80], 0
mov dword [esi + 0x78], 4
mov dword [esi + 0x7c], 0
mov dword [esi + 0x10], edx
mov dword [esi + 0x14], ecx
lea ecx, [esi + 0x10]
movq qword [esi + 0x18], xmm0
mov dword [esi + 0x20], 0
mov dword [esi + 0x40], ecx
lea ecx, [esi + 0x70]
mov dword [esi + 0x44], ecx
lea ecx, [esi + 0x40]
mov dword [esi + 0x48], 0x101d4344
mov dword [esi + 0x28], ecx
lea ecx, [eax + 0x1c]
mov dword [esi + 0x2c], 1
mov dword [esi + 0x30], ecx
lea ecx, [esi + 0x28]
push ecx
push eax
call fcn.10147e50
add esp, 8
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x44], 0
mov dword [ecx + 0x40], 3
call fcn.100306c0
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
call fcn.1002dd80
mov eax, dword [esi + 0x110]
mov ebx, dword [esi + 0x114]
mov dword [esi + 0xc], eax
jmp 0x1002f85e
mov ecx, edi
mov edx, ebx
xor eax, eax
xor ecx, 0xfffffffe
not edx
or edx, ecx
je 0x1002f82b
mov eax, edi
mov ecx, 0
mov edx, edi
and eax, ebx
cmp eax, 0xffffffff
mov eax, ebx
jne 0x1002f82f
mov cl, 2
jmp 0x1002f82f
mov cl, 1
xor edx, edx
mov edi, dword [ebp + 0xc]
or byte [esi + 8], 1
mov ebx, dword [esi + 0x3c]
mov dword [edi + 0x44], 0
mov dword [edi + 0x40], 1
jmp 0x1002f843
mov cl, 1
xor edx, edx
mov edi, dword [ebp + 0xc]
mov ebx, dword [esi + 0x3c]
mov dword [edi + 0x44], 0
mov dword [edi + 0x40], 2
mov byte [edi + 0x48], cl
mov byte [edi + 0x49], 0
mov dword [edi + 0x50], edx
mov dword [edi + 0x54], eax
mov dword [edi + 0x5c], 0
mov dword [edi + 0x58], 0
lea eax, [esi + 0xc8]
push 0x48
push eax
mov edi, dword [ebp + 8]
push edi
call sub.VCRUNTIME140.dll_memcpy
mov eax, edi
add esp, 0xc
mov ecx, dword [esi + 0xc]
movzx edx, byte [esi + 8]
mov dword [edi + 0x4c], ebx
mov dword [edi + 0x48], ecx
mov byte [edi + 0x50], dl
mov ecx, dword [esi + 0x128]
mov dword fs:[0], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push 0x101d4684
push 0x22
push 0x101d4260
call fcn.101cb830
push 0x101d46ac
push 0x22
push 0x101d4260
call fcn.101cb830
add esp, 0xc
jmp 0x1002f909
mov byte [esi + 7], 1
push 0x101d471c
push 0x22
push 0x101d4260
call fcn.101cb830
add esp, 0xc
jmp 0x1002f909
mov byte [esi + 7], 1
push 0x101d473c
push 0x22
push 0x101d4260
call fcn.101cb830
add esp, 0xc
jmp 0x1002f909
push 0x101d46d8
push 0x22
push 0x101d4260
call fcn.101cb830
add esp, 0xc
ud2