Function at 0x497f40
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.00493850
add esp, 8
test eax, eax
je 0x497fab
mov edi, dword [esp + 0x24]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esi + 8]
cmp eax, 0x25
ja case.default.0x497f73
jmp dword [eax*4 + 0x9b64b0]
cmp byte [ebp + 0x678], 0
jne 0x497f8d
cmp byte [edi + 8], 5
jne 0x498291
mov eax, dword [esi + 4]
push dword [eax + 0xc]
push dword [eax + 8]
call fcn.004939a0
add esp, 8
test eax, eax
jne 0x4980ef
jmp 0x4981a8
mov edx, dword [esi]
mov ecx, dword [edx + 0xc]
test ecx, ecx
je 0x497fe5
mov esi, dword [edx + 8]
mov eax, 0xfffffded
cmp byte [esi], 0x3a
je case.0x498224.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.0x498224.56
inc esi
cmp ecx, esi
jne 0x497fd0
or byte [ebp + 0x98], 0x40
jmp 0x4981d0
cmp eax, 0x42
jne case.0x497f73.2
mov eax, dword [esp + 0x20]
movzx eax, byte [eax + 0x9c]
test al, 0x40
je 0x498048
mov edx, dword [esi + 4]
mov ecx, dword [edx + 0xc]
test ecx, ecx
je 0x4981a8
mov edx, dword [edx + 8]
xor ebx, ebx
jmp 0x498029
inc ebx
cmp ecx, ebx
je 0x4981a8
movzx esi, byte [edx + ebx]
cmp esi, 0x20
je 0x498020
cmp esi, 9
je 0x498020
mov esi, dword [esp + 0x28]
jmp 0x498048
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 0x4981dd
push edx
push ecx
call fcn.004938d0
add esp, 8
test eax, eax
jne 0x4980ef
jmp 0x4981a8
mov ecx, dword [esi + 4]
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x4981a8
mov esi, dword [ecx + 8]
movzx edx, byte [esi]
and dl, 0xdf
add dl, 0xbf
cmp dl, 0x19
ja 0x4981a8
cmp eax, 1
je 0x4980ef
mov edx, 1
jmp 0x4980a5
inc edx
cmp eax, edx
je 0x4980ef
movzx ebx, byte [esi + edx]
mov ecx, ebx
add cl, 0xd0
cmp cl, 0xa
jb 0x4980a0
mov ecx, ebx
and cl, 0xdf
add cl, 0xbf
cmp cl, 0x1a
jb 0x4980a0
add ebx, 0xffffffd5
cmp ebx, 3
ja 0x4981a8
cmp ebx, 1
jne 0x4980a0
jmp 0x4981a8
mov eax, dword [esi + 4]
push dword [eax + 0xc]
push dword [eax + 8]
call fcn.00493920
add esp, 8
test eax, eax
je 0x4981a8
mov ecx, dword [esp + 0x2c]
cmp byte [ebp + 0x678], 0
je 0x498112
xor edx, edx
cmp byte [ebp + 0x675], 0
setne dl
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x28]
jmp 0x498126
xor edx, edx
cmp byte [edi + 8], 5
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x28]
jne 0x4981f1
mov eax, dword [esi]
mov eax, dword [eax + 8]
movzx ebx, byte [eax]
cmp bl, 0x3a
jne 0x49814d
mov eax, 0xfffffded
test ecx, ecx
jne case.0x498224.56
test byte [ebp + 0x98], 0x40
jne case.0x498224.56
mov eax, dword [esp + 0x28]
mov esi, dword [eax + 8]
mov eax, 0xfffffded
cmp esi, 0x43
ja case.0x498162.2
jmp dword [esi*4 + 0x9b6634]
mov ecx, dword [ebp + 0x98]
test cl, 1
jne case.0x498224.56
mov edx, dword [esp + 0x28]
mov edx, dword [edx + 4]
cmp dword [edx + 0xc], 0
je case.0x498224.56
or ecx, 1
mov dword [ebp + 0x98], ecx
jmp 0x49866e
mov eax, dword [esi + 4]
push dword [eax + 0xc]
push dword [eax + 8]
call fcn.00493960
add esp, 8
test eax, eax
jne 0x4980ef
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
cmp dword [eax + 0xc], 0
je 0x498a32
mov ecx, dword [eax + 8]
mov eax, 0xfffffded
cmp byte [ecx], 0x3a
mov ecx, dword [esp + 0x20]
je case.0x498224.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.00493890
add esp, 8
test eax, eax
jne 0x4980ef
jmp 0x4981a8
mov eax, dword [esi]
mov ebx, dword [eax + 8]
movzx edx, byte [ebx]
cmp dl, 0x3a
jne 0x498210
mov eax, 0xfffffded
test ecx, ecx
jne case.0x498224.56
test byte [ebp + 0x98], 0x40
jne case.0x498224.56
mov ecx, dword [esi + 8]
mov eax, 0xfffffded
add ecx, 0xfffffff9
cmp ecx, 0x3a
ja case.0x498224.8
jmp dword [ecx*4 + 0x9b6548]
mov ecx, dword [ebp + 0x98]
test cl, 0x20
jne case.0x498224.56
mov edx, dword [esi + 4]
mov esi, dword [edx + 0xc]
test esi, esi
je case.0x498224.56
or ecx, 0x20
mov dword [ebp + 0x98], ecx
cmp esi, 3
jne case.0x498224.56
mov edx, dword [edx + 8]
movzx eax, byte [edx]
mov ecx, eax
add cl, 0xc6
cmp cl, 0xf6
jb 0x49827e
movzx ecx, byte [edx + 1]
mov esi, ecx
add cl, 0xc6
cmp cl, 0xf6
jb 0x49827e
movzx edx, byte [edx + 2]
mov ecx, edx
add cl, 0xc6
cmp cl, 0xf6
jae 0x4989f3
mov word [ebp + 0x94], 0xffff
mov eax, 0xfffffded
jmp case.0x498224.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 0x4982ae
push ecx
push eax
jmp 0x49805b
push ecx
push eax
call fcn.00493890
add esp, 8
test eax, eax
jne 0x4980ef
jmp 0x4981a8
mov ecx, dword [ebp + 0x18]
and ecx, dword [ebp + 0x1c]
cmp ecx, 0xffffffff
jne case.0x498224.56
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 4]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
call fcn.00498df0
mov ecx, eax
mov eax, 0xfffffded
mov dword [ebp + 0x1c], edx
mov dword [ebp + 0x18], ecx
and ecx, edx
cmp ecx, 0xffffffff
jne 0x49866e
jmp case.0x498224.56
test ecx, ecx
jne 0x49866e
test byte [ebp + 0x6c], 1
je 0x49866e
test byte [ebp + 0x9c], 0x10
je 0x49866e
test byte [ebp + 0x9a], 2
jne 0x49866e
movzx eax, byte [ebp + 0xa1]
mov ebx, esp
push eax
push ebx
call fcn.00499000
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.00498d20
add esp, 0xc
test eax, eax
je 0x4989d8
mov eax, 0xfffcffff
and eax, dword [ebp + 0x98]
or eax, 0x20000
mov dword [ebp + 0x98], eax
jmp 0x49866e
mov ecx, dword [ebp + 0x98]
test cl, 2
jne case.0x498224.56
mov edx, dword [esp + 0x28]
mov esi, dword [edx + 4]
mov edx, dword [esi + 0xc]
test edx, edx
je case.0x498224.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 0x498867
or ecx, 0x802
mov dword [ebp + 0x98], ecx
jmp 0x49866e
mov ecx, dword [ebp + 0x98]
test cl, 0x10
jne case.0x498224.56
mov edx, dword [esp + 0x28]
mov edx, dword [edx + 4]
cmp dword [edx + 0xc], 0
je case.0x498224.56
or ecx, 0x10
mov dword [ebp + 0x98], ecx
jmp 0x49866e
mov ecx, dword [ebp + 0x98]
test cl, 8
jne case.0x498224.56
mov edx, dword [esp + 0x28]
mov edx, dword [edx + 4]
mov esi, dword [edx + 0xc]
test esi, esi
je case.0x498224.56
mov eax, ecx
or eax, 8
mov dword [ebp + 0x98], eax
cmp esi, 5
je 0x49888b
cmp esi, 4
jne 0x49866e
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 0x49866e
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 0x49866e
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 0x49866e
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 0x49866e
jmp 0x49892d
mov ecx, dword [ebp + 0x98]
test cl, 4
jne case.0x498224.56
mov edx, dword [esp + 0x28]
mov edx, dword [edx + 4]
mov esi, dword [edx + 0xc]
test esi, esi
je case.0x498224.56
mov ebx, ecx
or ebx, 4
mov dword [ebp + 0x98], ebx
cmp esi, 7
je 0x49893e
cmp esi, 4
jne 0x49866e
mov eax, dword [edx + 8]
cmp dword [eax], 0x44414548
jne 0x49866e
or ecx, 0x104
mov dword [ebp + 0x98], ecx
jmp 0x49866e
test edx, edx
je case.0x498224.56
mov ecx, dword [ebp + 0x98]
test cx, cx
js case.0x498224.56
mov edx, dword [esp + 0x28]
mov edx, dword [edx + 4]
cmp dword [edx + 0xc], 0
je case.0x498224.56
or ecx, 0x8000
mov dword [ebp + 0x98], ecx
jmp 0x49866e
mov ecx, dword [esp + 0x28]
mov ecx, dword [ecx + 4]
cmp dword [ecx + 0xc], 8
jne case.0x498224.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.0x498224.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.0x498224.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.0x498224.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.0x498224.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.0x498224.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.0x498224.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.0x498224.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.0x498224.56
jmp 0x49866e
cmp bl, 0x3a
je case.0x498224.56
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
xor eax, eax
cmp byte [ecx], 0x3a
je case.0x498224.56
or byte [ebp + 0x98], 0x40
jmp case.0x498224.56
movzx ecx, word [ebp + 0x94]
cmp ecx, 0xcc
jne 0x498827
mov ecx, dword [ebp + 0x18]
and ecx, dword [ebp + 0x1c]
cmp ecx, 0xffffffff
jne case.0x498224.56
mov ecx, dword [esi + 4]
cmp dword [ecx + 0xc], 1
jne case.0x498224.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.0x498224.56
mov dword [ebp + 0x1c], 0
mov dword [ebp + 0x18], 0
mov eax, 0xffffff96
jmp case.0x498224.56
mov eax, dword [esi + 4]
cmp dword [eax + 0xc], 8
jne 0x49885d
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 0x49885d
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 0x49885d
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 0x49885d
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 0x49885d
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 0x49885d
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 0x49885d
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 0x49885d
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.0x498224.56
jmp 0x498817
cmp dl, 0x3a
je case.0x498224.56
xor eax, eax
cmp byte [ebx], 0x3a
je case.0x498224.56
jmp 0x498682
lea eax, [ecx - 0x64]
cmp ax, 0x64
jb 0x49885d
add ecx, 0xffffff38
cmp cx, 0x63
ja 0x49884e
mov eax, 0xffffff96
test byte [ebp + 0x98], 0x80
jne case.0x498224.56
mov eax, dword [ebp + 0x18]
and eax, dword [ebp + 0x1c]
cmp eax, 0xffffffff
je 0x4989ad
mov eax, 0xfffffded
jmp case.0x498224.56
cmp edx, 1
setne dl
cmp al, 0x2a
setne al
or al, dl
jne 0x49866e
or ecx, 0x1002
mov dword [ebp + 0x98], ecx
jmp 0x49866e
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 0x49866e
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 0x49866e
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 0x49866e
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 0x49866e
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 0x49866e
or ecx, 0x2008
mov dword [ebp + 0x98], ecx
jmp 0x49866e
mov edx, dword [edx + 8]
movzx esi, byte [edx + 6]
cmp esi, 0x53
je 0x498985
cmp esi, 0x54
jne 0x49866e
mov esi, 0x4e4e4f43
xor esi, dword [edx]
mov ebx, 0x5443454e
xor ebx, dword [edx + 3]
or ebx, esi
jne 0x49866e
test byte [ebp + 0x6c], 1
je case.0x498224.56
or ecx, 0x84
mov dword [ebp + 0x98], ecx
jmp 0x49866e
mov eax, 0x4954504f
xor eax, dword [edx]
mov esi, 0x534e4f49
xor esi, dword [edx + 3]
or esi, eax
jne 0x49866e
or ecx, 0x204
mov dword [ebp + 0x98], ecx
jmp 0x49866e
mov eax, dword [esi + 4]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
call fcn.00498df0
mov ecx, eax
mov dword [ebp + 0x1c], edx
mov dword [ebp + 0x18], eax
and ecx, edx
mov eax, 0xfffffded
cmp ecx, 0xffffffff
jne 0x498817
jmp case.0x498224.56
push ebx
call fcn.00498ff0
add esp, 4
mov byte [ebp + 0xa1], al
or byte [ebp + 0x9a], 1
jmp 0x49866e
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.0x498224.56
jmp 0x498817
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]