Function at 0x499550
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 8
mov esi, dword [esp + 0x28]
mov ebp, dword [esp + 0x20]
mov eax, dword [esi]
push dword [eax + 0xc]
push dword [eax + 8]
call fcn.00494e60
add esp, 8
test eax, eax
je 0x4995bb
mov edi, dword [esp + 0x24]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esi + 8]
cmp eax, 0x25
ja case.default.0x499583
jmp dword [eax*4 + 0x9af7f0]
cmp byte [ebp + 0x678], 0
jne 0x49959d
cmp byte [edi + 8], 5
jne 0x4998a1
mov eax, dword [esi + 4]
push dword [eax + 0xc]
push dword [eax + 8]
call fcn.00494fb0
add esp, 8
test eax, eax
jne 0x4996ff
jmp 0x4997b8
mov edx, dword [esi]
mov ecx, dword [edx + 0xc]
test ecx, ecx
je 0x4995f5
mov esi, dword [edx + 8]
mov eax, 0xfffffded
cmp byte [esi], 0x3a
je case.0x499834.56
mov edx, dword [edx + 8]
xor esi, esi
nop word [eax + eax]
movzx ebx, byte [edx + esi]
add bl, 0xa5
cmp bl, 0xe6
jae case.0x499834.56
inc esi
cmp ecx, esi
jne 0x4995e0
or byte [ebp + 0x98], 0x40
jmp 0x4997e0
cmp eax, 0x42
jne case.0x499583.2
mov eax, dword [esp + 0x20]
movzx eax, byte [eax + 0x9c]
test al, 0x40
je 0x499658
mov edx, dword [esi + 4]
mov ecx, dword [edx + 0xc]
test ecx, ecx
je 0x4997b8
mov edx, dword [edx + 8]
xor ebx, ebx
jmp 0x499639
inc ebx
cmp ecx, ebx
je 0x4997b8
movzx esi, byte [edx + ebx]
cmp esi, 0x20
je 0x499630
cmp esi, 9
je 0x499630
mov esi, dword [esp + 0x28]
jmp 0x499658
mov eax, dword [esp + 0x20]
movzx eax, byte [eax + 0x9c]
mov edx, dword [esi + 4]
mov ecx, dword [edx + 8]
mov edx, dword [edx + 0xc]
test al, 0x40
jne 0x4997ed
push edx
push ecx
call fcn.00494ee0
add esp, 8
test eax, eax
jne 0x4996ff
jmp 0x4997b8
mov ecx, dword [esi + 4]
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x4997b8
mov esi, dword [ecx + 8]
movzx edx, byte [esi]
and dl, 0xdf
add dl, 0xbf
cmp dl, 0x19
ja 0x4997b8
cmp eax, 1
je 0x4996ff
mov edx, 1
jmp 0x4996b5
inc edx
cmp eax, edx
je 0x4996ff
movzx ebx, byte [esi + edx]
mov ecx, ebx
add cl, 0xd0
cmp cl, 0xa
jb 0x4996b0
mov ecx, ebx
and cl, 0xdf
add cl, 0xbf
cmp cl, 0x1a
jb 0x4996b0
add ebx, 0xffffffd5
cmp ebx, 3
ja 0x4997b8
cmp ebx, 1
jne 0x4996b0
jmp 0x4997b8
mov eax, dword [esi + 4]
push dword [eax + 0xc]
push dword [eax + 8]
call fcn.00494f30
add esp, 8
test eax, eax
je 0x4997b8
mov ecx, dword [esp + 0x2c]
cmp byte [ebp + 0x678], 0
je 0x499722
xor edx, edx
cmp byte [ebp + 0x675], 0
setne dl
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x28]
jmp 0x499736
xor edx, edx
cmp byte [edi + 8], 5
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x28]
jne 0x499801
mov eax, dword [esi]
mov eax, dword [eax + 8]
movzx ebx, byte [eax]
cmp bl, 0x3a
jne 0x49975d
mov eax, 0xfffffded
test ecx, ecx
jne case.0x499834.56
test byte [ebp + 0x98], 0x40
jne case.0x499834.56
mov eax, dword [esp + 0x28]
mov esi, dword [eax + 8]
mov eax, 0xfffffded
cmp esi, 0x43
ja case.0x499772.2
jmp dword [esi*4 + 0x9af974]
mov ecx, dword [ebp + 0x98]
test cl, 1
jne case.0x499834.56
mov edx, dword [esp + 0x28]
mov edx, dword [edx + 4]
cmp dword [edx + 0xc], 0
je case.0x499834.56
or ecx, 1
mov dword [ebp + 0x98], ecx
jmp 0x499c7e
mov eax, dword [esi + 4]
push dword [eax + 0xc]
push dword [eax + 8]
call fcn.00494f70
add esp, 8
test eax, eax
jne 0x4996ff
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
cmp dword [eax + 0xc], 0
je 0x49a042
mov ecx, dword [eax + 8]
mov eax, 0xfffffded
cmp byte [ecx], 0x3a
mov ecx, dword [esp + 0x20]
je case.0x499834.56
or byte [ecx + 0x98], 0x40
mov eax, 0xffffff97
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret
push edx
push ecx
call fcn.00494ea0
add esp, 8
test eax, eax
jne 0x4996ff
jmp 0x4997b8
mov eax, dword [esi]
mov ebx, dword [eax + 8]
movzx edx, byte [ebx]
cmp dl, 0x3a
jne 0x499820
mov eax, 0xfffffded
test ecx, ecx
jne case.0x499834.56
test byte [ebp + 0x98], 0x40
jne case.0x499834.56
mov ecx, dword [esi + 8]
mov eax, 0xfffffded
add ecx, 0xfffffff9
cmp ecx, 0x3a
ja case.0x499834.8
jmp dword [ecx*4 + 0x9af888]
mov ecx, dword [ebp + 0x98]
test cl, 0x20
jne case.0x499834.56
mov edx, dword [esi + 4]
mov esi, dword [edx + 0xc]
test esi, esi
je case.0x499834.56
or ecx, 0x20
mov dword [ebp + 0x98], ecx
cmp esi, 3
jne case.0x499834.56
mov edx, dword [edx + 8]
movzx eax, byte [edx]
mov ecx, eax
add cl, 0xc6
cmp cl, 0xf6
jb 0x49988e
movzx ecx, byte [edx + 1]
mov esi, ecx
add cl, 0xc6
cmp cl, 0xf6
jb 0x49988e
movzx edx, byte [edx + 2]
mov ecx, edx
add cl, 0xc6
cmp cl, 0xf6
jae 0x49a003
mov word [ebp + 0x94], 0xffff
mov eax, 0xfffffded
jmp case.0x499834.56
mov eax, dword [esp + 0x20]
test byte [eax + 0x9c], 0x40
mov ecx, dword [esi + 4]
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
jne 0x4998be
push ecx
push eax
jmp 0x49966b
push ecx
push eax
call fcn.00494ea0
add esp, 8
test eax, eax
jne 0x4996ff
jmp 0x4997b8
mov ecx, dword [ebp + 0x18]
and ecx, dword [ebp + 0x1c]
cmp ecx, 0xffffffff
jne case.0x499834.56
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 4]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
call fcn.0049a400
mov ecx, eax
mov eax, 0xfffffded
mov dword [ebp + 0x1c], edx
mov dword [ebp + 0x18], ecx
and ecx, edx
cmp ecx, 0xffffffff
jne 0x499c7e
jmp case.0x499834.56
test ecx, ecx
jne 0x499c7e
test byte [ebp + 0x6c], 1
je 0x499c7e
test byte [ebp + 0x9c], 0x10
je 0x499c7e
test byte [ebp + 0x9a], 2
jne 0x499c7e
movzx eax, byte [ebp + 0xa1]
mov ebx, esp
push eax
push ebx
call fcn.0049a610
add esp, 8
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 4]
push dword [eax + 0xc]
push dword [eax + 8]
push ebx
call fcn.0049a330
add esp, 0xc
test eax, eax
je 0x499fe8
mov eax, 0xfffcffff
and eax, dword [ebp + 0x98]
or eax, 0x20000
mov dword [ebp + 0x98], eax
jmp 0x499c7e
mov ecx, dword [ebp + 0x98]
test cl, 2
jne case.0x499834.56
mov edx, dword [esp + 0x28]
mov esi, dword [edx + 4]
mov edx, dword [esi + 0xc]
test edx, edx
je case.0x499834.56
mov eax, ecx
or eax, 2
mov dword [ebp + 0x98], eax
mov eax, dword [esi + 8]
movzx eax, byte [eax]
cmp al, 0x2f
jne 0x499e77
or ecx, 0x802
mov dword [ebp + 0x98], ecx
jmp 0x499c7e
mov ecx, dword [ebp + 0x98]
test cl, 0x10
jne case.0x499834.56
mov edx, dword [esp + 0x28]
mov edx, dword [edx + 4]
cmp dword [edx + 0xc], 0
je case.0x499834.56
or ecx, 0x10
mov dword [ebp + 0x98], ecx
jmp 0x499c7e
mov ecx, dword [ebp + 0x98]
test cl, 8
jne case.0x499834.56
mov edx, dword [esp + 0x28]
mov edx, dword [edx + 4]
mov esi, dword [edx + 0xc]
test esi, esi
je case.0x499834.56
mov eax, ecx
or eax, 8
mov dword [ebp + 0x98], eax
cmp esi, 5
je 0x499e9b
cmp esi, 4
jne 0x499c7e
mov eax, dword [edx + 8]
movzx edx, byte [eax]
mov ebx, edx
add bl, 0xbf
mov bh, dl
or bh, 0x20
cmp bl, 0x1a
movzx ebx, bh
cmovae ebx, edx
cmp bl, 0x68
jne 0x499c7e
movzx edx, byte [eax + 1]
mov ebx, edx
add bl, 0xbf
mov bh, dl
or bh, 0x20
cmp bl, 0x1a
movzx ebx, bh
cmovae ebx, edx
cmp bl, 0x74
jne 0x499c7e
movzx edx, byte [eax + 2]
mov ebx, edx
add bl, 0xbf
mov bh, dl
or bh, 0x20
cmp bl, 0x1a
movzx ebx, bh
cmovae ebx, edx
cmp bl, 0x74
jne 0x499c7e
movzx eax, byte [eax + 3]
mov edx, eax
add dl, 0xbf
mov dh, al
or dh, 0x20
cmp dl, 0x1a
movzx edx, dh
cmovae edx, eax
cmp dl, 0x70
jne 0x499c7e
jmp 0x499f3d
mov ecx, dword [ebp + 0x98]
test cl, 4
jne case.0x499834.56
mov edx, dword [esp + 0x28]
mov edx, dword [edx + 4]
mov esi, dword [edx + 0xc]
test esi, esi
je case.0x499834.56
mov ebx, ecx
or ebx, 4
mov dword [ebp + 0x98], ebx
cmp esi, 7
je 0x499f4e
cmp esi, 4
jne 0x499c7e
mov eax, dword [edx + 8]
cmp dword [eax], 0x44414548
jne 0x499c7e
or ecx, 0x104
mov dword [ebp + 0x98], ecx
jmp 0x499c7e
test edx, edx
je case.0x499834.56
mov ecx, dword [ebp + 0x98]
test cx, cx
js case.0x499834.56
mov edx, dword [esp + 0x28]
mov edx, dword [edx + 4]
cmp dword [edx + 0xc], 0
je case.0x499834.56
or ecx, 0x8000
mov dword [ebp + 0x98], ecx
jmp 0x499c7e
mov ecx, dword [esp + 0x28]
mov ecx, dword [ecx + 4]
cmp dword [ecx + 0xc], 8
jne case.0x499834.56
mov ecx, dword [ecx + 8]
movzx edx, byte [ecx]
mov ebx, edx
add bl, 0xbf
mov bh, dl
or bh, 0x20
cmp bl, 0x1a
movzx ebx, bh
cmovae ebx, edx
cmp bl, 0x74
jne case.0x499834.56
movzx edx, byte [ecx + 1]
mov ebx, edx
add bl, 0xbf
mov bh, dl
or bh, 0x20
cmp bl, 0x1a
movzx ebx, bh
cmovae ebx, edx
cmp bl, 0x72
jne case.0x499834.56
movzx edx, byte [ecx + 2]
mov ebx, edx
add bl, 0xbf
mov bh, dl
or bh, 0x20
cmp bl, 0x1a
movzx ebx, bh
cmovae ebx, edx
cmp bl, 0x61
jne case.0x499834.56
movzx edx, byte [ecx + 3]
mov ebx, edx
add bl, 0xbf
mov bh, dl
or bh, 0x20
cmp bl, 0x1a
movzx ebx, bh
cmovae ebx, edx
cmp bl, 0x69
jne case.0x499834.56
movzx edx, byte [ecx + 4]
mov ebx, edx
add bl, 0xbf
mov bh, dl
or bh, 0x20
cmp bl, 0x1a
movzx ebx, bh
cmovae ebx, edx
cmp bl, 0x6c
jne case.0x499834.56
movzx edx, byte [ecx + 5]
mov ebx, edx
add bl, 0xbf
mov bh, dl
or bh, 0x20
cmp bl, 0x1a
movzx ebx, bh
cmovae ebx, edx
cmp bl, 0x65
jne case.0x499834.56
movzx edx, byte [ecx + 6]
mov ebx, edx
add bl, 0xbf
mov bh, dl
or bh, 0x20
cmp bl, 0x1a
movzx ebx, bh
cmovae ebx, edx
cmp bl, 0x72
jne case.0x499834.56
movzx ecx, byte [ecx + 7]
mov edx, ecx
add dl, 0xbf
mov dh, cl
or dh, 0x20
cmp dl, 0x1a
movzx edx, dh
cmovae edx, ecx
cmp dl, 0x73
jne case.0x499834.56
jmp 0x499c7e
cmp bl, 0x3a
je case.0x499834.56
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
xor eax, eax
cmp byte [ecx], 0x3a
je case.0x499834.56
or byte [ebp + 0x98], 0x40
jmp case.0x499834.56
movzx ecx, word [ebp + 0x94]
cmp ecx, 0xcc
jne 0x499e37
mov ecx, dword [ebp + 0x18]
and ecx, dword [ebp + 0x1c]
cmp ecx, 0xffffffff
jne case.0x499834.56
mov ecx, dword [esi + 4]
cmp dword [ecx + 0xc], 1
jne case.0x499834.56
mov eax, dword [ecx + 8]
movzx eax, byte [eax]
mov ecx, eax
add cl, 0xbf
mov edx, eax
or dl, 0x20
cmp cl, 0x1a
movzx ecx, dl
cmovae ecx, eax
mov eax, 0xfffffded
cmp cl, 0x30
jne case.0x499834.56
mov dword [ebp + 0x1c], 0
mov dword [ebp + 0x18], 0
mov eax, 0xffffff96
jmp case.0x499834.56
mov eax, dword [esi + 4]
cmp dword [eax + 0xc], 8
jne 0x499e6d
mov eax, dword [eax + 8]
movzx ecx, byte [eax]
mov edx, ecx
add dl, 0xbf
mov dh, cl
or dh, 0x20
cmp dl, 0x1a
movzx edx, dh
cmovae edx, ecx
cmp dl, 0x74
jne 0x499e6d
movzx ecx, byte [eax + 1]
mov edx, ecx
add dl, 0xbf
mov dh, cl
or dh, 0x20
cmp dl, 0x1a
movzx edx, dh
cmovae edx, ecx
cmp dl, 0x72
jne 0x499e6d
movzx ecx, byte [eax + 2]
mov edx, ecx
add dl, 0xbf
mov dh, cl
or dh, 0x20
cmp dl, 0x1a
movzx edx, dh
cmovae edx, ecx
cmp dl, 0x61
jne 0x499e6d
movzx ecx, byte [eax + 3]
mov edx, ecx
add dl, 0xbf
mov dh, cl
or dh, 0x20
cmp dl, 0x1a
movzx edx, dh
cmovae edx, ecx
cmp dl, 0x69
jne 0x499e6d
movzx ecx, byte [eax + 4]
mov edx, ecx
add dl, 0xbf
mov dh, cl
or dh, 0x20
cmp dl, 0x1a
movzx edx, dh
cmovae edx, ecx
cmp dl, 0x6c
jne 0x499e6d
movzx ecx, byte [eax + 5]
mov edx, ecx
add dl, 0xbf
mov dh, cl
or dh, 0x20
cmp dl, 0x1a
movzx edx, dh
cmovae edx, ecx
cmp dl, 0x65
jne 0x499e6d
movzx ecx, byte [eax + 6]
mov edx, ecx
add dl, 0xbf
mov dh, cl
or dh, 0x20
cmp dl, 0x1a
movzx edx, dh
cmovae edx, ecx
cmp dl, 0x72
jne 0x499e6d
movzx eax, byte [eax + 7]
mov ecx, eax
add cl, 0xbf
mov edx, eax
or dl, 0x20
cmp cl, 0x1a
movzx ecx, dl
cmovae ecx, eax
mov eax, 0xfffffded
cmp cl, 0x73
jne case.0x499834.56
jmp 0x499e27
cmp dl, 0x3a
je case.0x499834.56
xor eax, eax
cmp byte [ebx], 0x3a
je case.0x499834.56
jmp 0x499c92
lea eax, [ecx - 0x64]
cmp ax, 0x64
jb 0x499e6d
add ecx, 0xffffff38
cmp cx, 0x63
ja 0x499e5e
mov eax, 0xffffff96
test byte [ebp + 0x98], 0x80
jne case.0x499834.56
mov eax, dword [ebp + 0x18]
and eax, dword [ebp + 0x1c]
cmp eax, 0xffffffff
je 0x499fbd
mov eax, 0xfffffded
jmp case.0x499834.56
cmp edx, 1
setne dl
cmp al, 0x2a
setne al
or al, dl
jne 0x499c7e
or ecx, 0x1002
mov dword [ebp + 0x98], ecx
jmp 0x499c7e
mov eax, dword [edx + 8]
movzx edx, byte [eax]
mov ebx, edx
add bl, 0xbf
mov bh, dl
or bh, 0x20
cmp bl, 0x1a
movzx ebx, bh
cmovae ebx, edx
cmp bl, 0x68
jne 0x499c7e
movzx edx, byte [eax + 1]
mov ebx, edx
add bl, 0xbf
mov bh, dl
or bh, 0x20
cmp bl, 0x1a
movzx ebx, bh
cmovae ebx, edx
cmp bl, 0x74
jne 0x499c7e
movzx edx, byte [eax + 2]
mov ebx, edx
add bl, 0xbf
mov bh, dl
or bh, 0x20
cmp bl, 0x1a
movzx ebx, bh
cmovae ebx, edx
cmp bl, 0x74
jne 0x499c7e
movzx edx, byte [eax + 3]
mov ebx, edx
add bl, 0xbf
mov bh, dl
or bh, 0x20
cmp bl, 0x1a
movzx ebx, bh
cmovae ebx, edx
cmp bl, 0x70
jne 0x499c7e
movzx eax, byte [eax + 4]
mov edx, eax
add dl, 0xbf
mov dh, al
or dh, 0x20
cmp dl, 0x1a
movzx edx, dh
cmovae edx, eax
cmp dl, 0x73
jne 0x499c7e
or ecx, 0x2008
mov dword [ebp + 0x98], ecx
jmp 0x499c7e
mov edx, dword [edx + 8]
movzx esi, byte [edx + 6]
cmp esi, 0x53
je 0x499f95
cmp esi, 0x54
jne 0x499c7e
mov esi, 0x4e4e4f43
xor esi, dword [edx]
mov ebx, 0x5443454e
xor ebx, dword [edx + 3]
or ebx, esi
jne 0x499c7e
test byte [ebp + 0x6c], 1
je case.0x499834.56
or ecx, 0x84
mov dword [ebp + 0x98], ecx
jmp 0x499c7e
mov eax, 0x4954504f
xor eax, dword [edx]
mov esi, 0x534e4f49
xor esi, dword [edx + 3]
or esi, eax
jne 0x499c7e
or ecx, 0x204
mov dword [ebp + 0x98], ecx
jmp 0x499c7e
mov eax, dword [esi + 4]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
call fcn.0049a400
mov ecx, eax
mov dword [ebp + 0x1c], edx
mov dword [ebp + 0x18], eax
and ecx, edx
mov eax, 0xfffffded
cmp ecx, 0xffffffff
jne 0x499e27
jmp case.0x499834.56
push ebx
call fcn.0049a600
add esp, 4
mov byte [ebp + 0xa1], al
or byte [ebp + 0x9a], 1
jmp 0x499c7e
movzx eax, ax
add eax, eax
lea eax, [eax + eax*4]
movzx ecx, si
add ecx, eax
add ecx, ecx
lea eax, [ecx + ecx*4]
movzx ecx, dx
lea edx, [eax + ecx]
add eax, ecx
add eax, 0xffffeb30
mov word [ebp + 0x94], ax
movzx ecx, dx
mov eax, 0xfffffded
cmp ecx, 0x1535
je case.0x499834.56
jmp 0x499e27
push 0x1a8
push str.nghttp2_http.c
push str.nv__name__len___0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
nop word [eax + eax]