Function at 0x41e200
Capabilities:
Check for software breakpoints
Reference http user-agent string

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov ebp, eax
mov ebx, dword [eax + 0x8edc]
mov ecx, dword [eax + 0x8ed4]
test ebx, ebx
je 0x41e825
test ecx, ecx
jle 0x41e82d
lea edx, [eax + 0x18]
xor eax, eax
lea esi, [esi]
mov esi, dword [edx]
test esi, esi
je 0x41e810
inc eax
cmp eax, ecx
je 0x41e24a
add edx, 0xe48
cmp eax, 0xa
jne 0x41e230
lea ebx, [ebp + 0x30]
lea eax, [ebp + 0x378]
mov dword [esp + 0x28], eax
xor esi, esi
mov byte [esp + 0x33], 0
cmp byte [ebx + 0xe10], 0
jne 0x41e6e0
cmp byte [ebx + 0xe11], 0
je 0x41e290
cmp byte [ebx + 0xe14], 0
jne 0x41eac0
lea esi, [esi]
lea esi, [esi]
nop
mov eax, dword [ebx + 0xdf4]
cmp eax, 0x5c
je 0x41e369
jg 0x41e630
test eax, eax
je 0x41e840
cmp eax, 0x41
jne 0x41e639
mov eax, dword [ebx - 0x18]
test eax, eax
je 0x41e643
mov byte [ebx + 0xe14], 0
lea eax, [esi + esi]
add eax, esi
add eax, eax
add eax, esi
lea eax, [esi + eax*8]
lea eax, [esi + eax*8]
lea edx, [ebp + eax*8 + 0x600]
mov ecx, 0x209
mov edi, edx
xor eax, eax
rep stosd dword es:[edi], eax
mov dword [ebx + 0xdf8], 0
mov eax, dword [ebx + 0xe00]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov dword [esp], 0x400
call sub.msvcrt.dll_malloc
mov dword [ebx + 0xe00], eax
mov dword [ebx + 0xe04], 0
mov dword [ebx + 0xe0c], 0
mov dword [ebx + 0xe08], 0x400
cmp byte [ebx + 0xe11], 0
je 0x41e343
cmp byte [ebx + 0xe12], 0
jne 0x41e38f
mov edx, dword [ebx - 0x18]
mov eax, ebx
call fcn.0041a5a0
test eax, eax
jne 0x41eca0
mov dword [ebx + 0xdfc], 0
mov dword [ebx + 0xdf4], 0x5c
mov eax, dword [ebx + 0xdfc]
test eax, eax
je 0x41e720
cmp eax, 0x112
je 0x41e72a
cmp byte [ebx + 0xe13], 0
jne 0x41e770
mov eax, dword [ebx - 0x28]
test eax, eax
je 0x41ebb0
mov ecx, dword [ebx - 0x24]
test ecx, ecx
je 0x41eb60
mov edx, dword [ebx - 0x2c]
test edx, edx
je 0x41eb70
mov edi, dword [ebx - 0x30]
cmp edi, 2
je 0x41eb81
jg 0x41e7d0
test edi, edi
je 0x41ecd0
dec edi
jne 0x41e3f0
mov edi, dword [ebx - 0x18]
mov dword [esp + 4], edx
mov dword [esp], eax
mov ecx, 0x468826
mov edx, edi
mov eax, ebx
call fcn.004299d0
lea esi, [esi]
lea esi, [esi]
mov byte [ebx + 0xe12], 1
mov byte [ebx + 0xe10], 1
mov dword [ebx + 0xdf4], 0x77
mov eax, dword [ebx - 0xc]
mov dword [esp + 0x3c], eax
mov eax, dword [ebx - 8]
mov dword [esp + 0x34], eax
lea eax, [ebx + 0xe00]
mov dword [esp + 0x38], eax
lea eax, [ebx + 0x5d0]
mov dword [esp + 0x2c], eax
mov eax, dword [ebx + 0xdf8]
cmp eax, 0x44
je 0x41e890
jg 0x41e680
test eax, eax
je 0x41ea90
cmp eax, 0x2b
jne 0x41eaa0
mov dword [esp + 8], 0x800
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.00430060
cmp eax, 0xffff9700
je 0x41ea43
mov dword [ebx + 0xdd8], eax
test eax, eax
jle 0x41e8c5
mov dword [esp + 4], 0x20
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call sub.msvcrt.dll_strchr
test eax, eax
je 0x41eee1
inc eax
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov dword [ebx + 0xdec], eax
mov dword [esp + 4], 0x20
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call sub.msvcrt.dll_strchr
test eax, eax
je 0x41eed7
inc eax
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov ecx, eax
xor eax, eax
mov edx, 0x64
jmp 0x41e4f6
inc eax
lea edx, [eax + eax]
add edx, eax
mov edx, dword [edx*4 + 0x469d80]
cmp edx, 0xffffffff
je 0x41ee50
cmp ecx, edx
jne 0x41e4e0
lea edx, [eax + eax]
add eax, edx
cmp dword [eax*4 + 0x469d84], 0xffffffff
je 0x41ee50
cmp ecx, 0x130
je 0x41ee35
cmp ecx, 0xcc
je 0x41ee35
lea ecx, [esp + 0x4c]
mov edx, str.Transfer_Encoding
mov eax, dword [esp + 0x2c]
call fcn.0041aa80
mov edi, eax
test eax, eax
je 0x41e55d
mov dword [esp + 8], 7
mov dword [esp + 4], str.chunked
mov dword [esp], eax
call sub.msvcrt.dll_strncmp
test eax, eax
je 0x41ec20
lea ecx, [esp + 0x4c]
mov edx, str.Content_Length
mov eax, dword [esp + 0x2c]
call fcn.0041aa80
test eax, eax
je 0x41ee64
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msvcrt.dll_strtol
mov dword [ebx + 0xde4], eax
cmp eax, 0xfffffff7
je 0x41ee40
cmp eax, 0xfffffffe
je 0x41ee5a
cmp eax, 0xfffffffd
je 0x41ec4a
cmp eax, 0xfffffff8
je 0x41ee64
mov dword [esp + 4], str._r_n_r_n
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call sub.msvcrt.dll_strstr
test eax, eax
je 0x41e84f
lea edx, [eax + 4]
mov dword [ebx + 0xdd4], edx
mov ecx, dword [esp + 0x2c]
sub ecx, edx
add ecx, dword [ebx + 0xdd8]
mov dword [ebx + 0xde8], ecx
mov eax, dword [esp + 0x38]
call fcn.00409ba0
mov dword [ebx + 0xddc], eax
test eax, eax
js 0x41ee10
add dword [ebx + 0xde0], eax
mov edx, dword [ebx + 0xde4]
sub edx, eax
mov dword [ebx + 0xde4], edx
test edx, edx
jle 0x41ec70
mov dword [ebx + 0xdf8], 0x58
jmp 0x41e689
cmp eax, 0x77
je 0x41e408
mov dword [ebx + 0xdf4], 0
cmp byte [ebx + 0xe10], 0
je 0x41e651
mov byte [esp + 0x33], 1
inc esi
cmp dword [ebp + 0x8ed4], esi
jle 0x41e671
add ebx, 0xe48
add dword [esp + 0x28], 0xe48
cmp esi, 0xa
jne 0x41e25e
mov al, byte [esp + 0x33]
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
cmp eax, 0x58
jne 0x41eaa0
mov dword [esp + 8], 0x800
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.00430060
cmp eax, 0xffff9700
je 0x41ea43
mov dword [ebx + 0xdd8], eax
test eax, eax
je 0x41ec70
cmp eax, 0xffff8780
je 0x41ec70
test eax, eax
js 0x41e8c5
mov ecx, eax
mov edx, dword [esp + 0x2c]
jmp 0x41e5f0
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], ebx
call fcn.0042e1b0
dec eax
jne 0x41e651
cmp byte [ebx + 0xe10], 0
jne 0x41e290
jmp 0x41e26b
mov dword [ebx + 0xdfc], 0x112
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.00432620
mov edx, eax
and dl, 0x7f
cmp edx, 0xffff9700
je 0x41e643
test eax, eax
jne 0x41ebc0
mov dword [ebx + 0xdfc], 1
cmp byte [ebx + 0xe13], 0
je 0x41e38f
lea esi, [esi]
lea esi, [esi]
mov byte [ebx + 0xe13], 0
mov eax, dword [ebx - 0x18]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov dword [ebx - 0x18], 0
mov eax, dword [ebx - 0x28]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov dword [ebx - 0x28], 0
mov eax, dword [ebx - 0x24]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov dword [ebx - 0x24], 0
mov eax, dword [ebx + 0xe00]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov dword [ebx + 0xe00], 0
jmp 0x41e639
cmp edi, 3
jne 0x41e3f0
mov edi, dword [ebx - 0x18]
mov dword [esp + 0x2c], edi
mov edi, dword [ebx - 0x20]
mov dword [esp + 0xc], edi
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
mov ecx, 0x468826
mov edx, dword [esp + 0x2c]
mov eax, ebx
call fcn.00429870
jmp 0x41e3f0
mov eax, dword [ebp + 0x8ed8]
mov dword [esp + 4], eax
mov dword [esp], ebp
call ebx
mov ecx, dword [ebp + 0x8ed4]
test ecx, ecx
jg 0x41e24a
mov byte [esp + 0x33], 0
jmp 0x41e671
mov dword [ebx + 0xdf4], 0x41
jmp 0x41e2b6
mov dword [ebx + 0xdd4], 0
mov eax, dword [esp + 0x2c]
mov dword [eax], 0
mov dword [eax + 0x7fc], 0
lea edi, [eax + 4]
and edi, 0xfffffffc
sub eax, edi
mov ecx, eax
add ecx, 0x800
shr ecx, 2
xor eax, eax
rep stosd dword es:[edi], eax
mov dword [ebx + 0xdf8], 0x44
nop
mov dword [esp + 8], 0x800
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.00430060
cmp eax, 0xffff9700
je 0x41ea43
mov dword [ebx + 0xdd8], eax
test eax, eax
jg 0x41e5b9
mov dword [ebx + 0xdf0], 0xfffffffc
mov dword [ebx + 0xdf8], 1
mov eax, dword [esp + 0x34]
test eax, eax
je 0x41e910
mov eax, dword [ebx + 0xde0]
test eax, eax
jle 0x41e910
mov edi, dword [esp + 0x3c]
mov dword [esp + 8], edi
mov edx, dword [ebx + 0xde4]
add edx, eax
mov dword [esp + 4], edx
mov dword [esp], eax
mov eax, dword [esp + 0x34]
call eax
lea esi, [esi]
nop
mov byte [ebx + 0xe10], 0
cmp byte [ebx + 0xe13], 0
jne 0x41e770
mov ecx, dword [ebx + 0xdf0]
xor eax, eax
mov edx, 0x64
jmp 0x41e956
inc eax
lea edx, [eax + eax]
add edx, eax
mov edx, dword [edx*4 + 0x469d80]
cmp edx, 0xffffffff
je 0x41ecf0
cmp ecx, edx
jne 0x41e940
lea edx, [eax + eax]
add eax, edx
mov eax, dword [eax*4 + 0x469d84]
test eax, eax
jne 0x41ecf0
cmp byte [ebx + 0xe11], 0
je 0x41ee73
mov byte [ebx + 0xe14], 1
mov edi, dword [ebx - 0x10]
test edi, edi
je 0x41e9d7
mov eax, dword [ebx - 0x14]
mov dword [esp + 0x2c], eax
mov ecx, dword [ebx + 0xdf0]
xor eax, eax
mov edx, 0x64
jmp 0x41e9b2
inc eax
lea edx, [eax + eax]
add edx, eax
mov edx, dword [edx*4 + 0x469d80]
cmp edx, 0xffffffff
je 0x41e9c2
cmp ecx, edx
jne 0x41e9a0
lea edx, [eax + eax]
add eax, edx
mov edx, dword [eax*4 + 0x469d84]
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
mov dword [esp], edx
call edi
mov edi, dword [ebx - 4]
test edi, edi
je 0x41e777
mov eax, dword [ebx - 0x14]
mov dword [esp + 0x2c], eax
mov ecx, dword [ebx + 0xdf0]
xor eax, eax
mov edx, 0x64
jmp 0x41ea12
inc eax
lea edx, [eax + eax]
add edx, eax
mov edx, dword [edx*4 + 0x469d80]
cmp edx, 0xffffffff
je 0x41ea22
cmp ecx, edx
jne 0x41ea00
lea edx, [eax + eax]
add eax, edx
mov edx, dword [eax*4 + 0x469d84]
lea eax, [ebx - 0x30]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
mov dword [esp], edx
call edi
jmp 0x41e777
mov dword [ebx + 0xdd8], 0xffff9700
mov eax, dword [esp + 0x34]
test eax, eax
je 0x41e643
mov eax, dword [ebx + 0xde0]
test eax, eax
jle 0x41e643
mov edi, dword [esp + 0x3c]
mov dword [esp + 8], edi
mov edx, dword [ebx + 0xde4]
add edx, eax
mov dword [esp + 4], edx
mov dword [esp], eax
mov eax, dword [esp + 0x34]
call eax
jmp 0x41e643
mov dword [ebx + 0xdf8], 0x2b
jmp 0x41e450
mov edx, dword [esp + 0x34]
test edx, edx
jne 0x41e8e1
jmp 0x41e910
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], ebx
call fcn.0042e1b0
dec eax
jne 0x41e290
mov eax, dword [ebx + 0xe00]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov dword [ebx + 0xe00], 0
mov dword [esp], ebx
call fcn.0042e5d0
lea eax, [ebx + 0x478]
mov dword [esp], eax
call fcn.00438a10
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.00432dc0
lea eax, [ebx + 0x410]
mov dword [esp], eax
call fcn.00433030
lea eax, [ebx + 0x208]
mov dword [esp], eax
call fcn.0042a8b0
lea eax, [ebx + 4]
mov dword [esp], eax
call fcn.0042b020
mov byte [ebx + 0xe12], 0
mov byte [ebx + 0xe10], 0
mov byte [ebx + 0xe14], 0
jmp 0x41e290
mov ecx, 0x4687a5
mov edx, dword [ebx - 0x2c]
test edx, edx
jne 0x41e3b0
mov edx, str.Mozilla_5.0__Windows_NT_10.0__Win64__x64__rv:68.0__Gecko_20100101_Firefox_68.0
mov edi, dword [ebx - 0x30]
cmp edi, 2
jne 0x41e3bc
mov edi, dword [ebx - 0x18]
mov dword [esp + 0x2c], edi
mov edi, dword [ebx - 0x20]
mov dword [esp + 0xc], edi
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
mov ecx, 0x468822
mov edx, dword [esp + 0x2c]
mov eax, ebx
call fcn.00429870
jmp 0x41e3f0
mov eax, 0x4687a5
jmp 0x41e39a
mov dword [esp], ebx
call fcn.0042e5d0
lea eax, [ebx + 0x478]
mov dword [esp], eax
call fcn.00438a10
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.00432dc0
lea eax, [ebx + 0x410]
mov dword [esp], eax
call fcn.00433030
lea eax, [ebx + 0x208]
mov dword [esp], eax
call fcn.0042a8b0
lea eax, [ebx + 4]
mov dword [esp], eax
call fcn.0042b020
mov dword [ebx + 0xdfc], 1
jmp 0x41e382
mov dword [esp + 4], 0x468726
add edi, 7
mov dword [esp], edi
call sub.msvcrt.dll_strspn
add eax, 7
cmp eax, dword [esp + 0x4c]
jne 0x41e55d
mov dword [ebx + 0xde4], 0xfffffffd
mov dword [ebx + 0xdf0], 0xfffffffa
mov dword [ebx + 0xdf8], 1
mov eax, dword [esp + 0x34]
test eax, eax
jne 0x41e8e1
jmp 0x41e910
mov eax, dword [ebx + 0xdec]
mov dword [ebx + 0xdf0], eax
mov dword [ebx + 0xdf8], 1
mov ecx, dword [esp + 0x34]
test ecx, ecx
jne 0x41e8e1
jmp 0x41e910
mov edi, dword [ebx - 0x18]
mov dword [esp], 2
call dword [0x4653f8]
mov dword [esp + 8], edi
mov dword [esp + 4], str.dlpool:_init_download__s_failed__give_up_n
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x41e777
mov edi, dword [ebx - 0x18]
mov dword [esp + 4], edx
mov dword [esp], eax
mov ecx, 0x468822
mov edx, edi
mov eax, ebx
call fcn.004299d0
jmp 0x41e3f0
mov edi, dword [ebx + 0xdec]
xor edx, edx
mov ecx, 0x64
jmp 0x41ed18
inc edx
lea eax, [edx + edx]
add eax, edx
shl eax, 2
mov ecx, dword [eax + 0x469d80]
cmp ecx, 0xffffffff
je 0x41eec8
cmp edi, ecx
jne 0x41ed00
lea eax, [edx + edx]
add eax, edx
mov eax, dword [eax*4 + 0x469d88]
mov dword [esp + 0x3c], eax
mov eax, dword [ebx + 0xdd8]
neg eax
mov dword [esp + 0x2c], eax
mov edx, dword [ebx - 0x18]
mov dword [esp + 0x34], edx
mov dword [esp], 2
call dword [0x4653f8]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x2c]
mov dword [esp + 0xc], edi
mov edx, dword [esp + 0x34]
mov dword [esp + 8], edx
mov dword [esp + 4], str.dlpool:_getting__s_failed__error__x___d__s__n
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov eax, dword [ebx + 0xe00]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov dword [ebx + 0xe00], 0
mov dword [esp], ebx
call fcn.0042e5d0
lea eax, [ebx + 0x478]
mov dword [esp], eax
call fcn.00438a10
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.00432dc0
lea eax, [ebx + 0x410]
mov dword [esp], eax
call fcn.00433030
lea eax, [ebx + 0x208]
mov dword [esp], eax
call fcn.0042a8b0
lea eax, [ebx + 4]
mov dword [esp], eax
call fcn.0042b020
mov byte [ebx + 0xe12], 0
cmp byte [ebx + 0xe11], 0
je 0x41e982
mov eax, dword [ebx + 0xdd8]
cmp eax, 0xffff8780
je 0x41e2c8
test eax, eax
jne 0x41e982
jmp 0x41e2c8
mov dword [ebx + 0xdf0], 0xfffffffb
mov dword [ebx + 0xdf8], 1
mov edi, dword [esp + 0x34]
test edi, edi
jne 0x41e8e1
jmp 0x41e910
mov dword [ebx + 0xde4], 0xfffffff7
nop
mov eax, 0xfffffff7
jmp 0x41ec76
mov dword [ebx + 0xde4], 0xfffffffe
mov eax, 0xfffffffe
jmp 0x41ec76
mov dword [ebx + 0xde4], 0x7fffffff
jmp 0x41e5b9
mov dword [esp], ebx
call fcn.0042e5d0
lea eax, [ebx + 0x478]
mov dword [esp], eax
call fcn.00438a10
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.00432dc0
lea eax, [ebx + 0x410]
mov dword [esp], eax
call fcn.00433030
lea eax, [ebx + 0x208]
mov dword [esp], eax
call fcn.0042a8b0
lea eax, [ebx + 4]
mov dword [esp], eax
call fcn.0042b020
mov byte [ebx + 0xe12], 0
jmp 0x41e982
mov eax, dword [eax + 0x469d88]
mov dword [esp + 0x3c], eax
jmp 0x41ed2c
mov ecx, 0xffffffff
jmp 0x41e4d7
mov eax, 0xffffffff
jmp 0x41e4aa