Function at 0x49f680
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x6c
mov dword [esp], 0x4db1c8
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x34], edx
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
call sym.___emutls_get_address
cmp byte [eax], 0
mov dword [esp + 0x24], eax
jne 0x49fea0
mov edx, 4
mov ecx, 0x20
mov edi, eax
call sym._nimNewObj_8
xor ecx, ecx
mov dword [esp + 0x48], 0
mov dword [esp + 0x28], eax
mov esi, eax
mov dword [esp + 0x4c], 0x4ee13c
call sym._newHttpHeaders__pureZhttpcore_u114_4
cmp byte [edi], 0
mov edx, eax
jne 0x49fa60
lea ecx, [esi + 0x10]
call sym._eqsink___pureZhttpcore_u1767_8
movzx ebx, byte [edi]
test bl, bl
jne 0x49fa60
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 0x5c]
mov dword [esp + 4], 0xf4240
mov dword [esp], 2
mov ecx, dword [eax]
call sym._recvLine__pureZnet_u2183_16
sub esp, 8
mov esi, dword [esp + 0x24]
cmp byte [esi], 0
jne 0x49fa60
mov dword [esp + 4], edx
lea ecx, [esp + 0x48]
mov dword [esp], eax
call sym._eqsink___stdZassertions_u36_12
sub esp, 8
mov edx, dword [esp + 0x48]
test edx, edx
je 0x49ff79
mov ecx, dword [esp + 0x4c]
cmp edx, 2
jne 0x49fa80
cmp word [ecx + 4], 0xa0d
je 0x49ffd0
test bl, bl
jne 0x49fda8
mov eax, dword [0x4edd00]
mov edx, dword [0x4edd04]
mov dword [esp + 0x10], 0
mov dword [esp + 8], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x4c]
mov dword [esp], eax
mov dword [esp + 4], edx
call sym._skipIgnoreCase__pureZparseutils_u865_20
sub esp, 0x14
mov esi, eax
mov eax, dword [esp + 0x24]
cmp byte [eax], 0
jne 0x49fa60
test esi, esi
jle 0x49f980
mov eax, dword [0x4edcf0]
mov edx, dword [0x4edcf4]
mov dword [esp + 0x10], esi
mov dword [esp + 8], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x4c]
mov dword [esp], eax
mov dword [esp + 4], edx
call sym._skipIgnoreCase__pureZparseutils_u865_20
sub esp, 0x14
mov edi, eax
mov eax, dword [esp + 0x24]
cmp byte [eax], 0
jne 0x49fa60
mov ecx, dword [0x4edcf0]
mov ebx, dword [0x4edcf4]
test edi, edi
jle 0x49fcd8
mov dword [esp], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 4], ebx
xor ebx, ebx
call sym._eqsink___stdZassertions_u36_12
sub esp, 8
add esi, edi
seto bl
jo 0x4a008c
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
lea edi, [eax - 1]
mov edx, edi
sub edx, esi
cmp edx, 0xffffffff
je 0x49f84f
cmp esi, eax
jge 0x49fd48
test esi, esi
js 0x49fd48
add edx, 1
lea eax, [ecx + esi + 4]
test ecx, ecx
cmovne ecx, eax
mov edi, edx
lea esi, [esi]
cmp edi, ebx
jle 0x49f87c
movzx eax, byte [ecx + ebx]
lea edx, [eax - 9]
cmp dl, 4
jbe 0x49f970
cmp al, 0x20
je 0x49f970
mov eax, dword [esp + 0x24]
cmp byte [eax], 0
jne 0x49fa60
add ebx, esi
jo 0x4a008c
mov eax, dword [esp + 0x48]
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x30], eax
sub eax, 1
mov dword [esp + 0x38], esi
mov edi, eax
jo 0x49fd68
sub edi, ebx
jo 0x49fd68
xor eax, eax
add edi, 1
seto al
mov esi, eax
jo 0x49fd68
test edi, edi
js 0x49fed8
mov ecx, edi
call sym._mnewString_4
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], edx
test edi, edi
je 0x49fd6d
mov dword [esp + 0x3c], ebp
mov ebp, esi
mov esi, edi
mov edi, dword [esp + 0x38]
jmp 0x49f946
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x49f912
mov eax, dword [eax]
test eax, 0x40000000
je 0x49f912
lea ecx, [esp + 0x58]
call sym._nimPrepareStrMutationImpl__system_u2414_4
mov eax, ebp
add eax, ebx
jo 0x49fd5d
cmp eax, dword [esp + 0x30]
jge 0x49ff20
test eax, eax
js 0x49ff20
movzx ecx, byte [edi + eax + 4]
mov eax, dword [esp + 0x5c]
mov byte [eax + ebp + 4], cl
add ebp, 1
cmp esi, ebp
jle 0x4a0065
mov eax, dword [esp + 0x58]
cmp ebp, eax
jl 0x49f8f8
mov esi, ebp
sub eax, 1
mov ebp, dword [esp + 0x3c]
mov dword [esp + 4], eax
mov dword [esp], esi
call sym._raiseIndexError2
jmp 0x49fd6d
add ebx, 1
jmp 0x49f860
mov eax, dword [esp + 0x48]
lea ecx, [eax + 0x18]
call sym._rawNewString_4
lea ebx, [eax + edx + 4]
mov ecx, eax
add eax, 0x17
mov edi, edx
mov dword [ebx], 0x61766e69
mov dword [ebx + 4], 0x2064696c
mov dword [ebx + 8], 0x70747468
mov dword [ebx + 0xc], 0x72657620
mov dword [ebx + 0x10], 0x6e6f6973
mov dword [ebx + 0x14], 0x60202c
mov dword [esp + 0x30], eax
jo 0x4a0070
lea ebx, [ecx + edx + 0x1b]
mov ecx, dword [esp + 0x48]
test ecx, ecx
jle 0x49fa1a
mov edx, ecx
mov eax, dword [esp + 0x4c]
add edx, 1
jo 0x4a00f7
test edx, edx
js 0x49ff40
add eax, 4
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ebx
mov dword [esp + 0x38], ecx
call sym._memcpy
mov eax, dword [esp + 0x38]
add eax, dword [esp + 0x30]
jo 0x4a00f7
mov dword [esp + 0x30], eax
lea ebx, [eax + edi + 4]
mov eax, 0x60
mov word [ebx], ax
mov eax, dword [esp + 0x30]
add eax, 1
jo 0x4a007e
mov dword [esp], eax
mov dword [esp + 4], edi
call sym._httpError__pureZhttpclient_u307_8
sub esp, 8
test edi, edi
je 0x49fa4e
test dword [edi], 0x40000000
je 0x49ff10
mov eax, dword [esp + 0x24]
cmp byte [eax], 0
je 0x49f7ba
lea esi, [esi]
nop
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x49fa74
test dword [eax], 0x40000000
je 0x49fd30
mov eax, dword [esp + 0x28]
add esp, 0x6c
pop ebx
pop esi
pop edi
pop ebp
ret
test bl, bl
je 0x49f771
mov dword [esp + 0x50], 0
lea eax, [edx - 1]
mov dword [esp + 0x54], 0x4ee13c
test edx, edx
js 0x49fdc0
test ecx, ecx
lea eax, [ecx + 4]
cmovne ecx, eax
xor ebp, ebp
jmp 0x49fab9
cmp byte [ecx + ebp], 0x3a
je 0x49fabd
add ebp, 1
cmp edx, ebp
jg 0x49fab0
lea eax, [esp + 0x50]
mov dword [esp + 4], ebp
mov dword [esp], eax
call sym._fastSubstr__pureZparseutils_u225_16
sub esp, 8
mov eax, dword [esp + 0x24]
cmp byte [eax], 0
jne 0x49feb8
test ebp, ebp
jle 0x49fe20
mov eax, dword [esp + 0x48]
cmp eax, ebp
jle 0x49fe4f
mov eax, dword [esp + 0x4c]
cmp byte [eax + ebp + 4], 0x3a
je 0x49fb23
mov eax, dword [0x4edc80]
mov edx, dword [0x4edc84]
mov dword [esp], eax
mov dword [esp + 4], edx
call sym._httpError__pureZhttpclient_u307_8
sub esp, 8
mov eax, dword [esp + 0x24]
cmp byte [eax], 0
jne 0x49feb8
mov eax, ebp
add eax, 1
mov dword [esp + 0x30], eax
jo 0x4a00ed
mov edi, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov esi, edi
mov dword [esp + 0x38], eax
sub esi, 1
jo 0x49fec9
sub esi, dword [esp + 0x30]
jo 0x49fec9
xor ebx, ebx
add esi, 1
seto bl
jo 0x49fec9
test esi, esi
js 0x4a0096
mov ecx, esi
call sym._mnewString_4
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], edx
test esi, esi
je 0x49fc00
mov dword [esp + 0x3c], ebp
mov ebp, edi
mov edi, esi
mov esi, dword [esp + 0x38]
jmp 0x49fbde
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x49fbaa
mov eax, dword [eax]
test eax, 0x40000000
je 0x49fbaa
lea ecx, [esp + 0x58]
call sym._nimPrepareStrMutationImpl__system_u2414_4
mov eax, dword [esp + 0x30]
add eax, ebx
jo 0x49fec5
cmp ebp, eax
jle 0x4a00ca
test eax, eax
js 0x4a00ca
movzx ecx, byte [esi + eax + 4]
mov eax, dword [esp + 0x5c]
mov byte [eax + ebx + 4], cl
add ebx, 1
cmp edi, ebx
jle 0x4a00e4
mov eax, dword [esp + 0x58]
cmp ebx, eax
jl 0x49fb90
sub eax, 1
mov dword [esp], ebx
mov ebp, dword [esp + 0x3c]
mov dword [esp + 4], eax
call sym._raiseIndexError2
lea esi, [esi]
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x58]
mov ebx, dword [esp + 0x5c]
cmp byte [edi], 0
jne 0x49fcb2
mov dword [esp + 0x10], 0x4edc60
mov dword [esp + 0xc], 1
mov dword [esp + 8], 1
mov dword [esp], eax
mov dword [esp + 4], ebx
call sym._nsuStrip_20
sub esp, 0x14
cmp byte [edi], 0
mov esi, edx
jne 0x49fca2
mov edx, dword [esp + 0x28]
mov ecx, dword [edx + 0x10]
mov edx, dword [esp + 0x54]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0xc], esi
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._add__pureZhttpcore_u3827_20
sub esp, 0x10
cmp byte [edi], 0
jne 0x49fca2
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 0x10]
mov ecx, dword [eax]
call sym._len__pureZhttpcore_u2438_4
cmp eax, 0x2710
jle 0x49fca2
cmp byte [edi], 0
jne 0x49fca2
mov eax, dword [0x4edc3c]
mov edx, dword [0x4edc40]
mov dword [esp], eax
mov dword [esp + 4], edx
call sym._httpError__pureZhttpclient_u307_8
sub esp, 8
test esi, esi
je 0x49fcb2
test dword [esi], 0x40000000
je 0x49fe90
test ebx, ebx
je 0x49fe5e
test dword [ebx], 0x40000000
jne 0x49fe5e
mov dword [esp], ebx
call sym._deallocShared
jmp 0x49fe5e
mov eax, dword [0x4edce0]
mov edx, dword [0x4edce4]
mov dword [esp + 0x10], esi
mov dword [esp + 8], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x4c]
mov dword [esp], eax
mov dword [esp + 4], edx
call sym._skipIgnoreCase__pureZparseutils_u865_20
sub esp, 0x14
mov edi, eax
mov eax, dword [esp + 0x24]
cmp byte [eax], 0
jne 0x49fa60
test edi, edi
jle 0x49fde0
mov ecx, dword [0x4edce0]
mov ebx, dword [0x4edce4]
jmp 0x49f80b
mov dword [esp], eax
call sym._deallocShared
mov eax, dword [esp + 0x28]
add esp, 0x6c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov dword [esp], esi
call sym._raiseIndexError4
jmp 0x49f87c
mov ebp, dword [esp + 0x3c]
lea esi, [esi]
call sym._raiseOverflow
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x5c]
cmp byte [esi], 0
jne 0x49fa60
mov edi, dword [esp + 0x28]
mov dword [esp], edx
mov dword [esp + 4], eax
lea ecx, [edi + 8]
call sym._eqsink___stdZassertions_u36_12
sub esp, 8
mov ebx, 1
jmp 0x49f704
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0x4ee13c
jmp 0x49faa3
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], 0
call sym._raiseIndexError4
jmp 0x49fad0
mov ecx, dword [0x4edc9c]
mov ebx, dword [0x4edca0]
mov dword [esp], ecx
mov dword [esp + 4], ebx
call sym._httpError__pureZhttpclient_u307_8
sub esp, 8
mov eax, dword [esp + 0x24]
cmp byte [eax], 0
jne 0x49fa60
mov ecx, dword [0x4edce0]
mov ebx, dword [0x4edce4]
jmp 0x49f80b
mov eax, dword [0x4edc80]
mov edx, dword [0x4edc84]
mov dword [esp], eax
mov dword [esp + 4], edx
call sym._httpError__pureZhttpclient_u307_8
sub esp, 8
mov eax, dword [esp + 0x24]
cmp byte [eax], 0
jne 0x49feb8
mov eax, dword [esp + 0x48]
test ebp, ebp
je 0x49fae9
sub eax, 1
mov dword [esp], ebp
mov dword [esp + 4], eax
call sym._raiseIndexError2
mov eax, dword [esp + 0x54]
test eax, eax
je 0x49fe6e
test dword [eax], 0x40000000
je 0x49fe80
mov eax, dword [esp + 0x24]
cmp byte [eax], 0
je 0x49fd98
jmp 0x49fa60
mov dword [esp], eax
call sym._deallocShared
jmp 0x49fe6e
mov dword [esp], esi
call sym._deallocShared
jmp 0x49fcb2
mov dword [esp + 0x28], 0
mov eax, dword [esp + 0x28]
add esp, 0x6c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x54]
test eax, eax
jne 0x49fe66
jmp 0x49fa60
mov ebp, dword [esp + 0x3c]
call sym._raiseOverflow
jmp 0x49fc00
mov dword [esp], edi
sar edi, 0x1f
mov dword [esp + 0x10], 0x7fffffff
mov dword [esp + 0x14], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 4], edi
call sym._raiseRangeErrorI
jmp 0x49fd6d
mov dword [esp], edi
call sym._deallocShared
jmp 0x49fa4e
mov edx, dword [esp + 0x30]
mov ebp, dword [esp + 0x3c]
mov dword [esp], eax
sub edx, 1
mov dword [esp + 4], edx
call sym._raiseIndexError2
jmp 0x49fd6d
mov dword [esp + 0x10], 0x7fffffff
mov dword [esp + 0x14], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp], 0x80000000
mov dword [esp + 4], 0xffffffff
call sym._raiseRangeErrorI
jmp 0x49fa1a
mov esi, dword [esp + 0x2c]
cmp byte [esi + 4], 0
je 0x49ffa0
mov ecx, dword [esi]
mov edx, 2
call sym._close__pureZnet_u1913_8
mov eax, dword [esp + 0x24]
cmp byte [eax], 0
jne 0x49fa60
mov byte [esi + 4], 0
mov esi, dword [esp + 0x24]
cmp byte [esi], 0
jne 0x49fa60
mov eax, dword [0x4edbdc]
mov edx, dword [0x4edbe0]
mov dword [esp], eax
mov dword [esp + 4], edx
call sym._httpError__pureZhttpclient_u307_8
sub esp, 8
cmp byte [esi], 0
jne 0x49fa60
mov edx, dword [0x4ee148]
mov eax, dword [0x4ee144]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._newStringStream__pureZstreams_u918_8
sub esp, 8
mov edx, eax
mov edi, dword [esp + 0x24]
cmp byte [edi], 0
jne 0x49fa60
mov esi, dword [esp + 0x28]
lea ecx, [esi + 0x1c]
call sym._eqsink___pureZstreams_u773_8
cmp byte [esp + 0x34], 0
je 0x49fa60
mov ecx, esi
call sym._code__pureZhttpclient_u3437_4
cmp byte [edi], 0
jne 0x49fa60
cmp eax, 0xcc
je 0x49fa60
mov edx, dword [esi + 0x1c]
mov edi, dword [esp + 0x2c]
mov dword [esp], 1
lea ecx, [edi + 0x90]
call sym._eqcopy___pureZstreams_u765_12
mov ecx, dword [esi]
mov ebx, dword [esi + 4]
sub esp, 4
mov edx, dword [esi + 0x10]
mov dword [esp], ecx
mov ecx, edi
mov dword [esp + 4], ebx
call sym._parseBody__pureZhttpclient_u2766_16
sub esp, 8
jmp 0x49fa60
mov ebp, dword [esp + 0x3c]
jmp 0x49fd6d
mov dword [esp + 0x30], ecx
call sym._raiseOverflow
jmp 0x49f9ce
call sym._raiseOverflow
mov eax, dword [esp + 0x30]
jmp 0x49fa2f
call sym._raiseOverflow
jmp 0x49fa60
mov dword [esp], esi
sar esi, 0x1f
mov dword [esp + 0x10], 0x7fffffff
mov dword [esp + 0x14], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 4], esi
call sym._raiseRangeErrorI
jmp 0x49fc00
mov edi, ebp
mov dword [esp], eax
mov ebp, dword [esp + 0x3c]
sub edi, 1
mov dword [esp + 4], edi
call sym._raiseIndexError2
jmp 0x49fc00
mov ebp, dword [esp + 0x3c]
jmp 0x49fc00
call sym._raiseOverflow
jmp 0x49fe5e
call sym._raiseOverflow
jmp 0x49fa1a