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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x130
mov esi, esp
mov eax, dword [0x5c4738]
xor eax, ebp
mov dword [esi + 0x128], eax
xor eax, eax
dec eax
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], eax
pcmpeqd xmm0, xmm0
lea ecx, [esi + 0xdc]
movdqa xmmword [ecx - 0x3c], xmm0
movdqa xmmword [ecx - 0x2c], xmm0
movdqa xmmword [ecx - 0x1c], xmm0
movdqa xmmword [ecx - 0x5c], xmm0
movdqa xmmword [ecx - 0x4c], xmm0
mov dword [ecx - 8], eax
mov dword [ecx - 0xc], eax
xor eax, eax
mov byte [ecx - 0x34], al
mov byte [ecx - 0x24], al
mov byte [ecx - 0x14], al
mov dword [ecx], eax
mov dword [ecx + 4], eax
xorpd xmm1, xmm1
movapd xmmword [ecx - 0x6c], xmm1
movapd xmmword [ecx - 0x5c], xmm1
movupd xmmword [ecx - 0x53], xmm1
mov dword [ecx - 4], ecx
movdqa xmmword [esi + 0x60], xmm0
lea edi, [esi + 0xf0]
mov ecx, edi
push 0x583d0c
call fcn.004fc470
lea ebx, [esi + 0x118]
mov ecx, dword [ebp + 0xc]
push edi
push ebx
call fcn.0042def0
mov eax, dword [ebx]
mov ecx, dword [ebp + 0xc]
add ecx, 4
mov dword [esi + 0x24], ecx
cmp eax, ecx
jne 0x499855
mov byte [esi + 0x60], 0
jmp 0x499865
add eax, 0x1c
lea ecx, [esi + 0x64]
mov byte [ecx - 4], 1
push eax
call section..text
cmp byte [esi + 0xfb], 0
jns 0x49987c
push dword [esi + 0xf0]
call fcn.004cf0d6
add esp, 4
cmp byte [esi + 0x60], 1
jne 0x4998bd
movzx eax, byte [esi + 0x6f]
test al, al
jns 0x49988d
mov eax, dword [esi + 0x68]
cmp eax, 8
jne 0x4998d9
lea edi, [esi + 0x64]
mov ecx, edi
push 8
push str.renderer
push 0xffffffffffffffff
push 0
call fcn.004c60f0
test eax, eax
sete cl
mov al, byte [edi - 4]
test al, al
mov dword [esi + 0x20], ecx
je 0x4998c4
cmp al, 1
je 0x4998e0
int3
mov dword [esi + 0x20], 0
lea edi, [esi + 0x64]
mov ecx, edi
push 0x5796b6
call fcn.004fc470
mov byte [edi - 4], 1
jmp 0x4998e0
mov dword [esi + 0x20], 0
lea ebx, [esi + 0x64]
mov ecx, ebx
push str._crash
call fcn.004b8650
cmp byte [ebx - 4], 1
jne 0x49b421
lea ecx, [esi + 0x70]
push ebx
call fcn.004c0860
cmp byte [esi + 0x60], 1
jne 0x49b424
mov edi, dword [ebp + 8]
lea ecx, [esi + 0x7c]
push ebx
call fcn.004c0860
cmp edi, 0xc00000fc
jle 0x499943
cmp edi, 0xe0000fff
jg 0x499966
cmp edi, 0xc00000fd
je 0x499987
cmp edi, 0xe0000008
jne 0x499d9b
mov eax, 0x596430
jmp 0x49999a
cmp edi, 0xc0000005
je 0x499980
cmp edi, 0xc0000006
je 0x499995
cmp edi, 0xc000001d
jne 0x499d9b
mov eax, 0x596454
jmp 0x49999a
cmp edi, 0xe0001000
je 0x49998e
mov eax, 0x596424
cmp edi, 0x517a7ed
je 0x49999a
jmp 0x499d9b
mov eax, 0x596448
jmp 0x49999a
mov eax, 0x59646c
jmp 0x49999a
mov eax, 0x59643c
jmp 0x49999a
mov eax, 0x596460
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x499d9b
mov ecx, dword [eax + 4]
xor eax, eax
mov dword [esi + 0xf4], eax
mov dword [esi + 0xf0], eax
mov dword [esi + 0xf8], eax
cmp ebx, 0xfffffff0
jae 0x49b42a
cmp ebx, 0xa
jbe 0x4999f9
lea edi, [ebx + 0x10]
and edi, 0xfffffff0
push edi
mov dword [esi + 0xc], ecx
call fcn.004cf0a6
mov ecx, dword [esi + 0xc]
add esp, 4
mov dword [esi + 0xf0], eax
or edi, 0x80000000
mov dword [esi + 0xf8], edi
mov dword [esi + 0xf4], ebx
jmp 0x499a05
mov byte [esi + 0xfb], bl
lea eax, [esi + 0xf0]
push ebx
push ecx
push eax
mov edi, eax
call fcn.004d4f00
add esp, 0xc
mov byte [edi + ebx], 0
lea edi, [esi + 0x88]
cmp byte [edi + 0xb], 0
jns 0x499a4c
mov eax, dword [esi + 0x88]
mov byte [eax], 0
mov dword [esi + 0x8c], 0
cmp byte [esi + 0x93], 0
jns 0x499a53
push dword [esi + 0x88]
call fcn.004cf0d6
add esp, 4
mov byte [esi + 0x93], 0
mov eax, dword [esi + 0xf8]
mov dword [edi + 8], eax
movq xmm0, qword [esi + 0xf0]
movq qword [edi], xmm0
cmp byte [esi + 0x60], 1
jne 0x49b427
mov eax, dword [0x5c87ec]
mov ecx, dword [0x5c7534]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 0x18]
jg 0x49b3c4
mov ebx, dword [0x5c87e8]
push ebx
call dword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x49b3ad
lea edi, [esi + 0xf8]
xor eax, eax
dec eax
mov dword [edi + 0xc], eax
mov dword [edi + 8], eax
pcmpeqd xmm0, xmm0
movdqa xmmword [edi - 8], xmm0
lea eax, [esi + 0xf0]
push eax
call fcn.004c2df0
add esp, 4
mov ecx, edi
lea eax, [esi + 0x64]
push eax
call section..text
mov eax, dword [ebp + 8]
mov dword [edi + 0xc], eax
lea eax, [esi + 0x118]
push eax
call fcn.004c2df0
add esp, 4
mov eax, 0x296c5c00
add eax, dword [esi + 0x118]
mov ecx, dword [esi + 0x11c]
mov edx, 0xffffffff
adc ecx, edx
seto dl
mov edi, ecx
sar edi, 0x1f
test dl, dl
cmove edi, eax
mov dword [esi + 0xc], edi
xor eax, eax
test ecx, ecx
setns al
add eax, 0x7fffffff
test dl, dl
cmove eax, ecx
mov dword [esi + 0x10], eax
lea eax, [ebx + 4]
mov dword [esi + 0x28], ebx
mov edi, dword [ebx + 8]
mov dword [esi + 0x1c], eax
cmp edi, eax
je 0x499b85
mov eax, dword [edi + 0xc]
mov ecx, dword [esi + 0xc]
cmp dword [edi + 8], ecx
sbb eax, dword [esi + 0x10]
jge 0x499b7f
mov eax, dword [edi]
mov ebx, dword [edi + 4]
mov dword [eax + 4], ebx
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [ecx], eax
mov eax, dword [esi + 0x28]
dec dword [eax + 0xc]
cmp byte [edi + 0x1b], 0
jns 0x499b6f
push dword [edi + 0x10]
call fcn.004cf0d6
add esp, 4
push edi
call fcn.004cf0d6
add esp, 4
mov edi, ebx
cmp ebx, dword [esi + 0x1c]
jne 0x499b3b
mov eax, dword [esi + 0x28]
mov edi, dword [eax + 8]
cmp edi, dword [esi + 0x1c]
jne 0x499b9c
mov edi, dword [esi + 0x104]
mov dword [esi + 0x18], 0
jmp 0x499c68
movzx ecx, byte [esi + 0x103]
lea eax, [esi + 0xf8]
mov dword [esi + 0xc], eax
mov dword [esi + 0x14], ecx
test cl, cl
jns 0x499bc5
mov eax, dword [esi + 0xfc]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0xf8]
mov dword [esi + 0xc], eax
xor edx, edx
mov eax, dword [esi + 0x104]
mov dword [esi + 0x34], eax
movzx eax, byte [edi + 0x1b]
mov ecx, eax
test al, al
jns 0x499bdd
mov ecx, dword [edi + 0x14]
cmp ecx, dword [esi + 0x14]
jne 0x499c24
mov dword [esi + 0x18], edx
lea ecx, [edi + 0x10]
mov edx, dword [ecx]
test al, al
cmovs ecx, edx
js 0x499c28
test al, al
je 0x499c45
xor ecx, ecx
mov ebx, dword [esi + 0xc]
cmp byte [ebx], dl
mov edx, dword [esi + 0x18]
jne 0x499c51
dec eax
mov dword [esi + 0x10], edi
cmp eax, ecx
je 0x499c45
mov dl, byte [edi + ecx + 0x11]
mov edi, eax
lea ebx, [ecx + 1]
mov eax, dword [esi + 0xc]
cmp dl, byte [eax + ecx + 1]
mov ecx, ebx
mov eax, edi
mov edi, dword [esi + 0x10]
je 0x499c05
jmp 0x499c41
xor ecx, ecx
jmp 0x499c51
cmp dword [esi + 0x14], 0
je 0x499c45
push dword [esi + 0x14]
push dword [esi + 0xc]
push ecx
call fcn.004cf0db
add esp, 0xc
test eax, eax
je 0x499c45
xor ecx, ecx
jmp 0x499c4e
mov eax, dword [esi + 0x34]
cmp dword [edi + 0x1c], eax
sete cl
mov edx, dword [esi + 0x18]
movzx eax, cl
add edx, eax
mov edi, dword [edi + 4]
cmp edi, dword [esi + 0x1c]
jne 0x499bd0
mov dword [esi + 0x18], edx
mov edi, dword [esi + 0x34]
push 0x20
call fcn.004cf0a6
add esp, 4
xor ecx, ecx
mov dword [eax], ecx
mov edx, dword [esi + 0xf0]
mov dword [eax + 8], edx
mov edx, dword [esi + 0xf4]
mov dword [eax + 0xc], edx
lea ebx, [esi + 0xf8]
mov edx, dword [ebx + 8]
mov dword [eax + 0x18], edx
movq xmm0, qword [ebx]
mov dword [esi + 0xfc], ecx
mov dword [esi + 0xf8], ecx
mov dword [esi + 0x100], ecx
movq qword [eax + 0x10], xmm0
mov dword [eax + 0x1c], edi
mov ecx, dword [esi + 0x1c]
mov dword [eax + 4], ecx
mov edi, dword [esi + 0x28]
mov ecx, dword [edi + 4]
mov dword [eax], ecx
mov dword [ecx + 4], eax
mov dword [edi + 4], eax
inc dword [edi + 0xc]
cmp byte [ebx + 0xb], 0
jns 0x499cdd
push dword [esi + 0xf8]
call fcn.004cf0d6
add esp, 4
push edi
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov eax, dword [esi + 0x18]
mov dword [esi + 0x94], eax
lea edi, [esi + 0x118]
mov ecx, edi
push str.url_chunk
call fcn.004fc470
mov ecx, dword [ebp + 0xc]
push edi
lea eax, [esi + 0xf0]
push eax
call fcn.0042def0
mov eax, dword [esi + 0xf0]
cmp eax, dword [esi + 0x24]
jne 0x499d23
mov byte [esi + 0xf0], 0
jmp 0x499d3e
add eax, 0x1c
lea edi, [esi + 0xf4]
mov byte [edi - 4], 1
mov ecx, edi
push eax
call section..text
cmp byte [edi - 4], 0
jne 0x499d6e
cmp byte [esi + 0xa8], 0
je 0x499e08
cmp byte [esi + 0xb7], 0
jns 0x499d62
push dword [esi + 0xac]
call fcn.004cf0d6
add esp, 4
mov byte [esi + 0xa8], 0
jmp 0x499e08
lea ebx, [esi + 0xac]
cmp byte [ebx - 4], 0
jne 0x499db4
mov eax, dword [edi + 8]
mov dword [ebx + 8], eax
movq xmm0, qword [edi]
movq qword [ebx], xmm0
xor eax, eax
mov dword [edi + 4], eax
mov dword [edi], eax
mov dword [edi + 8], eax
mov byte [esi + 0xa8], 1
jmp 0x499e08
xor eax, eax
mov dword [esi + 0xf4], eax
mov dword [esi + 0xf0], eax
mov dword [esi + 0xf8], eax
jmp 0x499a16
cmp byte [esi + 0xb7], 0
jns 0x499de9
mov eax, dword [esi + 0xac]
mov byte [eax], 0
mov dword [esi + 0xb0], 0
cmp byte [esi + 0xb7], 0
jns 0x499df0
push dword [esi + 0xac]
call fcn.004cf0d6
add esp, 4
jmp 0x499df0
mov byte [esi + 0xb7], 0
mov eax, dword [edi + 8]
mov dword [ebx + 8], eax
movq xmm0, qword [edi]
movq qword [ebx], xmm0
xor eax, eax
mov dword [edi + 4], eax
mov dword [edi], eax
mov dword [edi + 8], eax
cmp byte [esi + 0xf0], 0
je 0x499e28
cmp byte [esi + 0xff], 0
jns 0x499e28
push dword [esi + 0xf4]
call fcn.004cf0d6
add esp, 4
cmp byte [esi + 0x123], 0
jns 0x499e3f
push dword [esi + 0x118]
call fcn.004cf0d6
add esp, 4
lea edi, [esi + 0x118]
mov ecx, edi
push 0x583d7c
call fcn.004fc470
mov ebx, dword [ebp + 0x10]
mov ecx, ebx
push edi
lea eax, [esi + 0xf0]
push eax
call fcn.0042def0
mov eax, dword [esi + 0xf0]
lea ecx, [ebx + 4]
mov dword [esi + 0xc], ecx
cmp eax, ecx
jne 0x499e7c
mov byte [esi + 0xf0], 0
jmp 0x499e97
add eax, 0x1c
lea ebx, [esi + 0xf4]
mov byte [ebx - 4], 1
mov ecx, ebx
push eax
call section..text
cmp byte [ebx - 4], 0
jne 0x499ec7
cmp byte [esi + 0xb8], 0
je 0x499f48
cmp byte [esi + 0xc7], 0
jns 0x499ebb
push dword [esi + 0xbc]
call fcn.004cf0d6
add esp, 4
mov byte [esi + 0xb8], 0
jmp 0x499f48
lea edi, [esi + 0xbc]
cmp byte [edi - 4], 0
jne 0x499ef4
mov eax, dword [ebx + 8]
mov dword [edi + 8], eax
movq xmm0, qword [ebx]
movq qword [edi], xmm0
xor eax, eax
mov dword [ebx + 4], eax
mov dword [ebx], eax
mov dword [ebx + 8], eax
mov byte [esi + 0xb8], 1
jmp 0x499f48
cmp byte [esi + 0xc7], 0
jns 0x499f29
mov eax, dword [esi + 0xbc]
mov byte [eax], 0
mov dword [esi + 0xc0], 0
cmp byte [esi + 0xc7], 0
jns 0x499f30
push dword [esi + 0xbc]
call fcn.004cf0d6
add esp, 4
jmp 0x499f30
mov byte [esi + 0xc7], 0
mov eax, dword [ebx + 8]
mov dword [edi + 8], eax
movq xmm0, qword [ebx]
movq qword [edi], xmm0
xor eax, eax
mov dword [ebx + 4], eax
mov dword [ebx], eax
mov dword [ebx + 8], eax
cmp byte [esi + 0xf0], 0
je 0x499f68
cmp byte [esi + 0xff], 0
jns 0x499f68
push dword [esi + 0xf4]
call fcn.004cf0d6
add esp, 4
cmp byte [esi + 0x123], 0
jns 0x499f7f
push dword [esi + 0x118]
call fcn.004cf0d6
add esp, 4
lea edi, [esi + 0x118]
mov ecx, edi
push str.metrics_client_id
call fcn.004fc470
mov ecx, dword [ebp + 0x10]
push edi
lea eax, [esi + 0xf0]
push eax
call fcn.0042def0
mov eax, dword [esi + 0xf0]
cmp eax, dword [esi + 0xc]
jne 0x499fbb
mov byte [esi + 0xf0], 0
lea edi, [esi + 0xc8]
jmp 0x499fdc
add eax, 0x1c
lea ebx, [esi + 0xf4]
mov byte [ebx - 4], 1
mov ecx, ebx
push eax
call section..text
lea edi, [esi + 0xc8]
cmp byte [ebx - 4], 0
jne 0x49a00c
cmp byte [esi + 0xc8], 0
je 0x49a093
cmp byte [esi + 0xd7], 0
jns 0x49a000
push dword [esi + 0xcc]
call fcn.004cf0d6
add esp, 4
mov byte [esi + 0xc8], 0
jmp 0x49a093
lea edi, [esi + 0xcc]
cmp byte [edi - 4], 0
jne 0x49a039
mov eax, dword [ebx + 8]
mov dword [edi + 8], eax
movq xmm0, qword [ebx]
movq qword [edi], xmm0
xor eax, eax
mov dword [ebx + 4], eax
mov dword [ebx], eax
mov dword [ebx + 8], eax
mov byte [esi + 0xc8], 1
jmp 0x49a08d
cmp byte [esi + 0xd7], 0
jns 0x49a06e
mov eax, dword [esi + 0xcc]
mov byte [eax], 0
mov dword [esi + 0xd0], 0
cmp byte [esi + 0xd7], 0
jns 0x49a075
push dword [esi + 0xcc]
call fcn.004cf0d6
add esp, 4
jmp 0x49a075
mov byte [esi + 0xd7], 0
mov eax, dword [ebx + 8]
mov dword [edi + 8], eax
movq xmm0, qword [ebx]
movq qword [edi], xmm0
xor eax, eax
mov dword [ebx + 4], eax
mov dword [ebx], eax
mov dword [ebx + 8], eax
lea edi, [esi + 0xc8]
cmp byte [esi + 0xf0], 0
je 0x49a0b3
cmp byte [esi + 0xff], 0
jns 0x49a0b3
push dword [esi + 0xf4]
call fcn.004cf0d6
add esp, 4
cmp byte [esi + 0x123], 0
jns 0x49a0ca
push dword [esi + 0x118]
call fcn.004cf0d6
add esp, 4
cmp byte [edi], 0
jne 0x49a210
lea ebx, [esi + 0x118]
mov ecx, ebx
push 0x579274
call fcn.004fc470
mov ecx, dword [ebp + 0xc]
push ebx
lea eax, [esi + 0xf0]
push eax
call fcn.0042def0
mov eax, dword [esi + 0xf0]
cmp eax, dword [esi + 0x24]
jne 0x49a109
mov byte [esi + 0xf0], 0
jmp 0x49a124
add eax, 0x1c
lea ebx, [esi + 0xf4]
mov byte [ebx - 4], 1
mov ecx, ebx
push eax
call section..text
cmp byte [ebx - 4], 0
jne 0x49a14c
cmp byte [edi], 0
je 0x49a1d2
cmp byte [esi + 0xd7], 0
jns 0x49a144
push dword [esi + 0xcc]
call fcn.004cf0d6
add esp, 4
mov byte [edi], 0
jmp 0x49a1d2
cmp byte [edi], 0
mov ecx, edi
lea edi, [esi + 0xcc]
jne 0x49a178
mov eax, dword [ebx + 8]
mov dword [edi + 8], eax
movq xmm0, qword [ebx]
movq qword [edi], xmm0
xor eax, eax
mov dword [ebx + 4], eax
mov dword [ebx], eax
mov dword [ebx + 8], eax
mov byte [ecx], 1
mov edi, ecx
jmp 0x49a1d2
mov dword [esi + 0x18], ecx
cmp byte [esi + 0xd7], 0
jns 0x49a1b0
mov eax, dword [esi + 0xcc]
mov byte [eax], 0
mov dword [esi + 0xd0], 0
cmp byte [esi + 0xd7], 0
jns 0x49a1b7
push dword [esi + 0xcc]
call fcn.004cf0d6
add esp, 4
jmp 0x49a1b7
mov byte [esi + 0xd7], 0
mov eax, dword [ebx + 8]
mov dword [edi + 8], eax
movq xmm0, qword [ebx]
movq qword [edi], xmm0
xor eax, eax
mov dword [ebx + 4], eax
mov dword [ebx], eax
mov dword [ebx + 8], eax
mov edi, dword [esi + 0x18]
cmp byte [esi + 0xf0], 0
je 0x49a1f2
cmp byte [esi + 0xff], 0
jns 0x49a1f2
push dword [esi + 0xf4]
call fcn.004cf0d6
add esp, 4
cmp byte [esi + 0x123], 0
jns 0x49a209
push dword [esi + 0x118]
call fcn.004cf0d6
add esp, 4
mov cl, byte [edi]
cmp cl, 1
jne 0x49a26b
movzx eax, byte [esi + 0xd7]
test al, al
jns 0x49a229
mov ecx, dword [esi + 0xcc]
mov eax, dword [esi + 0xd0]
jmp 0x49a22f
lea ecx, [esi + 0xcc]
push 0
push 8
push str.00000000
push eax
push ecx
call fcn.004c1c00
add esp, 0x14
mov cl, byte [edi]
test cl, cl
je 0x49a26b
test al, al
je 0x49a26b
cmp byte [esi + 0xd7], 0
jns 0x49a263
push dword [esi + 0xcc]
call fcn.004cf0d6
add esp, 4
mov byte [edi], 0
jmp 0x49a498
test cl, cl
je 0x49a498
mov dword [esi + 0x18], edi
cmp cl, 1
jne 0x49b435
lea ebx, [esi + 0xcc]
movzx ecx, byte [ebx + 0xb]
mov edi, ecx
test cl, cl
jns 0x49a29b
mov ebx, dword [esi + 0xcc]
mov edi, dword [esi + 0xd0]
xor eax, eax
mov ecx, 0
mov edx, edi
test edi, edi
je 0x49a408
mov edx, edi
lea eax, [edi - 1]
and edx, 7
cmp eax, 7
mov dword [esi + 0x1c], edx
jae 0x49a2c5
xor eax, eax
xor ecx, ecx
jmp 0x49a3d8
and edi, 0xfffffff8
neg edi
mov dword [esi + 0x14], edi
xor eax, eax
xor ecx, ecx
mov edx, 0x83
mul edx
movsx edi, byte [ebx]
imul ecx, ecx, 0x83
add ecx, edx
mov edx, edi
sar edx, 0x1f
add eax, edi
adc ecx, edx
movsx edi, byte [ebx + 1]
mov edx, 0x83
mul edx
imul ecx, ecx, 0x83
add edx, ecx
mov ecx, edi
sar ecx, 0x1f
add eax, edi
adc edx, ecx
movsx edi, byte [ebx + 2]
imul ecx, edx, 0x83
mov dword [esi + 0x10], ecx
mov ecx, 0x83
mul ecx
mov ecx, edx
add ecx, dword [esi + 0x10]
mov edx, edi
sar edx, 0x1f
add eax, edi
adc ecx, edx
movsx edi, byte [ebx + 3]
mov edx, 0x83
mul edx
imul ecx, ecx, 0x83
add edx, ecx
mov ecx, edi
sar ecx, 0x1f
add eax, edi
adc edx, ecx
movsx edi, byte [ebx + 4]
imul ecx, edx, 0x83
mov dword [esi + 0x10], ecx
mov ecx, 0x83
mul ecx
mov ecx, edx
add ecx, dword [esi + 0x10]
mov edx, edi
sar edx, 0x1f
add eax, edi
adc ecx, edx
movsx edi, byte [ebx + 5]
mov edx, 0x83
mul edx
imul ecx, ecx, 0x83
add edx, ecx
mov ecx, edi
sar ecx, 0x1f
add eax, edi
adc edx, ecx
movsx edi, byte [ebx + 6]
imul ecx, edx, 0x83
mov dword [esi + 0x10], ecx
mov ecx, 0x83
mul ecx
mov ecx, edx
add ecx, dword [esi + 0x10]
mov edx, edi
sar edx, 0x1f
add eax, edi
adc ecx, edx
movsx edi, byte [ebx + 7]
mov edx, 0x83
mul edx
imul ecx, ecx, 0x83
mov dword [esi + 0x10], ecx
mov ecx, edx
add ecx, dword [esi + 0x10]
mov edx, edi
sar edx, 0x1f
add eax, edi
adc ecx, edx
add ebx, 8
add dword [esi + 0x14], 8
jne 0x49a2d1
mov edx, dword [esi + 0x1c]
test edx, edx
je 0x49a408
xor edi, edi
mov dword [esi + 0x10], ebx
mov edx, dword [esi + 0x10]
movsx ebx, byte [edx + edi]
mov edx, 0x83
mul edx
imul ecx, ecx, 0x83
add ecx, edx
mov edx, ebx
sar edx, 0x1f
add eax, ebx
adc ecx, edx
mov edx, dword [esi + 0x1c]
inc edi
cmp edx, edi
jne 0x49a3e1
push ecx
push eax
lea eax, [esi + 0xf0]
push eax
call fcn.00411770
add esp, 0xc
mov ecx, dword [esi + 0x18]
cmp byte [ecx], 0
jne 0x49a441
mov eax, dword [esi + 0xf8]
lea edx, [esi + 0xcc]
mov dword [edx + 8], eax
movq xmm0, qword [esi + 0xf0]
movq qword [edx], xmm0
mov byte [ecx], 1
jmp 0x49a498
cmp byte [esi + 0xd7], 0
jns 0x49a476
mov eax, dword [esi + 0xcc]
mov byte [eax], 0
mov dword [esi + 0xd0], 0
cmp byte [esi + 0xd7], 0
jns 0x49a47d
push dword [esi + 0xcc]
call fcn.004cf0d6
add esp, 4
jmp 0x49a47d
mov byte [esi + 0xd7], 0
mov eax, dword [esi + 0xf8]
lea ecx, [esi + 0xcc]
mov dword [ecx + 8], eax
movq xmm0, qword [esi + 0xf0]
movq qword [ecx], xmm0
lea ecx, [esi + 0x54]
xor eax, eax
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx - 4], ecx
mov edi, dword [0x5c87dc]
mov ebx, dword [0x5c87e0]
cmp edi, ebx
jne 0x49a53c
push dword [ebp + 8]
lea eax, [esi + 0xf0]
push eax
call fcn.0040a340
add esp, 8
lea edi, [esi + 0x118]
mov ecx, edi
push str.termination_code
call fcn.004fc470
lea eax, [esi + 0x110]
mov dword [eax], edi
lea edx, [esi + 0x108]
lea ebx, [esi + 0x44]
lea ecx, [esi + 0x50]
push edx
push eax
push 0x5964e8
push edi
push ebx
call fcn.0041ab80
mov edi, dword [ebx]
lea ebx, [edi + 0x1c]
cmp byte [edi + 0x27], 0
jns 0x49a5e1
mov eax, dword [edi + 0x1c]
mov byte [eax], 0
mov dword [edi + 0x20], 0
cmp byte [edi + 0x27], 0
jns 0x49a5e8
push dword [edi + 0x1c]
call fcn.004cf0d6
add esp, 4
mov dword [edi + 0x24], 0
jmp 0x49a5e8
pcmpeqd xmm0, xmm0
movdqa xmmword [esi + 0xf0], xmm0
mov ecx, dword [ebp + 0x10]
push edi
lea eax, [esi + 0x118]
push eax
call fcn.0042def0
mov eax, dword [esi + 0x118]
cmp eax, dword [esi + 0xc]
je 0x49a5b5
add eax, 0x1c
mov byte [esi + 0xf0], 1
lea ecx, [esi + 0xf4]
push eax
call section..text
mov al, byte [esi + 0xf0]
cmp al, 1
jne 0x49a59a
movzx ecx, byte [esi + 0xff]
test cl, cl
jns 0x49a594
mov ecx, dword [esi + 0xf8]
mov al, 1
test ecx, ecx
jne 0x49a5c1
test al, al
je 0x49a5b5
cmp byte [esi + 0xff], 0
jns 0x49a5b5
push dword [esi + 0xf4]
call fcn.004cf0d6
add esp, 4
add edi, 0xc
cmp ebx, edi
jne 0x49a53c
jmp 0x49a4b9
lea ecx, [esi + 0x50]
lea eax, [esi + 0xf4]
push eax
push edi
push edi
lea eax, [esi + 0x118]
push eax
call fcn.00566a10
mov al, byte [esi + 0xf0]
jmp 0x49a59a
xor eax, eax
mov byte [ebx], al
mov byte [ebx + 0xb], al
mov eax, dword [esi + 0xf8]
mov dword [ebx + 8], eax
movsd xmm0, qword [esi + 0xf0]
movsd qword [ebx], xmm0
xor eax, eax
mov dword [esi + 0xf4], eax
mov dword [esi + 0xf0], eax
mov dword [esi + 0xf8], eax
cmp byte [esi + 0x123], 0
jns 0x49a63f
push dword [esi + 0x118]
call fcn.004cf0d6
add esp, 4
cmp byte [esi + 0xfb], 0
jns 0x49a63f
push dword [esi + 0xf0]
call fcn.004cf0d6
add esp, 4
push dword [esi + 0x94]
lea eax, [esi + 0xf0]
push eax
call fcn.00414740
add esp, 8
lea edi, [esi + 0x118]
mov ecx, edi
push str.similar_count
call fcn.004fc470
mov dword [esi + 0x110], edi
lea ecx, [esi + 0x50]
lea eax, [esi + 0x108]
push eax
lea eax, [esi + 0x110]
push eax
push 0x5964e8
push edi
lea eax, [esi + 0x44]
push eax
call fcn.0041ab80
mov ebx, dword [esi + 0x44]
lea edi, [ebx + 0x1c]
cmp byte [ebx + 0x27], 0
jns 0x49a6bf
mov eax, dword [ebx + 0x1c]
mov byte [eax], 0
mov dword [ebx + 0x20], 0
cmp byte [ebx + 0x27], 0
jns 0x49a6c6
push dword [ebx + 0x1c]
call fcn.004cf0d6
add esp, 4
mov dword [ebx + 0x24], 0
jmp 0x49a6c6
xor eax, eax
mov byte [edi], al
mov byte [edi + 0xb], al
mov eax, dword [esi + 0xf8]
mov dword [edi + 8], eax
movq xmm0, qword [esi + 0xf0]
movq qword [edi], xmm0
xor eax, eax
mov dword [esi + 0xf4], eax
mov dword [esi + 0xf0], eax
mov dword [esi + 0xf8], eax
cmp byte [esi + 0x123], 0
jns 0x49a71d
push dword [esi + 0x118]
call fcn.004cf0d6
add esp, 4
cmp byte [esi + 0xfb], 0
jns 0x49a71d
push dword [esi + 0xf0]
call fcn.004cf0d6
add esp, 4
lea edi, [esi + 0xd8]
mov ecx, edi
push dword [edi + 4]
call fcn.004fd700
mov ecx, dword [esi + 0x50]
mov eax, dword [esi + 0x54]
mov dword [edi], ecx
mov dword [edi + 4], eax
mov ecx, dword [esi + 0x58]
mov dword [edi + 8], ecx
test ecx, ecx
jne 0x49a750
lea eax, [esi + 0xdc]
mov dword [esi + 0xd8], eax
jmp 0x49a767
lea ecx, [esi + 0xdc]
mov dword [eax + 8], ecx
lea eax, [esi + 0x54]
mov dword [esi + 0x50], eax
xor eax, eax
mov dword [esi + 0x54], eax
mov dword [esi + 0x58], eax
mov ecx, dword [esi + 0x20]
xor eax, eax
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], eax
mov dword [esi + 0x44], eax
mov dword [esi + 0x48], eax
mov dword [esi + 0x4c], eax
test cl, cl
je 0x49a7f7
pcmpeqd xmm0, xmm0
movdqa xmmword [esi + 0xf0], xmm0
lea edi, [esi + 0x118]
mov ecx, edi
push str.rt_monitoring_url_names
call fcn.004fc470
mov ecx, dword [ebp + 0xc]
push edi
lea eax, [esi + 0x110]
push eax
call fcn.0042def0
mov eax, dword [esi + 0x110]
cmp eax, dword [esi + 0x24]
jne 0x49a7c4
mov byte [esi + 0xf0], 0
jmp 0x49a7d7
add eax, 0x1c
lea ecx, [esi + 0xf4]
mov byte [ecx - 4], 1
push eax
call section..text
cmp byte [esi + 0x123], 0
jns 0x49a7ee
push dword [esi + 0x118]
call fcn.004cf0d6
add esp, 4
cmp byte [esi + 0xf0], 0
jne 0x49a81f
lea ecx, [esi + 0x38]
lea edx, [esi + 0x70]
call fcn.00566710
mov edi, dword [esi + 0x44]
test edi, edi
je 0x49a8b6
mov eax, dword [esi + 0x48]
cmp eax, edi
jne 0x49a898
mov eax, edi
jmp 0x49a8aa
movzx eax, byte [esi + 0xff]
test al, al
jns 0x49a830
mov eax, dword [esi + 0xf8]
lea ebx, [esi + 0xf4]
cmp eax, 0xf
jne 0x49b012
mov ecx, ebx
push 0xf
push str.empty_crash_key
push 0xffffffffffffffff
push 0
call fcn.004c60f0
test eax, eax
jne 0x49b012
cmp byte [esi + 0xf0], 1
jne 0x49b43b
cmp byte [esi + 0xff], 0
jns 0x49b004
mov eax, dword [esi + 0xf4]
mov byte [eax], 0
mov dword [esi + 0xf8], 0
jmp 0x49b012
push dword [eax - 0xc]
call fcn.004cf0d6
add esp, 4
jmp 0x49a8a1
lea ebx, [eax - 0xc]
cmp byte [eax - 1], 0
js 0x49a88b
mov eax, ebx
cmp edi, ebx
jne 0x49a898
mov eax, dword [esi + 0x44]
mov dword [esi + 0x48], edi
push eax
call fcn.004cf0d6
add esp, 4
lea ecx, [esi + 0x50]
push dword [ecx + 4]
call fcn.004fd700
cmp byte [esi + 0x60], 0
je 0x49a8d8
cmp byte [esi + 0x6f], 0
jns 0x49a8d8
push dword [esi + 0x64]
call fcn.004cf0d6
add esp, 4
lea ecx, [esi + 0x70]
call fcn.00566960
mov edi, dword [esi + 0x38]
mov ecx, dword [esi + 0x3c]
mov eax, ecx
sub eax, edi
je 0x49afc1
sar eax, 2
imul eax, eax, 0x4f72c235
movd xmm0, eax
por xmm0, xmmword [0x579290]
subsd xmm0, qword [0x5792a0]
movsd xmm1, qword [0x596368]
divsd xmm1, xmm0
movsd qword [esi + 0x28], xmm1
mov dword [esi + 0x18], ecx
xor eax, eax
dec eax
mov dword [esi + 0x58], eax
mov dword [esi + 0x54], eax
mov dword [esi + 0x50], eax
lea ebx, [esi + 0x50]
mov ecx, ebx
push str._path690.2354_vars
call fcn.004fc470
mov ecx, ebx
push str._projectBROWSER
call fcn.004b8650
mov edx, edi
lea edi, [esi + 0xf0]
mov ecx, edi
mov dword [esi + 0x14], edx
call fcn.00566b00
mov ecx, edi
push str.__msg
xor edi, edi
push edi
call fcn.004bfee0
mov ecx, dword [eax + 8]
mov dword [esi + 0x78], ecx
movsd xmm0, qword [eax]
movsd qword [esi + 0x70], xmm0
mov dword [eax], edi
mov dword [eax + 4], edi
mov dword [eax + 8], edi
movzx eax, byte [esi + 0x7b]
test al, al
cmovs eax, dword [esi + 0x74]
mov edx, dword [esi + 0x70]
lea ecx, [esi + 0x70]
cmovns edx, ecx
mov ecx, ebx
push eax
push edx
call fcn.004b8680
cmp byte [esi + 0x7b], 0
jns 0x49a9ad
push dword [esi + 0x70]
call fcn.004cf0d6
add esp, 4
cmp byte [esi + 0xfb], 0
jns 0x49a9c4
push dword [esi + 0xf0]
call fcn.004cf0d6
add esp, 4
mov eax, dword [esi + 0x14]
lea edx, [eax + 0xc]
lea edi, [esi + 0xf0]
mov ecx, edi
call fcn.00566b00
mov ecx, edi
push str.__source
xor edi, edi
push edi
call fcn.004bfee0
mov ecx, dword [eax + 8]
mov dword [esi + 0x78], ecx
movsd xmm0, qword [eax]
movsd qword [esi + 0x70], xmm0
mov dword [eax], edi
mov dword [eax + 4], edi
mov dword [eax + 8], edi
movzx eax, byte [esi + 0x7b]
test al, al
cmovs eax, dword [esi + 0x74]
mov edx, dword [esi + 0x70]
lea ecx, [esi + 0x70]
cmovns edx, ecx
lea ecx, [esi + 0x50]
push eax
push edx
call fcn.004b8680
cmp byte [esi + 0x7b], 0
jns 0x49aa2b
push dword [esi + 0x70]
call fcn.004cf0d6
add esp, 4
cmp byte [esi + 0xfb], 0
jns 0x49aa42
push dword [esi + 0xf0]
call fcn.004cf0d6
add esp, 4
mov edi, dword [esi + 0x14]
movzx eax, byte [edi + 0x23]
test al, al
jns 0x49aa50
mov eax, dword [edi + 0x1c]
test eax, eax
je 0x49aad2
lea edx, [edi + 0x18]
lea edi, [esi + 0xf0]
mov ecx, edi
call fcn.00566b00
mov ecx, edi
push str.__type
xor edi, edi
push edi
call fcn.004bfee0
mov ecx, dword [eax + 8]
mov dword [esi + 0x78], ecx
movsd xmm0, qword [eax]
movsd qword [esi + 0x70], xmm0
mov dword [eax], edi
mov dword [eax + 4], edi
mov dword [eax + 8], edi
movzx eax, byte [esi + 0x7b]
test al, al
cmovs eax, dword [esi + 0x74]
mov edx, dword [esi + 0x70]
lea ecx, [esi + 0x70]
cmovns edx, ecx
lea ecx, [esi + 0x50]
push eax
push edx
call fcn.004b8680
cmp byte [esi + 0x7b], 0
jns 0x49aab8
push dword [esi + 0x70]
call fcn.004cf0d6
add esp, 4
cmp byte [esi + 0xfb], 0
jns 0x49aacf
push dword [esi + 0xf0]
call fcn.004cf0d6
add esp, 4
mov edi, dword [esi + 0x14]
lea ecx, [esi + 0x50]
push str.__platformdesktop
call fcn.004b8650
cmp byte [edi + 0x48], 0
je 0x49ab63
lea edx, [edi + 0x4c]
lea edi, [esi + 0xf0]
mov ecx, edi
call fcn.00566b00
mov ecx, edi
push str.__version
xor edi, edi
push edi
call fcn.004bfee0
mov ecx, dword [eax + 8]
mov dword [esi + 0x78], ecx
movsd xmm0, qword [eax]
movsd qword [esi + 0x70], xmm0
mov dword [eax], edi
mov dword [eax + 4], edi
mov dword [eax + 8], edi
movzx eax, byte [esi + 0x7b]
test al, al
cmovs eax, dword [esi + 0x74]
mov edx, dword [esi + 0x70]
lea ecx, [esi + 0x70]
cmovns edx, ecx
lea ecx, [esi + 0x50]
push eax
push edx
call fcn.004b8680
cmp byte [esi + 0x7b], 0
jns 0x49ab49
push dword [esi + 0x70]
call fcn.004cf0d6
add esp, 4
cmp byte [esi + 0xfb], 0
jns 0x49ab60
push dword [esi + 0xf0]
call fcn.004cf0d6
add esp, 4
mov edi, dword [esi + 0x14]
cmp byte [edi + 0x58], 0
je 0x49aba9
lea eax, [edi + 0x5c]
push eax
push str.__yandexuid
lea ebx, [esi + 0x70]
push ebx
call fcn.00404ce0
add esp, 0xc
movzx eax, byte [esi + 0x7b]
mov edx, ebx
test al, al
jns 0x49ab8e
mov eax, dword [esi + 0x74]
mov edx, dword [esi + 0x70]
lea ecx, [esi + 0x50]
push eax
push edx
call fcn.004b8680
cmp byte [esi + 0x7b], 0
jns 0x49aba9
push dword [esi + 0x70]
call fcn.004cf0d6
add esp, 4
cmp byte [edi + 0x28], 0
je 0x49ac2d
lea edx, [edi + 0x2c]
lea edi, [esi + 0xf0]
mov ecx, edi
call fcn.00566b00
mov ecx, edi
push str.__page
xor edi, edi
push edi
call fcn.004bfee0
mov ecx, dword [eax + 8]
mov dword [esi + 0x78], ecx
movsd xmm0, qword [eax]
movsd qword [esi + 0x70], xmm0
mov dword [eax], edi
mov dword [eax + 4], edi
mov dword [eax + 8], edi
movzx eax, byte [esi + 0x7b]
test al, al
cmovs eax, dword [esi + 0x74]
mov edx, dword [esi + 0x70]
lea ecx, [esi + 0x70]
cmovns edx, ecx
lea ecx, [esi + 0x50]
push eax
push edx
call fcn.004b8680
cmp byte [esi + 0x7b], 0
jns 0x49ac13
push dword [esi + 0x70]
call fcn.004cf0d6
add esp, 4
cmp byte [esi + 0xfb], 0
jns 0x49ac2a
push dword [esi + 0xf0]
call fcn.004cf0d6
add esp, 4
mov edi, dword [esi + 0x14]
cmp byte [edi + 0x38], 0
je 0x49acb1
lea edx, [edi + 0x3c]
lea edi, [esi + 0xf0]
mov ecx, edi
call fcn.00566b00
mov ecx, edi
push str.__referrer
xor edi, edi
push edi
call fcn.004bfee0
mov ecx, dword [eax + 8]
mov dword [esi + 0x78], ecx
movsd xmm0, qword [eax]
movsd qword [esi + 0x70], xmm0
mov dword [eax], edi
mov dword [eax + 4], edi
mov dword [eax + 8], edi
movzx eax, byte [esi + 0x7b]
test al, al
cmovs eax, dword [esi + 0x74]
mov edx, dword [esi + 0x70]
lea ecx, [esi + 0x70]
cmovns edx, ecx
lea ecx, [esi + 0x50]
push eax
push edx
call fcn.004b8680
cmp byte [esi + 0x7b], 0
jns 0x49ac97
push dword [esi + 0x70]
call fcn.004cf0d6
add esp, 4
cmp byte [esi + 0xfb], 0
jns 0x49acae
push dword [esi + 0xf0]
call fcn.004cf0d6
add esp, 4
mov edi, dword [esi + 0x14]
cmp dword [edi + 0x24], 0xa
jl 0x49acc4
lea ecx, [esi + 0x50]
push str.__silentyes
call fcn.004b8650
cmp dword [edi + 0x70], 0
je 0x49af5b
xor eax, eax
dec eax
mov dword [esi + 0x70], eax
mov dword [esi + 0x74], eax
mov dword [esi + 0x78], eax
lea ecx, [esi + 0x70]
push 0x579439
call fcn.004fc470
mov eax, edi
mov edi, dword [edi + 0x68]
add eax, 0x6c
mov dword [esi + 0x10], eax
cmp edi, eax
je 0x49ae9e
xor eax, eax
mov dword [esi + 0x11c], eax
mov dword [esi + 0x118], eax
mov dword [esi + 0x120], eax
movzx ebx, byte [edi + 0x1b]
test bl, bl
jns 0x49ad1e
mov ebx, dword [edi + 0x14]
mov ecx, dword [edi + 0x10]
jmp 0x49ad21
lea ecx, [edi + 0x10]
lea eax, [ebx + 2]
cmp eax, 0xfffffff0
jae 0x49b3b9
cmp eax, 0xb
jae 0x49ad44
mov byte [esi + 0x123], bl
lea eax, [esi + 0x118]
test ebx, ebx
jne 0x49ad7a
jmp 0x49ad8b
mov dword [esi + 0xc], ebx
mov eax, dword [esi + 0xc]
lea ebx, [eax + 0x12]
and ebx, 0xfffffff0
push ebx
mov dword [esi + 0x1c], ecx
call fcn.004cf0a6
mov ecx, dword [esi + 0x1c]
add esp, 4
mov dword [esi + 0x118], eax
or ebx, 0x80000000
mov dword [esi + 0x120], ebx
mov ebx, dword [esi + 0xc]
mov dword [esi + 0x11c], ebx
mov dword [esi + 0xc], eax
push ebx
push ecx
push eax
call fcn.004d4f00
mov eax, dword [esi + 0xc]
add esp, 0xc
mov byte [eax + ebx], 0
lea ecx, [esi + 0x118]
push 2
push 0x59659f
call fcn.004b8680
movzx eax, byte [edi + 0x27]
test al, al
jns 0x49adb1
mov eax, dword [edi + 0x20]
mov edx, dword [edi + 0x1c]
jmp 0x49adb4
lea edx, [edi + 0x1c]
lea ecx, [esi + 0x118]
push eax
push edx
call fcn.004b8680
mov ecx, dword [eax + 8]
mov dword [esi + 0x68], ecx
movsd xmm0, qword [eax]
movsd qword [esi + 0x60], xmm0
xor ebx, ebx
mov dword [eax], ebx
mov dword [eax + 8], ebx
mov dword [eax + 4], ebx
lea ecx, [esi + 0x60]
push 0x59659c
call fcn.004b8650
mov ecx, dword [eax + 8]
mov dword [esi + 0xf8], ecx
movsd xmm0, qword [eax]
movsd qword [esi + 0xf0], xmm0
mov dword [eax], ebx
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
movzx eax, byte [esi + 0xfb]
test al, al
cmovs eax, dword [esi + 0xf4]
mov edx, dword [esi + 0xf0]
lea ecx, [esi + 0xf0]
cmovns edx, ecx
lea ecx, [esi + 0x70]
push eax
push edx
call fcn.004b8680
cmp byte [esi + 0xfb], 0
jns 0x49ae44
push dword [esi + 0xf0]
call fcn.004cf0d6
add esp, 4
cmp byte [esi + 0x6b], 0
jns 0x49ae55
push dword [esi + 0x60]
call fcn.004cf0d6
add esp, 4
cmp byte [esi + 0x123], 0
jns 0x49ae6c
push dword [esi + 0x118]
call fcn.004cf0d6
add esp, 4
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x49ae7d
mov eax, ecx
mov ecx, dword [ecx]
test ecx, ecx
jne 0x49ae73
jmp 0x49ae93
mov eax, dword [edi + 8]
cmp dword [eax], edi
je 0x49ae93
add edi, 8
mov ecx, dword [edi]
lea edi, [ecx + 8]
mov eax, dword [ecx + 8]
cmp dword [eax], ecx
jne 0x49ae87
mov edi, eax
cmp eax, dword [esi + 0x10]
jne 0x49acfa
movzx eax, byte [esi + 0x7b]
test al, al
jns 0x49aea9
mov eax, dword [esi + 0x74]
dec eax
lea ebx, [esi + 0x70]
mov ecx, ebx
xor edi, edi
push edi
push eax
call fcn.004b8480
mov ecx, ebx
push 0x579440
call fcn.004b8650
lea ecx, [esi + 0x60]
mov edx, ebx
call fcn.00566b00
lea ecx, [esi + 0x60]
push str.__additional
push edi
call fcn.004bfee0
mov ecx, dword [eax + 8]
mov dword [esi + 0xf8], ecx
movsd xmm0, qword [eax]
movsd qword [esi + 0xf0], xmm0
mov dword [eax], edi
mov dword [eax + 4], edi
mov dword [eax + 8], edi
movzx eax, byte [esi + 0xfb]
test al, al
cmovs eax, dword [esi + 0xf4]
mov edx, dword [esi + 0xf0]
lea ecx, [esi + 0xf0]
cmovns edx, ecx
lea ecx, [esi + 0x50]
push eax
push edx
call fcn.004b8680
cmp byte [esi + 0xfb], 0
jns 0x49af39
push dword [esi + 0xf0]
call fcn.004cf0d6
add esp, 4
cmp byte [esi + 0x6b], 0
jns 0x49af4a
push dword [esi + 0x60]
call fcn.004cf0d6
add esp, 4
cmp byte [esi + 0x7b], 0
jns 0x49af5b
push dword [esi + 0x70]
call fcn.004cf0d6
add esp, 4
lea ecx, [esi + 0x50]
push 0x585c49
call fcn.004b8650
mov edi, esp
sub esp, 0x14
mov ecx, esp
mov eax, dword [esi + 0x58]
mov dword [ecx + 8], eax
movsd xmm0, qword [esi + 0x50]
movsd qword [ecx], xmm0
xor eax, eax
mov dword [esi + 0x54], eax
mov dword [esi + 0x50], eax
mov dword [esi + 0x58], eax
movsd xmm0, qword [esi + 0x28]
movsd qword [ecx + 0xc], xmm0
call fcn.00566390
mov esp, edi
cmp byte [esi + 0x5b], 0
jns 0x49afab
push dword [esi + 0x50]
call fcn.004cf0d6
add esp, 4
mov edi, dword [esi + 0x14]
add edi, 0x74
mov ecx, dword [esi + 0x18]
cmp edi, ecx
jne 0x49a921
mov edi, dword [esi + 0x38]
mov ecx, edi
test ecx, ecx
je 0x49afef
mov eax, edi
mov edi, dword [esi + 0x3c]
cmp edi, ecx
je 0x49afe3
add edi, 0xffffff8c
mov ebx, ecx
mov ecx, edi
call fcn.00566960
mov ecx, ebx
cmp ebx, edi
jne 0x49afce
mov eax, dword [esi + 0x38]
mov dword [esi + 0x3c], ecx
push eax
call fcn.004cf0d6
add esp, 4
mov ecx, dword [esi + 0x128]
xor ecx, ebp
call fcn.004d25a3
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor eax, eax
mov byte [esi + 0xf4], al
mov byte [esi + 0xff], al
cmp byte [esi + 0xf0], 1
jne 0x49b438
movzx eax, byte [esi + 0xff]
test al, al
jns 0x49b036
mov ebx, dword [esi + 0xf4]
mov eax, dword [esi + 0xf8]
xor ecx, ecx
inc ecx
push ecx
push ecx
push ecx
push 0x57953d
push eax
push ebx
push edi
call fcn.004220f0
add esp, 0x1c
mov ebx, dword [esi + 0x44]
test ebx, ebx
jne 0x49b370
mov eax, dword [esi + 0x118]
mov ecx, dword [esi + 0x11c]
mov dword [esi + 0x44], eax
mov dword [esi + 0x48], ecx
mov edx, dword [esi + 0x120]
mov dword [esi + 0x4c], edx
push edi
push ecx
push eax
call fcn.0042e110
add esp, 0xc
mov eax, dword [esi + 0x44]
mov ebx, dword [esi + 0x48]
sub esp, 0x10
mov cl, byte [esi + 0x110]
mov byte [esp + 0xc], cl
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.0049b440
add esp, 0x10
mov edi, dword [esi + 0x118]
cmp edi, ebx
je 0x49b13a
mov ecx, dword [esi + 0x48]
cmp ecx, ebx
je 0x49b115
xor edx, edx
mov dword [esi + 0xc], ecx
cmp byte [edi + 0xb], 0
js 0x49b0ca
mov byte [edi], dl
mov byte [edi + 0xb], dl
jmp 0x49b0f2
mov eax, dword [edi]
mov byte [eax], 0
mov dword [edi + 4], 0
cmp byte [edi + 0xb], 0
jns 0x49b0f2
push dword [edi]
call fcn.004cf0d6
xor edx, edx
mov ecx, dword [esi + 0xc]
add esp, 4
mov dword [edi + 8], 0
mov eax, dword [ebx + 8]
mov dword [edi + 8], eax
movq xmm0, qword [ebx]
movq qword [edi], xmm0
mov dword [ebx + 4], edx
mov dword [ebx], edx
mov dword [ebx + 8], edx
add ebx, 0xc
add edi, 0xc
cmp ecx, ebx
jne 0x49b0bd
mov ebx, dword [esi + 0x48]
cmp ebx, edi
je 0x49b137
lea eax, [ebx - 0xc]
cmp byte [ebx - 1], 0
jns 0x49b131
push dword [ebx - 0xc]
mov ebx, eax
call fcn.004cf0d6
mov eax, ebx
add esp, 4
mov ebx, eax
cmp edi, eax
jne 0x49b119
mov dword [esi + 0x48], edi
cmp byte [esi + 0xf0], 0
je 0x49b15a
cmp byte [esi + 0xff], 0
jns 0x49b15a
push dword [esi + 0xf4]
call fcn.004cf0d6
add esp, 4
mov eax, dword [esi + 0x48]
sub eax, dword [esi + 0x44]
sar eax, 2
imul eax, eax, 0xaaaaaaab
push eax
lea eax, [esi + 0xf0]
push eax
call fcn.0040a340
add esp, 8
lea edi, [esi + 0x118]
mov ecx, edi
push str.important_urls_amount
call fcn.004fc470
mov dword [esi + 0x108], edi
lea eax, [esi + 0x10c]
lea ecx, [esi + 0xd8]
push eax
lea eax, [esi + 0x108]
push eax
push 0x5964e8
push edi
lea eax, [esi + 0x110]
push eax
call fcn.0041ab80
mov ebx, dword [esi + 0x110]
lea edi, [ebx + 0x1c]
cmp byte [ebx + 0x27], 0
jns 0x49b1ed
mov eax, dword [ebx + 0x1c]
mov byte [eax], 0
mov dword [ebx + 0x20], 0
cmp byte [ebx + 0x27], 0
jns 0x49b1f4
push dword [ebx + 0x1c]
call fcn.004cf0d6
add esp, 4
mov dword [ebx + 0x24], 0
jmp 0x49b1f4
xor eax, eax
mov byte [edi], al
mov byte [edi + 0xb], al
mov eax, dword [esi + 0xf8]
mov dword [edi + 8], eax
movq xmm0, qword [esi + 0xf0]
movq qword [edi], xmm0
xor eax, eax
mov dword [esi + 0xf4], eax
mov dword [esi + 0xf0], eax
mov dword [esi + 0xf8], eax
cmp byte [esi + 0x123], 0
jns 0x49b24b
push dword [esi + 0x118]
call fcn.004cf0d6
add esp, 4
cmp byte [esi + 0xfb], 0
jns 0x49b24b
push dword [esi + 0xf0]
call fcn.004cf0d6
add esp, 4
mov edi, dword [esi + 0x44]
mov eax, dword [esi + 0x48]
cmp edi, eax
jne 0x49b2b2
lea edi, [esi + 0xf0]
mov ecx, edi
push str.Other
call fcn.004fc470
mov eax, dword [esi + 0x48]
cmp eax, dword [esi + 0x4c]
jae 0x49b28c
mov ecx, dword [esi + 0xf8]
mov dword [eax + 8], ecx
movq xmm0, qword [esi + 0xf0]
movq qword [eax], xmm0
add eax, 0xc
mov dword [esi + 0x48], eax
jmp 0x49b2ac
lea ecx, [esi + 0x44]
push edi
call fcn.004cd290
cmp byte [esi + 0xfb], 0
jns 0x49b2ac
push dword [esi + 0xf0]
call fcn.004cf0d6
add esp, 4
mov edi, dword [esi + 0x44]
mov eax, dword [esi + 0x48]
cmp edi, eax
je 0x49a802
xor ebx, ebx
mov dword [esi + 0xc], eax
cmp byte [esi + 0x98], 0
jne 0x49b2ed
mov eax, dword [edi + 8]
lea ecx, [esi + 0x9c]
mov dword [ecx + 8], eax
movq xmm0, qword [edi]
movq qword [ecx], xmm0
mov dword [edi + 4], ebx
mov dword [edi], ebx
mov dword [edi + 8], ebx
mov byte [esi + 0x98], 1
jmp 0x49b354
cmp byte [esi + 0xa7], 0
jns 0x49b32c
mov eax, dword [esi + 0x9c]
mov byte [eax], 0
mov dword [esi + 0xa0], 0
cmp byte [esi + 0xa7], 0
jns 0x49b338
push dword [esi + 0x9c]
call fcn.004cf0d6
add esp, 4
mov dword [esi + 0xa4], 0
jmp 0x49b338
mov byte [esi + 0x9c], bl
mov byte [esi + 0xa7], bl
mov eax, dword [edi + 8]
lea ecx, [esi + 0x9c]
mov dword [ecx + 8], eax
movq xmm0, qword [edi]
movq qword [ecx], xmm0
mov dword [edi + 4], ebx
mov dword [edi], ebx
mov dword [edi + 8], ebx
lea ecx, [esi + 0x38]
lea edx, [esi + 0x70]
call fcn.00566710
add edi, 0xc
cmp dword [esi + 0xc], edi
jne 0x49b2bf
jmp 0x49a802
mov eax, dword [esi + 0x48]
mov ecx, ebx
cmp eax, ebx
je 0x49b396
lea edi, [eax - 0xc]
cmp byte [eax - 1], 0
jns 0x49b38d
push dword [eax - 0xc]
call fcn.004cf0d6
add esp, 4
mov eax, edi
cmp ebx, edi
jne 0x49b379
mov ecx, dword [esi + 0x44]
mov dword [esi + 0x48], ebx
push ecx
call fcn.004cf0d6
add esp, 4
lea edi, [esi + 0x118]
jmp 0x49b057
mov ecx, ebx
call fcn.004c2c70
jmp 0x499aa8
lea ecx, [esi + 0x118]
call fcn.004fc800
push 0x5c87ec
call fcn.004d02b9
add esp, 4
cmp dword [0x5c87ec], 0xffffffff
jne 0x499a93
push 0x10
call fcn.004cf0a6
add esp, 4
mov edi, eax
pxor xmm0, xmm0
movdqu xmmword [eax], xmm0
mov ecx, eax
call fcn.004c1420
lea eax, [edi + 4]
mov dword [edi + 4], eax
mov dword [edi + 8], eax
mov dword [edi + 0xc], 0
mov dword [0x5c87e8], edi
push 0x5c87ec
call fcn.004d03d3
add esp, 4
jmp 0x499a93
int3
int3
int3
lea ecx, [esi + 0xf0]
call fcn.004fc800
int3
int3
int3