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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x5c8
mov edi, ecx
push 8
pop ecx
push 4
pop edx
call fcn.00423cc6
mov esi, eax
xor eax, eax
inc eax
mov dword [esi], eax
mov dword [esi + 4], eax
call fcn.004dd04b
xor ebx, ebx
mov ecx, 0x400
mov byte [esp + 0x150], bl
mov dword [esp + 0x140], ecx
and word [esp + 0x153], 0
and dword [esp + 0x128], 0
mov dword [esp + 0x144], 0x200
mov dword [esp + 0x120], esi
mov dword [esp + 0x124], 0x55b388
and dword [esp + 0x130], 0
and dword [esp + 0x100], 0
and dword [esp + 0x108], 0
and dword [esp + 0x110], 0
and dword [esp + 0x118], 0
mov dword [esp + 0xf8], 0x3b9aca00
and dword [esp + 0x138], 0
mov dword [esp + 0x148], 0x3d
mov dword [esp + 0x14c], 0x100
and dword [esp + 0xe0], 0
mov byte [esp + 0xe4], bl
mov dword [esp + 0xe8], eax
mov dword [esp + 0xec], edx
lea edx, [esp + 0x88]
lea esi, [esp + 0x3e0]
mov byte [esp + 0x155], bl
mov word [esp + 0x151], 0x101
mov dword [edx + 4], 0x10101
mov dword [edx], ecx
mov ecx, esi
call fcn.004e1b53
mov eax, dword [esi]
cmp eax, 2
jne 0x48225c
mov ecx, dword [esp + 0x3e4]
mov edx, dword [esp + 0x3e8]
call fcn.00484661
mov ecx, dword [edi + 0x1b0]
mov edx, eax
call fcn.00484678
test eax, eax
mov dword [esp + 0x3e0], eax
mov dword [esp + 0x3e4], edx
je 0x48283f
cmp eax, 1
jne 0x482833
lea ecx, [esp + 0x200]
mov dword [ecx], edx
jmp 0x48283a
mov dword [esp + 0x168], eax
lea eax, [esp + 0x3ec]
mov dword [esp + 0xc], edi
lea esi, [esp + 0x200]
mov ecx, dword [eax - 8]
mov edx, dword [eax - 4]
mov dword [esp + 0x164], ecx
mov dword [esp + 0x160], edx
push 0x94
push eax
push esi
call fcn.005010b0
add esp, 0xc
movq xmm0, qword [esi]
movsd xmm1, qword [esi + 8]
mov eax, dword [esi + 0x10]
lea esi, [esp + 0x214]
movq qword [esp + 0x68], xmm0
movsd qword [esp + 0x70], xmm1
mov dword [esp + 0x78], eax
push 0x20
pop ecx
lea edi, [esp + 0x180]
mov edx, 0x200
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0xe0]
call fcn.004e1fbf
mov dword [esp + 0x15c], eax
mov dword [esp + 4], edx
lock inc dword [edx]
jle 0x48451f
lea esi, [esp + 0xe0]
mov ecx, esi
call fcn.004decb8
mov ecx, esi
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], edx
call fcn.004decb8
mov dword [esp + 0x28], edx
mov ecx, dword [esi + 0x30]
mov edx, dword [esi + 0x34]
mov dword [esp + 0x30], eax
call fcn.00473b7f
mov dword [esp + 0x10], edx
mov ecx, dword [esi + 0x38]
mov edx, dword [esi + 0x3c]
mov dword [esp + 0x20], eax
call fcn.00473b7f
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0x58]
and dword [esp + 0x3e7], 0
and dword [esp + 0x3e3], 0
mov dword [esp + 0x60], edx
mov dword [esp + 0x2c], eax
mov eax, dword [esi + 0x5c]
mov dword [esp + 8], eax
mov eax, dword [esi + 0x68]
mov dword [esp + 0x5c], eax
mov eax, dword [esi + 0x6c]
mov dword [esp + 0x58], eax
movzx eax, word [esi + 0x74]
mov word [esp + 0x24], ax
xor eax, eax
mov byte [esp + 0x3eb], al
movsd xmm0, qword [esp + 0x3e0]
movsd xmm1, qword [esp + 0x3e7]
movsd qword [esp + 0xc8], xmm0
movsd qword [esp + 0xcf], xmm1
call fcn.004e21b2
and dword [esp + 0x3e7], 0
and dword [esp + 0x3e3], 0
and dword [esp + 0x3ec], 0
and dword [esp + 0x3e8], 0
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], edx
movsd xmm0, qword [esp + 0x3e0]
movsd xmm1, qword [esp + 0x3e8]
movsd qword [esp + 0x88], xmm0
movsd qword [esp + 0x90], xmm1
push 8
pop edx
mov ecx, 0x110
call fcn.00423cc6
mov ebx, eax
xor eax, eax
inc eax
lea edi, [ebx + 8]
mov dword [ebx], eax
mov dword [ebx + 4], eax
push 0x20
pop ecx
lea esi, [esp + 0x180]
xor eax, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x30]
and dword [ebx + 0x88], 0
mov byte [ebx + 0x8c], al
mov dword [ebx + 0x90], ecx
mov ecx, dword [esp + 0x28]
mov dword [ebx + 0x94], ecx
and dword [ebx + 0x98], 0
mov byte [ebx + 0x9c], al
mov ecx, dword [esp + 0x38]
movsd xmm0, qword [esp + 0x88]
movsd xmm1, qword [esp + 0x90]
movsd qword [ebx + 0x9d], xmm0
movsd qword [ebx + 0xa5], xmm1
mov dword [ebx + 0xb4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [ebx + 0xb0], ecx
and dword [ebx + 0xb8], 0
and dword [ebx + 0xbc], 0
mov byte [ebx + 0xc0], al
xor ecx, ecx
movq xmm0, qword [esp + 0xc8]
movsd xmm1, qword [esp + 0xcf]
movq qword [ebx + 0xc1], xmm0
movsd qword [ebx + 0xc8], xmm1
and dword [ebx + 0xd0], 0
mov byte [ebx + 0xd4], al
mov eax, dword [esp + 0x18]
mov dword [ebx + 0xd8], eax
mov eax, dword [esp + 0x14]
mov dword [ebx + 0xdc], eax
mov eax, dword [esp + 0x20]
mov dword [ebx + 0xe0], eax
mov eax, dword [esp + 0x10]
mov dword [ebx + 0xe4], eax
mov eax, dword [esp + 0x1c]
mov dword [ebx + 0xe8], eax
mov eax, dword [esp + 0x60]
mov dword [ebx + 0xec], eax
mov eax, dword [esp + 0x2c]
mov edi, eax
mov dword [ebx + 0xf0], eax
mov eax, dword [esp + 8]
mov dword [ebx + 0xf4], eax
mov eax, dword [esp + 0x5c]
mov dword [ebx + 0xf8], eax
mov eax, dword [esp + 0x58]
mov dword [ebx + 0xfc], eax
movzx eax, word [esp + 0x24]
mov word [ebx + 0x100], ax
mov eax, dword [esp + 4]
mov byte [ebx + 0x104], cl
mov dword [ebx + 0x108], eax
push 4
pop edx
mov ecx, 0x100
call fcn.00420dff
test eax, eax
je 0x484523
mov esi, eax
test edi, edi
push 0x1f
pop eax
mov edi, dword [esp + 8]
cmove edi, eax
push 0x3c
pop ecx
push 4
pop edx
call fcn.00423cc6
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x15c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x160]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x164]
mov dword [eax + 4], ecx
movq xmm0, qword [esp + 0x68]
movsd xmm1, qword [esp + 0x70]
movq qword [eax + 0xc], xmm0
movsd qword [eax + 0x14], xmm1
mov ecx, dword [esp + 0x78]
mov dword [eax + 0x1c], ecx
xor ecx, ecx
mov dword [eax + 0x20], 0x40
mov dword [eax + 0x24], esi
and dword [eax + 0x28], 0
and dword [eax + 0x2c], 0
and dword [eax + 0x30], 0
mov dword [eax + 0x34], edi
mov byte [eax + 0x38], cl
mov dword [esp + 0xa8], ebx
and dword [esp + 0xac], 0
mov dword [esp + 0xb0], eax
and dword [esp + 0xb4], 0
mov byte [esp + 0xb8], cl
mov ecx, dword [esp + 4]
movzx eax, word [esp + 0x16c]
mov word [esp + 0xb9], ax
mov al, byte [esp + 0x16e]
mov byte [esp + 0xbb], al
and dword [esp + 0xbc], 0
and dword [esp + 0xc0], 0
and dword [esp + 0xc4], 0
mov dword [esp + 0x9c], edx
mov dword [esp + 0xa0], ecx
and dword [esp + 0xa4], 0
lea ecx, [esp + 0xe0]
call fcn.00484708
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0xa4]
lea ecx, [esp + 0x3d4]
mov ebx, dword [esi + 0x1b0]
mov edi, dword [esi + 0x1b4]
push dword [esp + 0xa8]
call fcn.004dc9ac
pop eax
xor eax, eax
cmp dword [esp + 0xac], eax
lea eax, [esp + 0x3e0]
je 0x48272d
xor ecx, ecx
call fcn.004dc44c
test eax, eax
mov dword [esp + 4], edi
je 0x482864
cmp byte [eax + 0x3a], 2
mov esi, eax
jne 0x482871
mov byte [esi + 0x3a], 1
mov ecx, 0x88
add ecx, dword [esp + 0xa8]
call fcn.004decb8
mov edi, eax
mov eax, dword [esi + 0x34]
lea ecx, [esp + 0x3e0]
mov dword [esp + 8], edx
mov dword [ecx + 8], eax
movq xmm0, qword [esi + 0x2c]
movq qword [ecx], xmm0
call fcn.004dd039
mov ecx, dword [esp + 8]
mov dword [esi + 0x2c], 1
mov dword [esi + 0x30], edi
lea edi, [esp + 0x3e8]
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
mov edx, esi
mov dword [esi + 0x34], ecx
mov ecx, edi
push dword [esp + 0xa8]
push dword [esp + 0xa8]
call fcn.004dcee7
pop eax
pop ecx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [edi - 8], eax
mov dword [edi - 4], ecx
jmp 0x48287c
push 0x1b0
push esi
push eax
call fcn.005010b0
add esp, 0xc
mov eax, dword [esp + 0x17c]
mov dword [esp + 0x590], ebx
movq xmm0, qword [esp + 0x16c]
movsd xmm1, qword [esp + 0x174]
xor ecx, ecx
mov dword [esp + 0x5a4], eax
movzx eax, word [esp + 0x35]
movq qword [esp + 0x594], xmm0
movsd qword [esp + 0x59c], xmm1
mov dword [esp + 0x5a8], edi
mov byte [esp + 0x5ac], 0
mov word [esp + 0x5ad], ax
mov al, byte [esp + 0x37]
mov byte [esp + 0x5af], al
call fcn.004dc44c
test eax, eax
je 0x482a19
cmp byte [eax + 0x3a], 2
mov esi, eax
jne 0x482a26
mov byte [esi + 0x3a], 0
mov ecx, 0x88
add ecx, dword [esp + 0xa8]
call fcn.004decb8
mov edi, eax
mov eax, dword [esi + 0x34]
lea ecx, [esp + 0x200]
mov dword [esp + 4], edx
mov dword [ecx + 8], eax
movq xmm0, qword [esi + 0x2c]
movq qword [ecx], xmm0
call fcn.004dd039
mov ecx, dword [esp + 4]
mov dword [esi + 0x2c], 1
mov dword [esi + 0x30], edi
lea edi, [esp + 0x208]
mov ebx, edx
mov dword [esp + 8], eax
mov edx, esi
mov dword [esi + 0x34], ecx
mov ecx, edi
push dword [esp + 0xa8]
push dword [esp + 0xa8]
call fcn.004dcee7
pop eax
pop ecx
mov eax, dword [esp + 8]
mov dword [edi - 8], eax
mov dword [edi - 4], ebx
jmp 0x482a31
lea ecx, [esp + 0x3e4]
call fcn.00479862
lea ecx, [esp + 0xe0]
call fcn.00484708
mov ecx, edi
call fcn.0047933f
add edi, 0x1b4
mov ecx, edi
call fcn.004793b3
jmp 0x4843eb
mov dword [esp + 0x208], 4
jmp 0x4828ae
mov dword [esp + 0x3e8], 3
mov eax, dword [esp + 0x3f0]
movq xmm0, qword [esp + 0x3e0]
movsd xmm1, qword [esp + 0x3e8]
mov dword [esp + 0x210], eax
movsd qword [esp + 0x208], xmm1
movq qword [esp + 0x200], xmm0
lea esi, [esp + 0xe0]
lea edi, [esp + 0x200]
mov ecx, esi
mov edx, edi
call fcn.0048d5c6
cmp dword [esi + 8], 3
je 0x484544
mov eax, dword [esp + 0xf0]
movsd xmm0, qword [esp + 0xe0]
movsd xmm1, qword [esp + 0xe8]
mov dword [esp + 0x190], eax
movsd qword [esp + 0x188], xmm1
movsd qword [esp + 0x180], xmm0
push 0x1b0
push dword [esp + 0x10]
push edi
call fcn.005010b0
add esp, 0xc
mov eax, dword [esp + 0x17c]
mov dword [esp + 0x3b0], ebx
movq xmm0, qword [esp + 0x16c]
movsd xmm1, qword [esp + 0x174]
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 4]
movq qword [esp + 0x3b4], xmm0
movsd qword [esp + 0x3bc], xmm1
mov dword [esp + 0x3c8], eax
movzx eax, word [esp + 0x35]
mov byte [esp + 0x3cc], 0
mov word [esp + 0x3cd], ax
mov al, byte [esp + 0x37]
mov byte [esp + 0x3cf], al
call fcn.004e1239
test edx, edx
je 0x484552
lea ecx, [esp + 0x68]
lea esi, [esp + 0x88]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov dword [esi], ecx
push 0x1d0
push edi
lea edi, [esp + 0x3e8]
push edi
call fcn.005010b0
add esp, 0xc
xor ecx, ecx
call fcn.004dc44c
test eax, eax
je 0x4829c9
mov bh, byte [eax + 0x38]
mov cl, byte [eax + 0x39]
mov word [eax + 0x38], 0x8001
mov byte [esp + 4], cl
jmp 0x4829cb
mov bh, 2
mov ecx, edi
mov edx, esi
call fcn.004847c0
movzx edx, byte [esp + 4]
movzx ecx, bh
mov ebx, eax
call fcn.0046eb15
test bl, bl
je 0x4829ee
call fcn.004e132c
jmp 0x4829ac
lea ecx, [esp + 0x3e0]
call fcn.00484770
mov eax, dword [esp + 0x6c]
push dword [esp + 0x68]
call dword [eax + 0xc]
add esp, 4
lea ecx, [esp + 0x180]
call fcn.00484758
jmp 0x48356a
mov dword [esp + 0x188], 4
jmp 0x482a63
mov dword [esp + 0x208], 3
mov eax, dword [esp + 0x210]
movq xmm0, qword [esp + 0x200]
movsd xmm1, qword [esp + 0x208]
mov dword [esp + 0x190], eax
movsd qword [esp + 0x188], xmm1
movq qword [esp + 0x180], xmm0
lea esi, [esp + 0xc8]
lea edx, [esp + 0x180]
mov ecx, esi
call fcn.0048d5c6
cmp dword [esi + 8], 3
je 0x484591
mov eax, dword [esp + 0xd8]
movq xmm0, qword [esp + 0xc8]
movsd xmm1, qword [esp + 0xd0]
lea ecx, [esp + 0xa4]
mov dword [esp + 0x98], eax
movsd qword [esp + 0x90], xmm1
movq qword [esp + 0x88], xmm0
call fcn.004e19a8
mov dword [esp + 0x1c], eax
xor eax, eax
lea ecx, [esp + 0x204]
xchg dword [esp + 0xb0], eax
test eax, eax
jne 0x482fe2
mov dword [esp + 0x180], 2
mov eax, dword [esp + 0xc4]
shr eax, 2
mov dword [esp + 0x200], eax
lea eax, [esp + 0xb4]
and dword [esp + 0x204], 0
and dword [esp + 0x208], 0
and dword [esp + 0x210], 0
and dword [esp + 0x214], 0
mov dword [esp + 0x218], eax
mov al, byte [esp + 0x66]
mov byte [esp + 0x21c], 0
mov byte [ecx + 0x1b], al
movzx eax, word [esp + 0x64]
mov word [ecx + 0x19], ax
call fcn.004e1239
test edx, edx
je 0x4844d7
lea ecx, [esp + 0x68]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edx
mov dword [esp + 0x40], ecx
xor ecx, ecx
call fcn.004dc44c
test eax, eax
je 0x482b7c
mov cl, byte [eax + 0x38]
mov dl, byte [eax + 0x39]
mov word [eax + 0x38], 0x8001
mov byte [esp + 0x18], cl
mov byte [esp + 0x14], dl
jmp 0x482b81
mov byte [esp + 0x18], 2
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x218]
mov dword [esp + 0xc], ebx
movzx eax, byte [esp + 0x21c]
test eax, eax
jne 0x482c60
mov ecx, dword [esi + 0x10]
and ecx, 0xfffffffc
lea eax, [ecx + 2]
lock cmpxchg dword [esi + 0x10], ecx
jne 0x482bba
mov byte [esp + 0x21c], 2
jmp 0x482b90
mov eax, dword [ebx + 4]
push dword [ebx]
call dword [eax]
add esp, 4
mov ecx, esi
mov dword [esp + 8], eax
mov dword [esp + 4], edx
call fcn.004de0ba
mov ebx, dword [esi + 0x10]
mov ecx, eax
mov eax, ebx
shr eax, 2
cmp eax, dword [esp + 0x200]
jne 0x482c39
mov eax, ebx
and eax, 3
je 0x482c13
cmp eax, 2
jne 0x482d1c
and ebx, 0xfffffffc
lea eax, [ebx + 2]
lock cmpxchg dword [esi + 0x10], ebx
je 0x482c39
mov ebx, eax
and eax, 3
mov dword [esp + 0x48], eax
je 0x482be6
jmp 0x48443d
and ebx, 0xfffffffc
lea edi, [ebx + 1]
mov eax, ebx
lock cmpxchg dword [esi + 0x10], edi
je 0x482d25
mov ebx, eax
and eax, 3
cmp eax, 2
mov dword [esp + 0x48], eax
je 0x482be6
jmp 0x484455
movzx edx, dl
mov byte [esp + 0x21c], 2
call fcn.004ddfbd
push dword [esp + 8]
mov eax, dword [esp + 8]
call dword [eax + 0xc]
add esp, 4
mov ebx, dword [esp + 0xc]
jmp 0x482b90
cmp eax, 1
jne 0x482e66
lea edi, [esp + 0x214]
mov ecx, edi
push 2
pop edx
call fcn.004e21da
test eax, eax
jne 0x482df1
mov ecx, esi
call fcn.004de0ba
mov byte [esp + 8], dl
mov ecx, edi
xor edx, edx
mov dword [esp + 4], eax
call fcn.004e21da
test eax, eax
jne 0x482e1f
mov eax, dword [esi + 0x10]
shr eax, 2
cmp eax, dword [esp + 0x200]
je 0x482e73
mov ecx, dword [esp + 0x210]
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x20c]
and dword [esp + 0x210], 0
lea edx, [esp + 0x204]
mov dword [esp + 0x20], ecx
mov ecx, edi
mov dword [esp + 0x10], eax
add ecx, 8
call fcn.004dfe8b
xor edx, edx
cmp byte [esp + 8], 0
mov ecx, edi
mov byte [esp + 0x21c], 2
setne dl
call fcn.004dc013
mov eax, dword [esp + 0x20]
test eax, eax
je 0x482b90
push dword [esp + 0x10]
call dword [eax + 0xc]
add esp, 4
jmp 0x482b90
cmp eax, 1
jne 0x484428
mov eax, dword [esp + 8]
mov ebx, dword [esp + 0x20c]
mov esi, dword [esp + 0x210]
lea edi, [esp + 0x204]
mov dword [esp + 0x48], edi
mov dword [esp + 0x20c], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x210], eax
mov eax, dword [ecx + 8]
cmp eax, edi
je 0x48447c
mov dword [esp + 0x208], eax
and dword [esp + 0x204], 0
test eax, eax
lea edi, [esp + 0x204]
je 0x482d7b
mov dword [eax], edi
mov dword [ecx + 8], edi
cmp dword [ecx + 0xc], 0
jne 0x482d8e
lea eax, [esp + 0x204]
mov dword [ecx + 0xc], eax
xor eax, eax
test dl, dl
mov byte [esp + 0x21c], 1
setne al
mov edx, eax
call fcn.004dc013
test esi, esi
je 0x482daf
push ebx
call dword [esi + 0xc]
add esp, 4
lea ecx, [esp + 0x3e0]
lea edx, [esp + 0x40]
call fcn.004847c0
mov ebx, eax
mov dword [esp + 4], 0
movzx ecx, byte [esp + 0x18]
movzx edx, byte [esp + 0x14]
call fcn.0046eb15
test bl, bl
lea esi, [esp + 0x214]
je 0x482ee4
call fcn.004e132c
jmp 0x482b5b
mov ecx, dword [esp + 0x210]
mov eax, dword [esp + 0x20c]
and dword [esp + 0x210], 0
test ecx, ecx
je 0x482e12
push eax
call dword [ecx + 0xc]
add esp, 4
mov dword [esp + 0x214], 0
jmp 0x482e5e
mov esi, dword [esp + 0x20c]
mov edi, dword [esp + 0x210]
and dword [esp + 0x210], 0
mov dword [esp + 0x214], 0
xor edx, edx
cmp byte [esp + 8], 0
mov ecx, dword [esp + 4]
setne dl
call fcn.004dc013
test edi, edi
je 0x482e5e
push esi
call dword [edi + 0xc]
add esp, 4
mov byte [esp + 0x21c], 2
mov al, 1
xor ebx, ebx
mov dword [esp + 4], eax
jmp 0x482dc9
mov edx, dword [esp + 0x210]
mov eax, dword [ebx]
test edx, edx
je 0x482e9f
mov edi, dword [ebx + 4]
mov ecx, dword [esp + 0x20c]
push edi
push eax
mov ebx, eax
call fcn.004df28e
pop ecx
pop edx
xor esi, esi
test al, al
mov eax, ebx
je 0x482ea2
jmp 0x482ec8
mov edi, dword [ebx + 4]
push eax
call dword [edi]
add esp, 4
mov ecx, dword [esp + 0x20c]
mov esi, dword [esp + 0x210]
mov dword [esp + 0x20c], eax
mov dword [esp + 0x210], edx
mov dword [esp + 0x10], ecx
xor edx, edx
cmp byte [esp + 8], 0
mov ecx, dword [esp + 4]
setne dl
call fcn.004dc013
mov ebx, dword [esp + 0x10]
jmp 0x482da4
mov eax, dword [esp + 0x6c]
push dword [esp + 0x68]
call dword [eax + 0xc]
add esp, 4
cmp byte [esp + 0x21c], 1
jne 0x482f9e
mov edi, dword [esp + 0x218]
mov ecx, edi
call fcn.004de0ba
mov byte [esp + 8], dl
mov ecx, esi
xor edx, edx
mov esi, eax
mov ebx, dword [edi + 0x10]
add edi, 0x10
call fcn.004e21da
lea ecx, [esi + 8]
lea edx, [esp + 0x204]
mov dword [esp + 0xc], eax
mov dword [esp + 0x18], ecx
call fcn.004dfe8b
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
call fcn.004e1830
test al, al
je 0x482f5a
mov eax, ebx
and eax, 3
cmp eax, 1
jne 0x482f5a
and ebx, 0xfffffffc
mov eax, ebx
xchg dword [edi], eax
mov eax, dword [esp + 0xc]
cmp eax, 1
jne 0x482f92
mov ecx, dword [esp + 0x18]
mov edx, edi
push ebx
call fcn.004e1747
pop ecx
test edx, edx
je 0x482f92
mov ebx, edx
xor edx, edx
cmp byte [esp + 8], 0
mov ecx, esi
mov edi, eax
setne dl
call fcn.004dc013
push edi
call dword [ebx + 4]
add esp, 4
jmp 0x482f9e
movzx edx, byte [esp + 8]
mov ecx, esi
call fcn.004ddfbd
mov eax, dword [esp + 0x210]
test eax, eax
je 0x482fb6
push dword [esp + 0x20c]
call dword [eax + 0xc]
add esp, 4
mov eax, dword [esp + 0x180]
cmp byte [esp + 4], 0
je 0x483503
cmp eax, 2
je 0x482ac4
lea ecx, [esp + 0x180]
call fcn.0048d606
jmp 0x482ac4
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx]
lock inc dword [ecx]
jle 0x48451f
lea esi, [esp + 0x180]
and dword [esi], 0
and dword [esi + 4], 0
and dword [esi + 8], 0
mov dword [esi + 0xc], 4
and dword [esi + 0x10], 0
and dword [esi + 0x14], 0
mov dword [esi + 0x18], eax
lea eax, [esp + 0xb0]
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x20], eax
push 9
pop ecx
lea ebx, [esp + 0x200]
mov edx, 0x55a024
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
call fcn.004e1656
lea edi, [eax + 0x10]
mov edx, 0x55a034
mov esi, eax
mov ecx, edi
call fcn.0048d70d
mov ebx, dword [eax]
and dword [eax], 0
mov dword [esp + 4], edx
mov edx, 0x55a044
mov ecx, ebx
call fcn.004e13a0
mov eax, dword [esp + 4]
xor ecx, ecx
mov dword [esp + 4], ebx
inc dword [eax]
lea eax, [esp + 0x200]
mov dword [esp + 0x48], eax
lea eax, [esp + 0x3e0]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], esi
call fcn.004dc44c
test eax, eax
je 0x4845b0
mov ecx, dword [eax + 0x28]
mov dword [esp + 0x18], eax
lea edx, [esp + 0x40]
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x200]
mov dword [eax + 0x28], ecx
lea ecx, [esp + 0x64]
mov eax, dword [esi + 0x18]
mov byte [eax + 0x104], 1
add eax, 8
mov dword [ecx], edx
mov dword [esp + 0x14], esi
mov dword [esp + 0x20], edi
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], 0x55b9d0
mov eax, dword [esi + 0x18]
xor ecx, ecx
xchg byte [eax + 0x104], cl
test cl, cl
je 0x483178
mov ecx, edi
mov edx, 0x559fd8
call fcn.0048d70d
mov ecx, eax
mov esi, eax
mov ebx, edx
call fcn.0048d69a
mov eax, dword [esp + 4]
xor ecx, ecx
mov dword [esi], eax
inc dword [ebx]
call fcn.004dc44c
test eax, eax
je 0x483128
mov bh, byte [eax + 0x38]
mov cl, byte [eax + 0x39]
mov word [eax + 0x38], 0x8001
mov byte [esp + 4], cl
jmp 0x48312a
mov bh, 2
lea ecx, [esp + 0x3e0]
lea edx, [esp + 0x64]
call fcn.004847c0
movzx edx, byte [esp + 4]
movzx ecx, bh
mov ebx, eax
call fcn.0046eb15
mov ecx, edi
mov edx, 0x559fe8
call fcn.0048d70d
mov ecx, dword [eax]
and dword [eax], 0
mov esi, edx
mov edx, 0x55a004
mov dword [esp + 4], ecx
call fcn.004e13a0
inc dword [esi]
test bl, bl
je 0x4843f3
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 0x18]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 4]
mov edx, dword [eax + 0xf8]
sub edx, 1
jb 0x48329b
cmp byte [ebx + 0x38], 0
mov dword [esp + 4], ebx
jne 0x483516
mov eax, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x34]
inc eax
test ecx, ecx
mov dword [ebx + 0x30], eax
je 0x484419
mov esi, dword [esi + 0x18]
mov dword [esp + 8], edx
xor edx, edx
div ecx
test edx, edx
je 0x4831de
lea ecx, [ebx + 0x20]
call fcn.004df1ae
mov ebx, eax
test eax, eax
jne 0x483207
add esi, 0xb8
mov ecx, esi
call fcn.004df1f2
jmp 0x4831fd
add esi, 0xb8
mov ecx, esi
call fcn.004df1f2
mov ebx, eax
test eax, eax
jne 0x483207
mov eax, dword [esp + 4]
lea ecx, [eax + 0x20]
call fcn.004df1ae
mov ebx, eax
test eax, eax
je 0x4832b5
mov ecx, edi
mov edx, 0x559fd8
call fcn.0048d70d
mov ecx, eax
mov esi, eax
mov edi, edx
call fcn.0048d69a
mov eax, dword [esp + 4]
xor ecx, ecx
mov dword [esi], eax
inc dword [edi]
call fcn.004dc44c
test eax, eax
je 0x483247
mov cl, byte [eax + 0x38]
mov dl, byte [eax + 0x39]
mov word [eax + 0x38], 0x8001
mov byte [esp + 4], cl
mov byte [esp + 0xc], dl
jmp 0x48324c
mov byte [esp + 4], 2
mov eax, dword [ebx + 8]
push ebx
call dword [eax + 0xc]
add esp, 4
movzx ecx, byte [esp + 4]
movzx edx, byte [esp + 0xc]
call fcn.0046eb15
mov edi, dword [esp + 0x20]
mov edx, 0x559fe8
mov ecx, edi
call fcn.0048d70d
mov ebx, dword [eax]
and dword [eax], 0
mov esi, edx
mov edx, 0x55a004
mov ecx, ebx
call fcn.004e13a0
inc dword [esi]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 8]
jmp 0x483189
mov eax, dword [esi + 0x18]
mov ecx, esi
mov edx, ebx
add eax, 8
push eax
call fcn.004e13ba
pop ecx
mov dword [esp + 4], eax
jmp 0x4830d9
mov esi, dword [esp + 0x14]
mov ecx, esi
call fcn.004dd3c4
mov ecx, dword [esi + 0x18]
test al, al
lea ebx, [ecx + 8]
je 0x4833a2
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 4]
mov esi, ecx
lea ecx, [esp + 0x68]
lea edx, [esp + 0xe0]
movsd xmm0, qword [ebx + 0x18]
movsd qword [esp + 0xf8], xmm0
movsd xmm0, qword [ebx + 0x10]
movsd qword [esp + 0xf0], xmm0
movsd xmm0, qword [ebx]
movsd xmm1, qword [ebx + 8]
movsd qword [esp + 0xe8], xmm1
movsd qword [esp + 0xe0], xmm0
mov dword [ebx], 2
push 0x559fb8
call fcn.004e1360
pop eax
cmp dword [esi + 0xe0], 0
mov dword [esp + 8], esi
je 0x483396
mov ecx, edi
mov edx, 0x559fd8
call fcn.004dd68e
mov ecx, eax
mov dword [esp + 0x1c], edx
mov edi, eax
call fcn.004dd179
mov eax, dword [esp + 0x1c]
mov dword [edi], ebx
mov edi, dword [esp + 0x20]
inc dword [eax]
mov ecx, dword [esi + 0xe0]
mov edx, dword [esi + 0xe4]
call fcn.004b5831
push eax
call dword [edx + 0x14]
add esp, 4
mov ecx, edi
mov edx, 0x559fe8
call fcn.004dd68e
mov ebx, dword [eax]
and dword [eax], 0
mov esi, edx
mov edx, 0x55a004
mov ecx, ebx
call fcn.004e13a0
inc dword [esi]
cmp dword [ebx + 0x2c], 0
je 0x4833ae
mov dword [esp + 4], ebx
jmp 0x483406
mov edx, dword [esp + 4]
mov ecx, esi
push ebx
jmp 0x4832a6
mov ecx, edi
mov edx, 0x559fd8
call fcn.004dd68e
mov ecx, eax
mov esi, eax
mov edi, edx
call fcn.004dd179
mov edx, dword [esp + 0xc]
mov dword [esi], ebx
inc dword [edi]
mov edi, dword [esp + 0x20]
lea ecx, [esp + 0x68]
call fcn.004dd955
mov ecx, dword [esp + 0x14]
call fcn.004dd43c
mov ecx, edi
mov edx, 0x559fe8
call fcn.004dd68e
mov ecx, dword [eax]
and dword [eax], 0
mov esi, edx
mov edx, 0x55a004
mov dword [esp + 4], ecx
call fcn.004e13a0
inc dword [esi]
mov ebx, dword [esp + 8]
cmp dword [ebx + 0xe8], 0
je 0x483475
mov ecx, edi
mov edx, 0x559fd8
call fcn.004dd68e
mov ecx, eax
mov esi, eax
mov edi, edx
call fcn.004dd179
mov eax, dword [esp + 4]
mov dword [esi], eax
inc dword [edi]
mov edi, dword [esp + 0x20]
mov ecx, dword [ebx + 0xe8]
mov edx, dword [ebx + 0xec]
call fcn.004b5831
push eax
call dword [edx + 0x14]
add esp, 4
mov ecx, edi
mov edx, 0x559fe8
call fcn.004dd68e
mov ebx, dword [eax]
and dword [eax], 0
mov esi, edx
mov edx, 0x55a004
mov ecx, ebx
call fcn.004e13a0
inc dword [esi]
mov esi, dword [esp + 0x14]
jmp 0x48347d
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 4]
movsd xmm1, qword [esp + 0x78]
movsd xmm0, qword [esp + 0x80]
movsd xmm2, qword [esp + 0x68]
mov ecx, ebx
movsd qword [esp + 0xf0], xmm1
movsd xmm1, qword [esp + 0x70]
movsd qword [esp + 0xf8], xmm0
movsd qword [esp + 0xe0], xmm2
movsd qword [esp + 0xe8], xmm1
call fcn.004dd200
movsd xmm0, qword [esp + 0xf8]
mov dword [esp + 4], ebx
movsd qword [ebx + 0x18], xmm0
movsd xmm0, qword [esp + 0xf0]
movsd qword [ebx + 0x10], xmm0
movq xmm0, qword [esp + 0xe0]
movsd xmm1, qword [esp + 0xe8]
movsd qword [ebx + 8], xmm1
movq qword [ebx], xmm0
jmp 0x4830d9
cmp eax, 2
je 0x483552
lea ecx, [esp + 0x180]
call fcn.0048d606
jmp 0x483552
mov bl, 1
mov eax, dword [esp + 0x10]
mov edx, 0x55a054
mov dword [ecx + 0x28], eax
mov ecx, edi
call fcn.0048d70d
mov ecx, eax
mov esi, eax
mov edi, edx
call fcn.0048d69a
mov eax, dword [esp + 4]
lea ecx, [esp + 0x200]
mov dword [esi], eax
inc dword [edi]
call fcn.0048d606
test bl, bl
jne 0x4845cb
lea ecx, [esp + 0x88]
call fcn.00484758
lea ecx, [esp + 0x3e0]
call fcn.00484770
lea ecx, [esp + 0x3d4]
call fcn.00484741
push 0xb
pop ecx
lea eax, [esp + 0x3e0]
lea esi, [esp + 0x9c]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
cmp dword [eax + 0x10], 0
je 0x4835ca
cmp dword [esp + 0x3e8], 0
je 0x484579
mov ebx, dword [esp + 0x3ec]
lea ecx, [ebx + 0x98]
call fcn.004de0ba
cmp byte [eax + 0x1c], 0
movzx edx, dl
je 0x4836d3
mov ecx, eax
call fcn.004ddfbd
jmp 0x48380f
lea esi, [esp + 0x3e8]
lea ecx, [esp + 0x68]
mov edx, dword [esi]
push dword [esi + 4]
call fcn.004dce6c
pop eax
mov ecx, esi
call fcn.004e19a8
mov ebx, eax
xor eax, eax
xchg dword [esi + 0xc], eax
test eax, eax
je 0x48370a
mov ecx, dword [ebx]
lock inc dword [ecx]
jle 0x48451f
and dword [esp + 0x180], 0
and dword [esp + 0x184], 0
and dword [esp + 0x188], 0
mov dword [esp + 0x18c], 4
and dword [esp + 0x190], 0
and dword [esp + 0x194], 0
mov dword [esp + 0x198], eax
mov dword [esp + 0x19c], ecx
lea edx, [esp + 0x3f4]
xor ecx, ecx
mov dword [esp + 0x1a0], edx
call fcn.004dc44c
test eax, eax
je 0x48366f
mov ecx, eax
call fcn.004e09b8
mov eax, dword [eax]
dec dword [edx]
cmp eax, 2
jne 0x48372f
lea ecx, [esp + 0x180]
mov edx, 0x559e88
call fcn.004e1656
mov esi, eax
mov edx, 0x559e98
add esi, 0x10
mov ecx, esi
call fcn.004dd68e
mov edi, dword [eax]
and dword [eax], 0
test edi, edi
je 0x4845fb
inc dword [edx]
mov ecx, edi
mov edx, dword [ebx]
add edx, 8
call fcn.004df057
mov ecx, esi
mov edx, 0x559eb8
call fcn.004dd68e
mov ecx, eax
mov esi, eax
mov ebx, edx
call fcn.004dd179
mov dword [esi], edi
inc dword [ebx]
lea ecx, [esp + 0x180]
jmp 0x4837fa
mov ecx, eax
lea esi, [ebx + 8]
mov byte [eax + 0x1c], 1
call fcn.004ddfbd
mov edi, dword [ebx + 0xe0]
mov ebx, dword [ebx + 0xe4]
shl ebx, 3
test ebx, ebx
je 0x48380f
mov ecx, dword [edi + 4]
mov edx, esi
add edi, 8
call fcn.004dd500
add ebx, 0xfffffff8
jmp 0x4836f0
call fcn.00422620
test al, al
jne 0x4837ff
lea ecx, [esp + 0x200]
mov edx, 0x559f04
mov dword [ecx + 8], 0x559efc
jmp 0x4844bb
push 9
pop ecx
lea eax, [esp + 0x200]
lea esi, [esp + 0x180]
mov edx, 0x55a024
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
call fcn.004e1656
lea ecx, [eax + 0x10]
mov edx, 0x55a034
mov edi, eax
mov dword [esp + 8], ecx
call fcn.004dd68e
mov esi, dword [eax]
and dword [eax], 0
mov dword [esp + 4], edx
mov edx, 0x55a044
mov ecx, esi
call fcn.004e13a0
mov eax, dword [esp + 4]
xor ecx, ecx
inc dword [eax]
lea eax, [esp + 0x200]
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe8], esi
mov dword [esp + 0xec], edi
call fcn.004dc44c
test eax, eax
je 0x484616
mov edi, eax
mov eax, dword [eax + 0x28]
mov ecx, esi
mov dword [esp + 4], eax
lea eax, [esp + 0x200]
mov dword [edi + 0x28], eax
mov edx, dword [ebx]
add edx, 8
call fcn.004df057
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, 0x55a054
mov dword [edi + 0x28], eax
call fcn.004dd68e
mov ecx, eax
mov edi, eax
mov ebx, edx
call fcn.004dd179
mov dword [edi], esi
inc dword [ebx]
lea ecx, [esp + 0x200]
call fcn.004e168c
cmp dword [esp + 0x68], 3
je 0x48380f
lea ecx, [esp + 0x68]
call fcn.004dcb9b
cmp dword [esp + 0x3f0], 0
jne 0x483830
xor eax, eax
lea ecx, [esp + 0x200]
xchg dword [esp + 0x3f4], eax
mov dword [ecx], eax
call fcn.004dd179
lea esi, [esp + 0x3e8]
mov ecx, esi
call fcn.004db90b
mov ecx, dword [esi - 4]
add ecx, 0x18
call fcn.004de0ba
cmp byte [eax + 0x50], 0
mov esi, eax
mov ebx, edx
je 0x483862
movzx edx, bl
mov ecx, esi
call fcn.004ddfbd
jmp 0x484389
mov ecx, esi
mov byte [esi + 0x50], 1
add ecx, 0x3c
call fcn.004dbb2c
and dword [esi + 0x3c], 0
mov eax, 0x90
add eax, dword [esp + 0x3e4]
push eax
call dword [sym.imp.kernel32.dll_WakeAllConditionVariable]
mov eax, dword [esi + 0x48]
lea edi, [esp + 0x5b0]
mov edx, fcn.004d4450
mov ecx, edi
mov dword [esp + 0x50], eax
movsd xmm0, qword [esi + 0x40]
movsd qword [esp + 0x48], xmm0
and dword [esi + 0x44], 0
call fcn.004dd11b
movsd xmm2, qword [esi + 0x20]
movq xmm0, qword [edi]
movsd xmm1, qword [edi + 8]
xor edx, edx
mov ecx, esi
movsd qword [esp + 0xf8], xmm2
movsd xmm2, qword [esi + 0x18]
movsd qword [esp + 0xf0], xmm2
movsd xmm2, qword [esi + 8]
movsd xmm3, qword [esi + 0x10]
movsd qword [esp + 0xe8], xmm3
movsd qword [esp + 0xe0], xmm2
movq qword [esi + 8], xmm0
movsd qword [esi + 0x10], xmm1
and dword [esi + 0x18], 0
and dword [esi + 0x1c], 0
and dword [esi + 0x20], 0
test bl, bl
mov dword [esi + 0x24], 0x559580
setne dl
call fcn.004dc013
xor ecx, ecx
call fcn.004dc44c
test eax, eax
je 0x483930
cmp byte [eax + 0x3a], 2
sete al
jmp 0x483932
mov al, 2
cmp al, 2
je 0x483961
and al, 1
jne 0x483961
call fcn.00422620
test al, al
je 0x4845e3
lea ecx, [esp + 0xf0]
call fcn.004dbb41
lea ecx, [esp + 0x48]
call fcn.004dbb36
jmp 0x484389
call fcn.004e1239
test edx, edx
je 0x483ad3
lea edi, [esp + 0x180]
mov dword [edi], eax
mov dword [edi + 4], edx
xor ecx, ecx
call fcn.004dc44c
test eax, eax
je 0x483993
mov bl, byte [eax + 0x38]
mov bh, byte [eax + 0x39]
mov word [eax + 0x38], 0x8001
jmp 0x483995
mov bl, 2
mov esi, dword [esp + 0x3e0]
test esi, esi
je 0x4844f8
mov ecx, edi
call fcn.004df85e
test al, 1
movzx ecx, bl
movzx edx, bh
jne 0x483a6a
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov ecx, eax
mov ebx, edi
mov edi, eax
mov eax, dword [esi + 0x18]
shr ecx, 0x10
movzx ecx, cl
mov dword [esp + 4], ecx
test al, 2
jne 0x483a8b
test al, 4
jne 0x483a79
test al, 1
je 0x483a26
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
push dword [esp + 0x184]
push dword [esp + 0x184]
call fcn.004df28e
pop ecx
pop edx
test al, al
jne 0x483a52
mov eax, dword [esi + 0x18]
mov ecx, eax
and ecx, 0xfffffffe
lock cmpxchg dword [esi + 0x18], ecx
jne 0x483a0a
test al, 2
jne 0x483a86
mov eax, dword [esi + 0x14]
push dword [esi + 0x10]
call dword [eax + 0xc]
add esp, 4
mov eax, dword [esp + 0x184]
push dword [esp + 0x180]
call dword [eax]
add esp, 4
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
mov eax, dword [esi + 0x18]
mov ecx, eax
or ecx, 1
lock cmpxchg dword [esi + 0x18], ecx
jne 0x483a42
test al, 2
jne 0x483a8b
mov edx, dword [esp + 4]
mov eax, edi
movzx ecx, ah
call fcn.004df87a
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edi, ebx
call fcn.0046eb15
call fcn.004e132c
jmp 0x48397a
mov edx, dword [esp + 4]
xor ecx, ecx
call fcn.004df87a
jmp 0x483ab2
lock or dword [esi + 0x18], 1
mov edx, dword [esp + 4]
mov bl, byte [esi + 0x1c]
xor ecx, ecx
mov byte [esi + 0x1c], 0
call fcn.004df87a
test bl, bl
je 0x483ab2
lea edi, [esp + 0x3e0]
mov ecx, edi
call fcn.004dbd32
and dword [edi], 0
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
call fcn.0046eb15
mov eax, dword [esp + 0x184]
push dword [esp + 0x180]
call dword [eax + 0xc]
add esp, 4
mov eax, dword [esp + 0x4c]
mov edx, 0
mov dword [esp + 4], 0
test eax, eax
je 0x483b0f
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x50]
lea esi, [esp + 0x200]
mov dword [esi], ecx
mov ecx, esi
mov dword [esi + 4], eax
mov dword [esi + 8], edx
call fcn.004dca69
mov dword [esi + 4], eax
mov dword [esi + 8], edx
xor edx, edx
inc edx
lea ecx, [esp + 0x200]
mov dword [ecx], edx
call fcn.004dbc98
mov edi, dword [esp + 0xfc]
mov edx, dword [esp + 0xf0]
mov esi, dword [esp + 0xf8]
movdqa xmm0, xmmword [edi]
lea eax, [edi + edx + 1]
test edx, edx
mov dword [esp + 8], eax
lea eax, [edi + 0x10]
pmovmskb ebx, xmm0
not ebx
je 0x483b85
mov dword [esp + 0xc], esi
lea esi, [edx + 1]
xor ecx, ecx
cmp esi, 0xfffffff
jbe 0x483b5e
jmp 0x483b6b
shl esi, 4
add edx, 0x11
add edx, esi
jb 0x483b6b
push 0x10
pop ecx
mov dword [esp + 4], ecx
mov ecx, edi
sub ecx, esi
mov esi, dword [esp + 0xc]
mov dword [esp + 0x194], ecx
mov dword [esp + 0x198], edx
mov ecx, dword [esp + 4]
lea edx, [esp + 0x180]
mov dword [edx + 0x1c], ecx
mov ecx, dword [esp + 8]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov dword [edx + 8], edi
mov word [edx + 0xc], bx
mov dword [edx + 0x10], esi
lea esi, [esp + 0x200]
mov ecx, esi
call fcn.004dc333
cmp dword [esi + 8], 0
je 0x483d9e
mov esi, dword [esp + 0x190]
xor eax, eax
dec eax
inc esi
cmove esi, eax
cmp esi, 5
push 4
pop eax
cmovb esi, eax
xor ebx, ebx
cmp esi, 0x8000000
setb al
jae 0x4845a9
mov dword [esp + 0x2c], esi
shl esi, 4
js 0x4845a9
mov bl, al
mov ecx, esi
shl ebx, 2
mov edx, ebx
call fcn.00420dff
test eax, eax
je 0x48460d
lea esi, [esp + 0x200]
mov edi, eax
lea ebx, [esp + 0x68]
mov dword [esp + 0x30], 0
movsd xmm0, qword [esi]
movsd xmm1, qword [esi + 8]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
xor eax, eax
movsd xmm1, qword [esp + 0x190]
movq xmm0, qword [esp + 0x198]
movsd xmm2, qword [esp + 0x180]
inc eax
mov dword [esp + 0x10], eax
movsd qword [esi + 0x10], xmm1
movsd xmm1, qword [esp + 0x188]
movq qword [esi + 0x18], xmm0
movsd qword [esi], xmm2
movsd qword [esi + 8], xmm1
mov ecx, ebx
mov edx, esi
call fcn.004dc333
cmp dword [esp + 0x70], 0
mov dword [esp + 0x24], edi
je 0x483d6f
mov eax, dword [esp + 0x2c]
cmp dword [esp + 0x10], eax
jne 0x483d41
mov ecx, dword [esp + 0x210]
mov edx, 0xffffffff
inc ecx
cmove ecx, edx
xor edx, edx
add ecx, eax
jb 0x483d3c
add eax, eax
mov esi, ebx
cmp eax, ecx
cmova ecx, eax
cmp ecx, 5
mov ebx, ecx
jae 0x483cc1
push 4
pop ebx
mov ecx, dword [esp + 0x2c]
xor eax, eax
cmp ebx, 0x8000000
mov edx, ebx
mov dword [esp + 0x88], edi
setb al
shl edx, 4
shl eax, 2
shl ecx, 4
mov dword [esp + 0x8c], ecx
push 4
pop ecx
mov dword [esp + 0x90], ecx
lea ecx, [esp + 0xc8]
lea edi, [esp + 0x88]
push edi
push eax
call fcn.004191d1
pop eax
pop ecx
cmp dword [esp + 0xc8], 0
mov ecx, dword [esp + 0xcc]
je 0x483d28
mov edx, dword [esp + 0xd0]
mov edi, dword [esp + 0x24]
jmp 0x483d33
mov edi, ecx
mov edx, 0x80000001
mov dword [esp + 0x2c], ebx
mov ebx, esi
lea esi, [esp + 0x200]
call fcn.00403850
mov ecx, dword [esp + 0x10]
movq xmm0, qword [esp + 0x68]
movsd xmm1, qword [esp + 0x70]
dec dword [esp + 0x30]
mov eax, ecx
inc ecx
shl eax, 4
mov dword [esp + 0x10], ecx
movsd qword [edi + eax + 8], xmm1
movq qword [edi + eax], xmm0
jmp 0x483c6e
lea ecx, [esp + 0x200]
call fcn.004dc35c
mov esi, dword [esp + 0x10]
cmp esi, 0x15
jae 0x483dbc
cmp esi, 2
jb 0x4842e9
mov ecx, edi
mov edx, esi
push 1
call fcn.004df604
pop eax
jmp 0x4842e9
lea ecx, [esp + 0x180]
call fcn.004dc35c
push 4
pop edi
xor esi, esi
mov dword [esp + 0x2c], 0
jmp 0x4842e9
lea ecx, [esi*8]
and ecx, 0x7ffffff0
push 4
pop edx
call fcn.00415e00
test eax, eax
mov dword [esp + 4], eax
je 0x48463d
push 4
pop edx
mov ecx, 0x80
call fcn.00415e00
test eax, eax
je 0x48464f
mov ebx, eax
lea eax, [edi + 0x20]
xor edi, edi
mov dword [esp + 0x38], eax
push 0x10
pop eax
mov dword [esp + 0x3c], eax
push 4
pop edx
xor ecx, ecx
mov dword [esp + 0x10], esi
sub esi, ecx
jbe 0x4842ca
cmp esi, 2
mov dword [esp + 8], ecx
mov dword [esp + 0x18], edi
jae 0x483e2b
mov eax, dword [esp + 0x10]
jmp 0x483fa7
mov eax, dword [esp + 0x24]
mov edx, ecx
mov dword [esp + 0x1c], ebx
shl edx, 4
add eax, edx
mov edi, dword [eax]
mov ebx, dword [eax + 0x10]
cmp ebx, edi
mov dword [esp + 0xc], edi
mov dword [esp + 0x14], ebx
jae 0x483e71
mov eax, dword [esp + 0x30]
add edx, dword [esp + 0x38]
lea edi, [eax + ecx]
mov eax, ebx
push 2
pop ebx
lea ecx, [edi + ebx]
cmp ecx, 1
je 0x483e99
mov ecx, dword [edx]
cmp ecx, eax
jae 0x483e97
inc ebx
add edx, 0x10
mov eax, ecx
jmp 0x483e5b
mov eax, dword [esp + 0x30]
add edx, dword [esp + 0x38]
lea edi, [eax + ecx]
mov ecx, ebx
push 2
pop ebx
lea eax, [edi + ebx]
cmp eax, 1
je 0x483e99
mov eax, dword [edx]
cmp eax, ecx
jb 0x483e97
inc ebx
add edx, 0x10
mov ecx, eax
jmp 0x483e81
mov esi, ebx
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 8]
mov edi, dword [esp + 0x24]
cmp edx, dword [esp + 0xc]
lea eax, [esi + ecx]
jae 0x483f83
mov edx, eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x28], eax
push 0x559298
push dword [esp + 0x14]
push edi
call fcn.004df6e3
add esp, 0xc
mov ebx, edx
shl edx, 4
xor ecx, ecx
shr ebx, 1
add edx, eax
mov esi, ebx
shl esi, 4
sub edx, esi
mov dword [esp + 0x20], edx
mov edx, ebx
push 0x559208
push ebx
push eax
call fcn.004df6e3
add esp, 0xc
mov dword [esp + 0x14], edx
mov edi, eax
xor ecx, ecx
mov edx, ebx
push 0x559218
push ebx
push dword [esp + 0x28]
call fcn.004df6e3
add esp, 0xc
mov ecx, dword [esp + 0x14]
dec ebx
lea eax, [eax + esi - 0x10]
cmp ebx, 0xffffffff
je 0x483f90
sub ecx, 1
jb 0x4843fe
mov esi, ebx
cmp esi, edx
jae 0x48440b
movsd xmm0, qword [edi]
movsd xmm1, qword [edi + 8]
dec ebx
movsd qword [esp + 0x208], xmm1
movsd qword [esp + 0x200], xmm0
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [edi + 8], xmm1
movsd qword [edi], xmm0
add edi, 0x10
movq xmm0, qword [esp + 0x200]
movsd xmm1, qword [esp + 0x208]
movsd qword [eax + 8], xmm1
movq qword [eax], xmm0
add eax, 0xfffffff0
jmp 0x483f1a
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
push 4
pop edx
jmp 0x483fa7
mov edi, dword [esp + 0x18]
push 4
pop edx
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 8]
mov esi, dword [esp + 0xc]
mov ebx, dword [esp + 0x1c]
cmp eax, ecx
jb 0x48450d
cmp eax, dword [esp + 0x10]
ja 0x48450d
jae 0x48400c
cmp esi, 0xa
jae 0x48400c
mov eax, dword [esp + 0x10]
mov edx, esi
lea esi, [ecx + 0xa]
mov ecx, 1
cmp esi, eax
cmovae esi, eax
cmp edx, 2
cmovb edx, ecx
mov ecx, dword [esp + 8]
mov dword [esp + 0xc], edx
mov edx, esi
push 0x559364
push eax
push dword [esp + 0x2c]
call fcn.004df6e3
add esp, 0xc
mov ecx, eax
push dword [esp + 0xc]
call fcn.004df604
mov ecx, dword [esp + 0xc]
mov eax, esi
push 4
pop edx
add esp, 4
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x28], eax
cmp edi, esi
jne 0x484061
mov ecx, esi
shl ecx, 4
call fcn.00415e00
test eax, eax
je 0x484532
mov edi, eax
lea eax, [esi + esi]
shl esi, 3
mov dword [esp + 0xc], eax
push esi
push ebx
push edi
call fcn.005010b0
add esp, 0xc
mov ecx, ebx
push 4
pop edx
call fcn.00415e60
mov eax, dword [esp + 0xc]
mov ebx, edi
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x10]
sub eax, ecx
mov dword [esp + 0x1c], ebx
mov dword [ebx + edi*8], eax
mov dword [ebx + edi*8 + 4], ecx
inc edi
cmp edi, 2
jb 0x4842ae
mov eax, dword [ebx + edi*8 - 8]
mov ecx, dword [ebx + edi*8 - 4]
add ecx, eax
cmp esi, ecx
je 0x4840cd
mov edx, dword [ebx + edi*8 - 0x10]
cmp edx, eax
jbe 0x4840cd
cmp edi, 3
jb 0x4842ae
mov ecx, ebx
lea esi, [edx + eax]
lea ebx, [edi - 3]
mov ecx, dword [ecx + edi*8 - 0x18]
cmp ecx, esi
jbe 0x4840dd
mov esi, dword [esp + 0x10]
cmp edi, 4
jb 0x4842ba
mov esi, dword [esp + 0x1c]
add edx, ecx
cmp dword [esi + edi*8 - 0x20], edx
mov esi, dword [esp + 0x10]
jbe 0x4840dd
jmp 0x4842ba
cmp edi, 3
jb 0x4840e1
mov ecx, dword [esp + 0x1c]
lea ebx, [edi - 3]
mov ecx, dword [ecx + edi*8 - 0x18]
cmp ecx, eax
jb 0x4840e4
lea ebx, [edi - 2]
mov esi, dword [esp + 0x1c]
mov ecx, edi
mov edx, esi
push 0x5592a8
push ebx
call fcn.0040111c
pop ecx
pop edx
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x60], ebx
mov dword [esp + 0x18], edi
mov edx, esi
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], eax
lea eax, [ebx + 1]
mov ecx, edi
push 0x5592b8
mov dword [esp + 0x60], eax
push eax
call fcn.0040111c
pop ecx
pop edx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x58], ecx
add edx, ecx
mov ecx, dword [esp + 0x14]
push 0x5592c8
push dword [esp + 0x14]
push dword [esp + 0x2c]
call fcn.004df6e3
add esp, 0xc
mov esi, dword [esp + 0x20]
mov ebx, edx
shl ebx, 4
mov ecx, esi
sub edx, esi
shl ecx, 4
cmp edx, esi
mov dword [esp + 8], edx
lea edi, [eax + ecx]
jae 0x4841d3
mov esi, dword [esp + 8]
shl esi, 4
push esi
push edi
push dword [esp + 0xc]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ebx
call fcn.005010b0
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x28]
add esp, 0xc
mov eax, dword [esp + 8]
add esi, dword [esp + 4]
lea eax, [edx + eax - 0x10]
cmp edi, edx
jbe 0x484240
cmp esi, dword [esp + 4]
jbe 0x484240
mov ecx, dword [esi - 0x10]
cmp ecx, dword [edi - 0x10]
jb 0x4841b7
add esi, 0xfffffff0
mov ecx, esi
jmp 0x4841bc
add edi, 0xfffffff0
mov ecx, edi
movq xmm0, qword [ecx]
movsd xmm1, qword [ecx + 8]
movsd qword [eax + 8], xmm1
movq qword [eax], xmm0
add eax, 0xfffffff0
jmp 0x484196
add ebx, eax
mov dword [esp + 8], ebx
push ecx
push eax
mov ebx, dword [esp + 0xc]
push ebx
mov dword [esp + 0x18], ecx
mov esi, eax
call fcn.005010b0
mov ecx, esi
mov esi, dword [esp + 0x18]
add esp, 0xc
add esi, ebx
mov eax, ebx
mov dword [esp + 0xc], esi
cmp eax, esi
jae 0x484248
cmp edi, dword [esp + 8]
jae 0x484248
mov edx, dword [edi]
mov esi, ecx
xor ecx, ecx
xor ebx, ebx
cmp edx, dword [eax]
mov edx, eax
cmovb edx, edi
setae cl
setb bl
movq xmm0, qword [edx]
movsd xmm1, qword [edx + 8]
shl ecx, 4
shl ebx, 4
add eax, ecx
lea ecx, [esi + 0x10]
add edi, ebx
movsd qword [esi + 8], xmm1
movq qword [esi], xmm0
mov esi, dword [esp + 0xc]
jmp 0x4841fc
mov eax, dword [esp + 4]
mov ecx, edi
jmp 0x48424c
mov ebx, dword [esp + 0x1c]
sub esi, eax
push esi
push eax
push ecx
call fcn.005010b0
add esp, 0xc
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x60]
cmp edx, dword [esp + 0x5c]
jbe 0x48449a
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
add eax, dword [esp + 0x20]
cmp edx, edi
mov dword [ebx + edi*8 + 8], eax
mov dword [ebx + edi*8 + 0xc], ecx
jbe 0x4844a8
lea eax, [ebx + edi*8]
lea ecx, [ebx + edi*8 + 8]
not edi
add edi, edx
shl edi, 3
push edi
push ecx
push eax
call fcn.005010b0
mov edi, dword [esp + 0x24]
add esp, 0xc
dec edi
jmp 0x484073
mov ecx, dword [esp + 0x28]
push 4
pop edx
jmp 0x483e0d
mov ecx, dword [esp + 0x28]
push 4
pop edx
mov ebx, dword [esp + 0x1c]
jmp 0x483e0d
push 4
pop edi
mov ecx, ebx
mov edx, edi
call fcn.00415e60
mov ecx, dword [esp + 4]
mov edx, edi
mov edi, dword [esp + 0x24]
call fcn.00415e60
mov esi, dword [esp + 0x10]
shl esi, 4
mov eax, esi
mov esi, edi
add edi, eax
mov dword [esp + 0x24], esi
test eax, eax
je 0x484359
mov ebx, eax
mov eax, dword [esi + 8]
test eax, eax
je 0x484356
lea ecx, [esi + 0x10]
mov edx, dword [esi + 0xc]
mov dword [esp + 4], ecx
mov ecx, dword [esi + 4]
mov dword [esp + 0x200], ecx
lea ecx, [esp + 0x200]
mov dword [esp + 0x204], eax
mov dword [esp + 0x208], edx
call fcn.004dca69
lea ecx, [esp + 0x180]
mov dword [esp + 0x180], eax
mov dword [esp + 0x184], edx
call fcn.00435b0f
mov esi, dword [esp + 4]
mov eax, ebx
add eax, 0xfffffff0
jmp 0x4842f6
add esi, 0x10
sub edi, esi
add esi, 4
shr edi, 4
sub edi, 1
jb 0x484372
mov ecx, esi
call fcn.004dbbbd
add esi, 0x10
jmp 0x484361
mov edx, dword [esp + 0x2c]
test edx, edx
je 0x484389
mov ecx, dword [esp + 0x24]
shl edx, 4
push 4
call fcn.00403a30
pop eax
mov eax, dword [esp + 0x3e4]
lock dec dword [eax]
jne 0x4843a1
mov ecx, dword [esp + 0x3e4]
call fcn.004dba71
mov ecx, dword [esp + 0x3e0]
test ecx, ecx
je 0x4843eb
mov eax, dword [ecx + 0x18]
mov edx, eax
or edx, 4
lock cmpxchg dword [ecx + 0x18], edx
jne 0x4843af
and eax, 0xa
cmp eax, 8
jne 0x4843cf
mov eax, dword [ecx + 0xc]
push dword [ecx + 8]
call dword [eax + 8]
add esp, 4
mov eax, dword [esp + 0x3e0]
test eax, eax
je 0x4843eb
lock dec dword [eax]
jne 0x4843eb
mov ecx, dword [esp + 0x3e0]
call fcn.004dbd45
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [esp + 0x18]
xor ebx, ebx
jmp 0x483518
mov ecx, dword [esp + 0x14]
mov edx, ecx
push 0x559228
jmp 0x484412
mov ecx, ebx
push 0x559238
call fcn.0050d500
jmp 0x48443a
push 0x39
pop edx
mov ecx, str.attempt_to_calculate_the_remainder_with_a_divisor_of_zerodriver_missing
push 0x559f54
jmp 0x484435
push 0x28
pop edx
mov ecx, 0x57fa2a
push 0x55b590
call fcn.0050d590
pop eax
ud2
and dword [esp + 0xe8], 0
lea ecx, [esp + 0x48]
mov edx, 0x580058
push 0x55b5a0
jmp 0x48446b
and dword [esp + 0xe8], 0
lea ecx, [esp + 0x48]
mov edx, 0x55b5b0
push 0x55b5b4
lea eax, [esp + 0xe4]
push eax
call fcn.0051067b
pop eax
pop ecx
ud2
and dword [esp + 0xe8], 0
lea eax, [esp + 0xe0]
add ecx, 8
lea edx, [esp + 0x48]
push eax
call fcn.005107ba
jmp 0x48443a
lea ecx, [esp + 0x200]
mov edx, 0x5592d8
jmp 0x4844b4
lea ecx, [esp + 0x200]
mov edx, 0x559318
mov dword [ecx + 8], str.Index_out_of_bounds
mov dword [ecx + 0xc], 1
and dword [ecx], 0
mov dword [ecx + 0x10], str._rustc_90c541806f23a127002de5b4038be731ba1458calibrarycore_src_strpattern.rs
and dword [ecx + 0x14], 0
call fcn.0050d4d0
ud2
push 0x1b
pop edx
mov ecx, 0x53ceb4
push 0x53ced0
push 0x53b840
lea eax, [esp + 0x48]
push eax
call fcn.0050d740
add esp, 0xc
ud2
lea ecx, [esp + 0x200]
mov edx, 0x55b63c
mov dword [ecx + 8], 0x55b5dc
jmp 0x4844bb
push 0x2c
pop edx
mov ecx, str.assertion_failed:_end___start__end___lenH
push 0x559354
jmp 0x484435
ud2
push 4
pop edx
mov ecx, 0x100
call fcn.0050d210
ud2
push 0x2b
pop edx
mov ecx, str.called__Option::unwrap____on_a__None__value
push 0x559308
jmp 0x484435
lea ecx, [esp + 0x3e0]
mov edx, 0x53ce7c
jmp 0x48459d
lea ecx, [esp + 0x200]
call fcn.00484770
lea eax, [esp + 0x40]
push 0x15
pop edx
mov ecx, 0x53ce8c
push 0x53cea4
push 0x53b840
jmp 0x4844ed
lea ecx, [esp + 0x200]
mov edx, 0x55a3d0
mov dword [ecx + 8], 0x55a35c
jmp 0x4844bb
lea ecx, [esp + 0x200]
mov edx, 0x54e6bc
mov dword [ecx + 8], 0x559c58
jmp 0x4844bb
call fcn.00416990
ud2
lea ecx, [esp + 0x50]
call fcn.0048d6a4
push 0x46
pop edx
mov ecx, str.cannot_access_a_Thread_Local_Storage_value_during_or_after_destruction_rustc_90c541806f23a127002de5b4038be731ba1458calibrary_std_src_threadlocal.rs
push 0x57f7b4
jmp 0x4844e4
lea ecx, [esp + 0xe0]
mov edx, 0x53cee0
mov dword [ecx + 8], 0x53cf48
jmp 0x4844bb
lea ecx, [esp + 0x200]
mov edx, 0x55b2dc
mov dword [ecx + 8], 0x55b2d4
jmp 0x4844bb
push 0x2b
pop edx
mov ecx, str.called__Option::unwrap____on_a__None__value
push 0x559ea8
jmp 0x484435
mov ecx, esi
mov edx, ebx
jmp 0x48452b
lea ecx, [esp + 0xe8]
call fcn.004dd189
lea eax, [esp + 0x40]
push 0x46
pop edx
mov ecx, str.cannot_access_a_Thread_Local_Storage_value_during_or_after_destruction_rustc_90c541806f23a127002de5b4038be731ba1458calibrary_std_src_threadlocal.rs
push 0x57f7b4
push 0x5593c4
jmp 0x4844ed
push 0x2b
pop edx
mov ecx, str.called__Option::unwrap____on_a__None__value
push 0x5592e8
jmp 0x484435
push 0x2b
pop edx
mov ecx, str.called__Option::unwrap____on_a__None__value
push 0x5592f8
jmp 0x484435