Function at 0x4c9b85
Capabilities:
Check for software breakpoints
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xfe0
cmp dword [ecx + 0x100], 2
mov edi, ecx
je 0x4cc117
lea ecx, [edi + 0x100]
mov ebx, edx
mov dword [esp + 0x118], ecx
call fcn.004b0b23
test al, al
je 0x4cc117
mov al, byte [edi + 0x99]
mov dword [esp + 0x24], edi
mov dword [esp + 0x11c], ebx
mov byte [esp + 0x55], al
mov al, byte [edi + 0x9a]
mov byte [esp + 0x37], al
mov al, byte [edi + 0x9c]
mov byte [esp + 0x47], al
mov al, byte [edi + 0x9d]
mov byte [esp + 0x2b], al
mov al, byte [edi + 0x9e]
mov byte [esp + 0x56], al
mov al, byte [edi + 0xa0]
mov byte [esp + 0x57], al
lea eax, [edi + 0xa8]
mov dword [esp + 0x184], eax
lea eax, [edi + 0xe8]
mov dword [esp + 0x9c], eax
lea eax, [edi + 8]
mov dword [esp + 0x180], eax
mov dword [esp + 0x38], eax
mov esi, dword [edi + 0xec]
test esi, esi
je 0x4cb9ee
mov dword [esp + 0x210], 2
and dword [esp + 0x220], 0
mov eax, dword [esp + 0x9c]
xor edi, edi
mov eax, dword [eax]
mov dword [esp + 0x58], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x5c], esi
lea ecx, [esp + 0x58]
mov dword [esp + 0x60], edi
call fcn.0043f90f
test al, 1
je 0x4cb9f2
cmp dl, 0xd
jne 0x4c9cab
lea eax, [edi + 1]
cmp esi, eax
mov dword [esp + 0x60], eax
jbe 0x4cb9f2
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x58]
mov al, byte [eax + edi + 1]
add edi, 2
mov dword [esp + 0x60], edi
cmp al, 0xa
je 0x4c9c6e
jmp 0x4cb9f8
movzx eax, dl
cmp eax, 0xa
jne 0x4c9cb6
inc edi
jmp 0x4c9c66
lea ecx, [esp + 0x58]
call fcn.0043f8eb
mov eax, dword [esp + 0x60]
mov edi, dword [esp + 0x5c]
cmp eax, 0xfffffff7
ja 0x4c9d92
lea edx, [eax + 8]
cmp edx, edi
ja 0x4c9d92
mov ecx, dword [esp + 0x58]
movq xmm0, qword [ecx + eax]
mov dword [esp + 8], ecx
movdqa xmmword [esp + 0x160], xmm0
mov cl, byte [esp + 0x165]
mov bh, byte [esp + 0x166]
mov byte [esp + 0x1c], cl
mov cl, byte [esp + 0x164]
mov byte [esp + 0xc], cl
mov bl, byte [esp + 0x160]
mov cl, byte [esp + 0x163]
mov ch, byte [esp + 0x162]
cmp bl, 0x48
mov bl, byte [esp + 0x161]
mov dword [esp + 0x60], edx
jne 0x4c9fcd
cmp bl, 0x54
jne 0x4c9fcd
cmp ch, 0x54
jne 0x4c9fcd
cmp cl, 0x50
jne 0x4c9fcd
cmp byte [esp + 0xc], 0x2f
jne 0x4c9fcd
cmp byte [esp + 0x1c], 0x31
jne 0x4c9fcd
cmp bh, 0x2e
jne 0x4c9fcd
pextrw ecx, xmm0, 3
shr ecx, 8
cmp cl, 0x30
je 0x4c9e5f
cmp ecx, 0x31
jne 0x4c9fcd
mov cl, 2
jmp 0x4c9e61
cmp edi, eax
jbe 0x4cb9f2
mov edx, dword [esp + 0x58]
lea ecx, [eax + 1]
mov bl, byte [edx + eax]
mov dword [esp + 0x60], ecx
cmp bl, 0x48
jne 0x4c9fcd
cmp edi, ecx
jbe 0x4cb9f2
mov bl, byte [edx + eax + 1]
lea ecx, [eax + 2]
mov dword [esp + 0x60], ecx
cmp bl, 0x54
jne 0x4c9fcd
cmp edi, ecx
jbe 0x4cb9f2
mov bl, byte [edx + eax + 2]
lea ecx, [eax + 3]
mov dword [esp + 0x60], ecx
cmp bl, 0x54
jne 0x4c9fcd
cmp edi, ecx
jbe 0x4cb9f2
mov bl, byte [edx + eax + 3]
lea ecx, [eax + 4]
mov dword [esp + 0x60], ecx
cmp bl, 0x50
jne 0x4c9fcd
cmp edi, ecx
jbe 0x4cb9f2
mov bl, byte [edx + eax + 4]
lea ecx, [eax + 5]
mov dword [esp + 0x60], ecx
cmp bl, 0x2f
jne 0x4c9fcd
cmp edi, ecx
jbe 0x4cb9f2
mov cl, byte [edx + eax + 5]
add eax, 6
mov dword [esp + 0x60], eax
cmp cl, 0x31
jne 0x4c9fcd
cmp edi, eax
jbe 0x4cb9f2
cmp byte [edx + eax], 0x2e
push 6
pop eax
mov ecx, 0
cmove eax, ecx
jne 0x4c9fd0
jmp 0x4cb9f2
mov cl, 1
cmp edi, edx
mov dword [esp + 0xe8], ecx
jbe 0x4cb9f2
mov ecx, dword [esp + 8]
mov cl, byte [ecx + eax + 8]
add eax, 9
mov dword [esp + 0x60], eax
cmp cl, 0x20
jne 0x4c9fcd
lea ecx, [esp + 0x58]
call fcn.0043f8eb
cmp byte [esp + 0x47], 0
je 0x4c9ea9
lea ecx, [esp + 0x58]
call fcn.0043f8be
test al, al
jne 0x4cb9f2
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x60]
cmp ecx, eax
jbe 0x4cb9f2
mov edi, dword [esp + 0x58]
mov bl, byte [edi + eax]
add bl, 0xd0
cmp bl, 9
mov byte [esp + 0xc], bl
ja 0x4cbbbe
lea ebx, [eax + 1]
mov edx, edi
cmp ecx, ebx
jbe 0x4cb9f2
mov ebx, edx
mov dl, byte [edx + eax + 1]
add dl, 0xd0
cmp dl, 9
ja 0x4cbbbe
lea edi, [eax + 2]
mov byte [esp + 0x1c], dl
cmp ecx, edi
jbe 0x4cb9f2
mov dl, byte [ebx + eax + 2]
add dl, 0xd0
cmp dl, 0xa
jae 0x4cbbbe
lea edi, [eax + 3]
mov byte [esp + 8], dl
cmp ecx, edi
jbe 0x4cb9f2
movzx edi, byte [ebx + eax + 3]
lea edx, [eax + 4]
mov dword [esp + 0x60], edx
cmp edi, 0xa
je 0x4cae4b
cmp edi, 0xd
je 0x4cae2f
cmp edi, 0x20
jne 0x4cbbbe
cmp byte [esp + 0x47], 0
je 0x4c9f5c
lea ecx, [esp + 0x58]
call fcn.0043f8be
test al, al
jne 0x4cb9f2
lea ecx, [esp + 0x58]
call fcn.0043f8eb
mov ebx, dword [esp + 0x5c]
mov edi, dword [esp + 0x58]
mov edx, dword [esp + 0x60]
xor ecx, ecx
mov dword [esp + 0x20], ebx
cmp ebx, edx
mov dword [esp + 0x30], edx
jbe 0x4cb9f2
mov edx, dword [esp + 0x30]
movzx eax, byte [edi + edx]
inc edx
cmp eax, 9
je 0x4c9fbe
cmp eax, 0x20
je 0x4c9fbe
cmp eax, 0xa
je 0x4cb835
cmp eax, 0xd
je 0x4cb862
test al, al
js 0x4c9fbe
mov ebx, eax
add bl, 0xdf
cmp bl, 0x5d
mov ebx, dword [esp + 0x20]
ja 0x4cbbbe
test al, al
movzx ecx, cl
mov eax, 1
cmovs ecx, eax
jmp 0x4c9f77
push 6
pop eax
cmp al, 6
jne 0x4cb9fb
cmp byte [esp + 0x57], 0
je 0x4cb9fb
mov ax, 0xc8
xor esi, esi
mov dword [esp + 0xe8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10c], eax
xor eax, eax
mov edx, dword [esp + 0xf8]
lea ecx, [esp + 0x154]
movq xmm0, qword [esp + 0xf0]
mov dword [esp + 0x150], eax
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x9c]
movq qword [ecx], xmm0
lea ecx, [esp + 0x1c0]
push esi
call fcn.004190f7
pop eax
cmp byte [esp + 0x37], 0
je 0x4ca0a7
mov edx, dword [esp + 0xc]
lea ecx, [esp + 0x998]
push 0x5bde30
call fcn.0044462c
pop ecx
mov edi, edx
mov esi, eax
shl edi, 4
add edi, eax
cmp esi, edi
je 0x4ca0a7
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 8]
push 0x5bde60
push dword [esp + 0x1c8]
push dword [esp + 0x1c8]
call fcn.00440caf
add esp, 0xc
test edx, edx
je 0x4ca0a2
movzx ecx, byte [eax]
cmp ecx, 0xd
je 0x4ca09b
cmp ecx, 0xa
jne 0x4ca09e
mov byte [eax], 0x20
inc eax
dec edx
jmp 0x4ca08a
add esi, 0x10
jmp 0x4ca065
lea ecx, [esp + 0x188]
lea edx, [esp + 0x1c0]
call fcn.00431927
mov edx, dword [esp + 0x24]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [edx], 3
and dword [edx + 4], 0
mov edx, eax
xor edx, 3
or edx, ecx
jne 0x4ca0e1
lea ecx, [esp + 0x58]
call fcn.0043ae72
jmp 0x4ca0f9
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], ecx
push 0xe
pop ecx
mov esi, dword [esp + 0x180]
lea edi, [esp + 0x60]
rep movsd dword es:[edi], dword [esi]
cmp byte [esp + 0xe8], 2
sete byte [esp + 0x2c]
cmp byte [esp + 0x56], 0
je 0x4ca172
xor ecx, ecx
push 2
pop edx
call fcn.0049c41a
and dword [esp + 0xa4], 0
and dword [esp + 0xa0], 0
mov dword [esp + 0xb8], eax
and dword [esp + 0xbc], 0
and dword [esp + 0xc0], 0
push 4
pop eax
mov dword [esp + 0xc4], eax
and dword [esp + 0xc8], 0
and dword [esp + 0xcc], 0
mov dword [esp + 0xd0], eax
and dword [esp + 0xd4], 0
and word [esp + 0xd8], 0
jmp 0x4ca185
and dword [esp + 0xa4], 0
mov dword [esp + 0xa0], 3
mov edi, dword [esp + 0x80]
mov edx, dword [esp + 0xc]
mov eax, edi
add eax, edx
jb 0x4cc3cb
mov esi, dword [esp + 0x74]
cmp eax, esi
jbe 0x4ca363
lea ecx, [eax - 1]
bsr ecx, ecx
xor ebx, ebx
dec ebx
not ecx
shr ebx, cl
cmp eax, 2
mov ecx, 0
cmovb ebx, ecx
inc ebx
je 0x4cc3cb
cmp ebx, 0x8000
ja 0x4cc3cb
test edi, edi
mov dword [esp + 0x1c], esi
je 0x4ca231
movzx eax, word [esp + 0x90]
mov dword [esp + 0x20], edi
mov esi, dword [esp + 0x70]
xor edx, edx
movzx edi, ax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], esi
lea ecx, [eax*4]
test ecx, ecx
je 0x4ca227
cmp word [esi + edx*4], 0xffff
je 0x4ca221
mov eax, dword [esp + 0x14]
movzx esi, word [eax + edx*4 + 2]
mov eax, edi
and eax, esi
mov esi, edx
sub esi, eax
test esi, edi
mov esi, dword [esp + 0x14]
je 0x4ca29c
add ecx, 0xfffffffc
inc edx
jmp 0x4ca1fd
mov dword [esp + 8], 0
jmp 0x4ca2a0
lea esi, [esp + 0x268]
lea eax, [ebx - 1]
mov edx, ebx
mov ecx, esi
mov word [esp + 0x90], ax
call fcn.0043abdf
mov ecx, esi
call fcn.0043ab81
mov edi, edx
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x1c]
mov esi, eax
call fcn.0042fb12
mov eax, ebx
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], edi
shr eax, 2
sub ebx, eax
mov ecx, ebx
call fcn.0043acf8
lea ecx, [esp + 0x78]
mov esi, eax
mov edi, edx
call fcn.0042fb26
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], edi
and dword [esp + 0x80], 0
jmp 0x4ca35f
mov dword [esp + 8], edx
lea edi, [esp + 0x268]
mov edx, ebx
mov ecx, edi
call fcn.0043abdf
mov ecx, edi
call fcn.0043ab81
mov edi, dword [esp + 0x1c]
dec ebx
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
mov dword [esp + 0x30], edx
mov ecx, esi
mov word [esp + 0x90], bx
mov edx, edi
push dword [esp + 8]
call fcn.00441a69
pop ecx
mov ebx, edx
shl ebx, 2
test ebx, ebx
je 0x4ca307
lea esi, [eax + 4]
movzx edx, word [eax]
movzx eax, word [eax + 2]
lea ecx, [esp + 0x58]
push eax
call fcn.00441a9e
pop eax
mov eax, esi
mov esi, dword [esp + 0x14]
add ebx, 0xfffffffc
jmp 0x4ca2e3
mov ecx, esi
mov edx, edi
push dword [esp + 8]
call fcn.00441a87
pop ecx
mov ebx, edx
shl ebx, 2
test ebx, ebx
je 0x4ca33e
lea esi, [eax + 4]
movzx edx, word [eax]
movzx eax, word [eax + 2]
lea ecx, [esp + 0x58]
push eax
call fcn.00441a9e
pop eax
mov eax, esi
mov esi, dword [esp + 0x14]
add ebx, 0xfffffffc
jmp 0x4ca31a
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x78]
mov eax, edx
shr eax, 2
add eax, dword [esp + 0x20]
sub edx, eax
call fcn.0042fc6d
mov ecx, esi
mov edx, edi
call fcn.0042fb12
mov edx, dword [esp + 0xc]
lea ecx, [esp + 0x998]
push 0x5bde40
call fcn.0044462c
pop ecx
shl edx, 4
mov esi, eax
lea ebx, [esp + 0x268]
add edx, eax
mov dword [esp + 0xec], edx
cmp esi, dword [esp + 0xec]
mov dword [esp + 0x3c], esi
je 0x4caaf4
mov ecx, dword [esi]
mov edx, dword [esi + 4]
push 0x5bde50
push dword [esp + 0x194]
push dword [esp + 0x194]
call fcn.00440caf
add esp, 0xc
mov edi, esi
mov esi, edx
mov ecx, ebx
mov edx, eax
push esi
call fcn.0043daf8
pop eax
cmp dword [esp + 0x268], 0
jne 0x4cbaf8
lea eax, [esp + 0x26c]
lea esi, [esp + 0x130]
lea edx, [esp + 0x188]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
mov ecx, esi
movsd qword [esp + 0x128], xmm1
movsd qword [esp + 0x120], xmm0
push dword [edi + 0xc]
push dword [edi + 8]
call fcn.00418d66
pop eax
pop ecx
movsd xmm0, qword [esp + 0x130]
movsd xmm1, qword [esp + 0x138]
lea ecx, [esp + 0xf0]
mov edx, esi
movsd qword [esp + 0x268], xmm0
and dword [esp + 0x268], 0
movsd qword [esp + 0x270], xmm1
push 0x5bd0e4
call fcn.0042f29a
pop eax
mov ecx, ebx
call fcn.00430685
cmp dword [esp + 0x120], 0
mov byte [esp + 0x100], 0
jne 0x4ca4aa
cmp byte [esp + 0x124], 0x14
jne 0x4ca4aa
mov ecx, dword [esp + 0xf4]
mov edx, dword [esp + 0xf8]
test byte [esp + 0x2c], 1
jne 0x4ca496
call fcn.00443bd4
jmp 0x4ca4a6
push 5
push 0x5e8e93
call fcn.00443be3
pop ecx
pop edx
xor al, 1
mov byte [esp + 0x2c], al
mov esi, dword [esp + 0xa0]
mov edi, dword [esp + 0xa4]
mov eax, esi
xor eax, 3
or eax, edi
je 0x4caa79
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x140]
lea edx, [esp + 0x188]
push dword [eax + 4]
push dword [eax]
call fcn.00418d66
pop eax
pop ecx
mov eax, dword [esp + 0xc8]
xor esi, 1
or esi, edi
jne 0x4ca564
movq xmm2, qword [0x5a6520]
movd xmm1, dword [esp + 0xbc]
movd xmm0, eax
por xmm0, xmm2
por xmm1, xmm2
subsd xmm0, xmm2
subsd xmm1, xmm2
cvtsd2ss xmm0, xmm0
cvtsd2ss xmm1, xmm1
divss xmm0, xmm1
ucomiss xmm0, dword [0x5a6528]
jae 0x4ca58d
lea ecx, [esp + 0xa0]
call fcn.0043afc5
mov edx, dword [esp + 0xb8]
mov edi, dword [esp + 0xbc]
lea eax, [edi*4]
mov ecx, edx
test eax, eax
je 0x4ca80c
mov dword [ecx], 0xffff
add ecx, 4
add eax, 0xfffffffc
jmp 0x4ca54e
mov esi, dword [esp + 0xbc]
mov ecx, esi
mov edx, esi
shr ecx, 2
sub edx, ecx
cmp eax, edx
jne 0x4ca5ba
test eax, eax
je 0x4ca98e
add esi, esi
lea ecx, [esp + 0xa0]
mov edx, esi
jmp 0x4ca5ad
mov edx, dword [esp + 0xbc]
and dword [esp + 0xa4], 0
and dword [esp + 0xa0], 0
lea ecx, [esp + 0xa0]
add edx, edx
call fcn.004418c9
test al, al
jne 0x4cc39e
lea ecx, [esp + 0xa0]
lea edx, [esp + 0x120]
call fcn.004413d6
mov esi, dword [esp + 0xb8]
movzx edx, word [esp + 0xd8]
mov ebx, dword [esp + 0xc4]
mov edi, dword [esp + 0xc8]
mov ecx, eax
mov dword [esp + 0xc], 0
mov eax, ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 8], esi
mov esi, dword [esp + 0xbc]
and eax, edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x20], edi
mov edi, eax
xor eax, eax
cmp edi, esi
jae 0x4ca613
mov eax, dword [esp + 8]
movzx ebx, word [eax + edi*4]
cmp ebx, 0xffff
je 0x4ca686
movzx eax, word [eax + edi*4 + 2]
mov ecx, dword [esp + 0x14]
mov edx, edi
and ecx, eax
sub edx, ecx
and edx, dword [esp + 0x14]
cmp edx, dword [esp + 0xc]
jb 0x4ca711
mov ecx, dword [esp + 0x1c]
cmp ax, cx
jne 0x4ca67d
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x20]
push 0x5bc9fc
push ebx
call fcn.00441753
pop ecx
pop edx
lea ecx, [eax + 0x1c]
lea edx, [esp + 0x120]
call fcn.0042f9cc
test al, al
jne 0x4ca8d7
inc dword [esp + 0xc]
inc edi
mov eax, edi
jmp 0x4ca613
mov esi, dword [esp + 0xc8]
lea ebx, [esp + 0x130]
lea edx, [esp + 0x120]
mov ecx, ebx
call fcn.0043dc70
movsd xmm0, qword [esp + 0x140]
movsd xmm1, qword [esp + 0x148]
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0x268]
lea ecx, [esp + 0xa0]
movsd qword [esp + 0x270], xmm1
movsd qword [esp + 0x268], xmm0
push eax
push ebx
call fcn.00441692
pop ecx
pop edx
test al, al
jne 0x4cc3ac
mov edx, dword [esp + 0xbc]
cmp edi, edx
jae 0x4cc37a
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x1c]
mov word [eax + edi*4], si
mov word [eax + edi*4 + 2], cx
jmp 0x4caa79
mov eax, dword [esp + 0xa4]
mov esi, dword [esp + 0xa0]
lea ecx, [esp + 0x130]
lea edx, [esp + 0x120]
mov dword [esp + 8], eax
call fcn.0043dc70
mov eax, dword [esp + 0xc8]
movsd xmm0, qword [esp + 0x140]
movsd xmm1, qword [esp + 0x148]
mov ebx, dword [esp + 0x1c]
lea ecx, [esp + 0xa0]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x268]
movsd qword [esp + 0x270], xmm1
movsd qword [esp + 0x268], xmm0
mov edx, ebx
push eax
lea eax, [esp + 0x134]
push eax
call fcn.00441692
pop ecx
pop edx
test al, al
jne 0x4cc3ac
cmp dword [esp + 0xc], 0x200
mov edx, dword [esp + 0xbc]
setae al
xor esi, 2
or esi, dword [esp + 8]
setne cl
and cl, al
mov byte [esp + 0xc], cl
mov ecx, dword [esp + 0xb8]
push ebx
push dword [esp + 0x18]
push edi
call fcn.0042fa37
add esp, 0xc
mov ecx, dword [esp + 0xa0]
cmp eax, 0x7f
mov edx, dword [esp + 0xa4]
seta al
or al, byte [esp + 0xc]
mov esi, ecx
or esi, edx
mov esi, 1
sete ah
test al, ah
cmovne ecx, esi
mov dword [esp + 0xa0], ecx
mov ecx, 0
cmovne edx, ecx
mov dword [esp + 0xa4], edx
jmp 0x4caa79
mov esi, dword [esp + 0xc4]
imul eax, dword [esp + 0xc8], 0x30
mov dword [esp + 0x14], edx
add eax, esi
mov dword [esp + 0x40], eax
movzx eax, word [esp + 0xd8]
movzx eax, ax
mov dword [esp + 0xc], eax
xor eax, eax
cmp esi, dword [esp + 0x40]
je 0x4ca5ba
lea ecx, [esi + 0x30]
mov dword [esp + 0x1c], eax
inc eax
lea edx, [esi + 0x1c]
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0xa0]
mov dword [esp + 8], eax
call fcn.0042f5e5
mov edx, dword [esp + 0xc]
movzx ecx, ax
mov dword [esp + 0x30], eax
xor eax, eax
mov word [esi + 0x2c], cx
and edx, ecx
mov esi, dword [esp + 0x14]
mov ebx, edx
xor edx, edx
cmp ebx, edi
jae 0x4ca876
cmp word [esi + ebx*4], 0xffff
je 0x4ca8a0
movzx edx, word [esi + ebx*4 + 2]
mov ecx, dword [esp + 0xc]
mov esi, ebx
and edx, ecx
sub esi, edx
and esi, ecx
cmp esi, eax
jb 0x4ca8b3
inc ebx
inc eax
mov edx, ebx
jmp 0x4ca872
mov eax, dword [esp + 0x1c]
mov word [esi + ebx*4], ax
mov eax, dword [esp + 0x30]
mov word [esi + ebx*4 + 2], ax
jmp 0x4ca8ca
mov ecx, dword [esp + 0x14]
mov edx, edi
push dword [esp + 0x30]
push dword [esp + 0x20]
push ebx
call fcn.0042fa37
add esp, 0xc
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 8]
jmp 0x4ca836
mov edx, dword [esp + 0x20]
cmp edx, ebx
jbe 0x4cc386
mov ecx, dword [esp + 0x30]
imul eax, ebx, 0x30
cmp dword [ecx + eax], 0
lea edi, [ecx + eax]
je 0x4caa12
mov esi, dword [edi + 8]
movsd xmm0, qword [esp + 0x140]
movsd xmm1, qword [esp + 0x148]
lea eax, [esp + 0x26c]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0xd4]
lea ecx, [esp + 0xcc]
lea edx, [esp + 0x268]
movsd qword [eax + 0x14], xmm1
movsd qword [eax + 0xc], xmm0
mov dword [esp + 0x268], 1
mov dword [esp + 0x26c], esi
and dword [esp + 0x270], 0
mov dword [esp + 0x274], ebx
call fcn.0044176e
mov edx, dword [esp + 0xd4]
cmp edx, esi
jbe 0x4cc392
mov eax, dword [esp + 0xd0]
mov edx, dword [esp + 0x14]
shl esi, 5
xor ecx, ecx
inc ecx
mov dword [eax + esi + 8], ecx
mov dword [eax + esi + 0xc], edi
mov dword [edx], ecx
mov dword [edx + 8], edi
jmp 0x4caa79
lea edi, [esp + 0x268]
mov word [esp + 0xd8], 7
mov ecx, edi
push 8
pop edx
call fcn.0043abdf
mov ecx, edi
call fcn.0043ab81
mov ecx, dword [esp + 0xb8]
mov ebx, edx
mov edx, esi
mov edi, eax
call fcn.0042fb12
mov dword [esp + 0xb8], edi
mov dword [esp + 0xbc], ebx
push 4
pop ecx
mov edx, 0x120
call fcn.0042267d
test eax, eax
je 0x4cc3da
lea ecx, [esp + 0xc0]
mov esi, eax
call fcn.00440fa9
mov dword [esp + 0xc0], 6
mov dword [esp + 0xc4], esi
and dword [esp + 0xc8], 0
jmp 0x4ca5ba
movsd xmm0, qword [esp + 0x140]
movsd xmm1, qword [esp + 0x148]
lea eax, [esp + 0x26c]
mov esi, dword [esp + 0xd4]
lea ecx, [esp + 0xcc]
lea edx, [esp + 0x268]
movsd qword [eax + 0x14], xmm1
movsd qword [eax + 0xc], xmm0
and dword [esp + 0x268], 0
mov dword [esp + 0x26c], ebx
and dword [esp + 0x270], 0
mov dword [esp + 0x274], ebx
call fcn.0044176e
mov dword [edi], 1
mov dword [edi + 4], esi
mov dword [edi + 8], esi
movsd xmm0, qword [esp + 0x120]
mov esi, dword [esp + 0x3c]
movq xmm1, qword [esp + 0x128]
mov eax, dword [esp + 0x100]
movsd xmm2, qword [esp + 0xf8]
lea ebx, [esp + 0x268]
lea ecx, [esp + 0x58]
lea edx, [esp + 0x130]
movsd qword [esp + 0x130], xmm0
movq xmm0, qword [esp + 0xf0]
add esi, 0x10
movq qword [esp + 0x138], xmm1
mov dword [esp + 0x278], eax
movsd qword [esp + 0x270], xmm2
movq qword [esp + 0x268], xmm0
push ebx
call fcn.004301ae
pop eax
jmp 0x4ca38a
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0xa4]
mov dl, 1
xor edi, edi
xor eax, 3
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], eax
or eax, ecx
mov al, 1
je 0x4cac07
push 0x10
pop esi
mov ecx, esi
push 4
pop edx
call fcn.0049c41a
movq xmm0, qword [0x6509f0]
movq xmm1, qword [0x6509f8]
xor ecx, ecx
mov ebx, eax
movq qword [eax], xmm0
movq qword [eax + 8], xmm1
call fcn.0043ff06
push 0x40
pop ecx
push 8
pop edx
call fcn.0049c41a
mov ecx, esi
mov edi, eax
lea esi, [esp + 0xa0]
mov edx, 0x13f2a263
rep movsd dword es:[edi], dword [esi]
mov edi, ebx
mov ecx, ebx
push 0x5bc9ac
push eax
push 0x34ef8c7f
push 0x50ddace0
push 0x8d9b5db8
call fcn.0043a1c6
add esp, 0x14
test eax, eax
je 0x4cac03
mov ebx, eax
mov esi, edx
push eax
lea eax, [esp + 0x1fc]
push eax
call dword [edx + 0xc]
add esp, 8
movdqu xmm0, xmmword [esp + 0x1f8]
pcmpeqb xmm0, xmmword [0x5a65a0]
pmovmskb eax, xmm0
cmp eax, 0xffff
jne 0x4cabfa
push 0x10
pop ecx
mov eax, edi
lea edi, [esp + 0x268]
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov edi, eax
lea esi, [esp + 0x268]
mov ecx, ebx
push 8
pop edx
call fcn.00407480
mov eax, dword [esp + 0x268]
xor eax, 3
or eax, dword [esp + 0x26c]
je 0x4cac03
push esi
call fcn.00440f59
pop eax
jmp 0x4cac03
mov ecx, ebx
mov edx, esi
call fcn.004bc4fc
xor eax, eax
mov dl, 1
mov ecx, dword [esp + 0x150]
mov dword [esp + 0x20], eax
test ecx, ecx
mov dword [esp + 8], ecx
je 0x4cad31
movsd xmm0, qword [esp + 0x150]
movsd xmm1, qword [esp + 0x158]
test edi, edi
movsd qword [esp + 0x1b8], xmm1
movsd qword [esp + 0x1b0], xmm0
jne 0x4cac73
push 0x10
pop ecx
push 4
pop edx
call fcn.0049c41a
movsd xmm0, qword [0x6509f0]
movsd xmm1, qword [0x6509f8]
xor ecx, ecx
mov edi, eax
movsd qword [eax], xmm0
movsd qword [eax + 8], xmm1
call fcn.0043ff06
push 0x10
pop ecx
push 4
pop edx
call fcn.0049c41a
movq xmm0, qword [esp + 0x1b0]
movq xmm1, qword [esp + 0x1b8]
mov ebx, edi
mov edx, 0xee4582b8
mov ecx, edi
movq qword [eax], xmm0
movq qword [eax + 8], xmm1
push 0x5bc9cc
push eax
push 0xabb35603
push 0x5b5abb1f
push 0xf0587314
call fcn.0043a1c6
add esp, 0x14
test eax, eax
je 0x4cad3e
mov esi, eax
mov edi, edx
push eax
lea eax, [esp + 0x1ec]
push eax
call dword [edx + 0xc]
add esp, 8
movdqu xmm0, xmmword [esp + 0x1e8]
pcmpeqb xmm0, xmmword [0x5a65e0]
pmovmskb eax, xmm0
cmp eax, 0xffff
jne 0x4cad35
movq xmm0, qword [esi]
movq xmm1, qword [esi + 8]
mov ecx, esi
movq qword [esp + 0x270], xmm1
movq qword [esp + 0x268], xmm0
push 4
pop edx
call fcn.00407480
cmp dword [esp + 0x268], 0
je 0x4cad3e
lea eax, [esp + 0x268]
push eax
call fcn.0043fc3c
pop eax
jmp 0x4cad3e
mov ebx, edi
jmp 0x4cad40
mov ecx, esi
mov edx, edi
call fcn.004bc4fc
xor edx, edx
push 0x10
pop ecx
lea edi, [esp + 0x268]
lea esi, [esp + 0x58]
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0x268]
mov ecx, dword [esp + 0x10c]
mov eax, dword [esp + 0xe8]
cmp cx, 0x64
mov byte [esp + 0x2ae], al
mov word [esp + 0x2ac], cx
mov dword [esp + 0x2a8], ebx
je 0x4cadb0
movzx eax, cx
cmp eax, 0x65
je 0x4cbbc5
cmp eax, 0xcc
je 0x4cbb85
cmp eax, 0x130
je 0x4cbb85
lea eax, [ecx - 0x66]
cmp ax, 0x62
jae 0x4cbc69
mov eax, dword [esp + 0x24]
cmp dword [eax + 0xec], 0
je 0x4cbba3
mov ecx, esi
call fcn.00444721
mov eax, dword [esp + 0x1c]
or dword [esp + 0x14], eax
jne 0x4cadf3
mov eax, dword [esp + 0xa0]
xor eax, 3
or eax, dword [esp + 0xa4]
je 0x4cadf3
lea eax, [esp + 0xa0]
push eax
call fcn.00440f59
pop eax
lea eax, [esp + 0x188]
push eax
call fcn.0043fc3c
pop eax
cmp dword [esp + 8], 0
jne 0x4cae20
cmp dword [esp + 0x150], 0
je 0x4cae20
lea eax, [esp + 0x150]
push eax
call fcn.0043fc3c
pop eax
mov eax, dword [esp + 0x24]
mov esi, dword [eax + 0xec]
jmp 0x4c9c4f
cmp ecx, edx
jbe 0x4cb9f2
mov cl, byte [ebx + eax + 4]
add eax, 5
mov dword [esp + 0x60], eax
cmp cl, 0xa
jne 0x4cbbbe
lea ecx, [esp + 0x58]
call fcn.0043f8eb
mov dword [esp + 0x30], 0
mov edx, str._rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrarycore_src_sync_atomic.rsthere_is_no_such_thing_as_an_acquire_store
movzx eax, byte [esp + 0xc]
movzx ecx, byte [esp + 0x1c]
sub esi, dword [esp + 0x5c]
mov dword [esp + 0x114], edx
imul eax, eax, 0x64
imul ecx, ecx, 0xa
add ecx, eax
movzx eax, byte [esp + 8]
add eax, ecx
xor ecx, ecx
mov dword [esp + 0x10c], eax
xor eax, eax
mov dword [esp + 0xc], eax
shl eax, 4
mov dword [esp + 0x40], ecx
mov dword [esp + 0x3c], eax
lea eax, [esp + eax + 0x268]
mov dword [esp + 0xec], eax
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x60]
cmp ecx, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 8], ecx
jbe 0x4cb9f2
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x20], eax
movzx eax, byte [eax + edx]
lea ecx, [edx + 1]
mov dword [esp + 0x60], ecx
cmp eax, 0xa
je 0x4cb8d1
cmp eax, 0xd
je 0x4cb8ac
cmp byte [eax + 0x5bc35f], 0
je 0x4cafc9
mov ecx, edx
mov eax, dword [esp + 0x20]
not ecx
add ecx, dword [esp + 8]
lea eax, [eax + edx + 2]
mov edi, dword [esp + 0x1c]
mov ebx, eax
lea eax, [edi + 1]
cmp dword [esp + 8], eax
mov dword [esp + 0x1c], eax
jbe 0x4cb9f2
mov eax, dword [esp + 0x20]
dec ecx
movzx edx, byte [eax + edi + 1]
lea eax, [ebx + 1]
cmp byte [edx + 0x5bc35f], 0
jne 0x4caf0b
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xe4], ebx
lea ebx, [edi + 2]
and dword [esp + 0x60], 0
add dword [esp + 0x40], ebx
sub eax, ebx
add ecx, ebx
cmp dl, 0x3a
mov dword [esp + 0x58], ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x5c], eax
je 0x4cb698
cmp byte [esp + 0x55], 0
mov dword [esp + 0x98], ecx
je 0x4cb031
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
sub edi, dword [esp + 8]
lea ebx, [eax + ecx]
xor eax, eax
inc eax
mov ecx, eax
cmp dl, 0x20
je 0x4cafa3
movzx eax, dl
cmp eax, 9
jne 0x4cb035
lea eax, [edi + ecx]
cmp eax, 0xffffffff
je 0x4cb9f2
mov dl, byte [ebx + ecx]
lea eax, [ecx + 1]
mov dword [esp + 0x60], ecx
cmp dl, 0x3a
jne 0x4caf90
add ecx, dword [esp + 0x40]
mov edi, ecx
jmp 0x4cb68b
cmp byte [esp + 0x2b], 0
je 0x4cb823
test al, al
je 0x4cb823
movzx eax, al
cmp eax, 0xa
je 0x4cb01f
cmp eax, 0xd
je 0x4cb001
cmp dword [esp + 8], ecx
jbe 0x4cb9f2
mov eax, dword [esp + 0x20]
mov al, byte [eax + ecx]
inc ecx
mov dword [esp + 0x60], ecx
jmp 0x4cafd4
cmp dword [esp + 8], ecx
jbe 0x4cb9f2
mov eax, dword [esp + 0x20]
mov al, byte [eax + ecx]
inc ecx
mov dword [esp + 0x60], ecx
cmp al, 0xa
jne 0x4cb823
add dword [esp + 0x40], ecx
lea ecx, [esp + 0x58]
call fcn.0043f8eb
jmp 0x4caead
xor ecx, ecx
jmp 0x4cb036
dec ecx
cmp byte [esp + 0x2b], 0
mov ebx, dword [esp + 0xe4]
je 0x4cb823
add ebx, ecx
test dl, dl
je 0x4cb823
movzx eax, dl
cmp eax, 0xa
je 0x4cb01f
cmp eax, 0xd
je 0x4cb073
cmp dword [esp + 0x2c], ecx
jbe 0x4cb9f2
mov dl, byte [ebx]
inc ecx
inc ebx
mov dword [esp + 0x60], ecx
jmp 0x4cb04a
cmp dword [esp + 0x2c], ecx
jbe 0x4cb9f2
mov eax, dword [esp + 0x98]
jmp 0x4cb00f
cmp dword [esp + 8], edi
jbe 0x4cb9f2
movzx eax, byte [ebx + edi]
mov ecx, edi
inc edi
mov dword [esp + 0x60], edi
cmp eax, 0x20
je 0x4cb687
cmp eax, 9
je 0x4cb687
cmp byte [eax + 0x5bc45f], 0
jne 0x4cb115
cmp eax, 0xa
je 0x4cb0e3
cmp eax, 0xd
jne 0x4cb6ad
cmp dword [esp + 8], edi
jbe 0x4cb9f2
mov al, byte [ebx + ecx + 1]
mov edi, ecx
add edi, 2
mov dword [esp + 0x60], edi
cmp al, 0xa
jne 0x4cb9cc
cmp byte [esp + 0x37], 0
je 0x4cb758
lea ecx, [esp + 0x58]
call fcn.0043f90f
test al, 1
je 0x4cb9f2
cmp dl, 9
je 0x4cb086
movzx eax, dl
cmp eax, 0x20
je 0x4cb086
jmp 0x4cb758
mov eax, dword [0x665244]
test eax, eax
jne 0x4cb4b9
mov ecx, dword [0x666418]
xor eax, eax
test ecx, ecx
je 0x4cb137
bt ecx, 0xb
jmp 0x4cb4a7
xor ecx, ecx
mov edi, ebx
cpuid
xchg ebx, edi
test eax, eax
mov dword [esp + 0xa0], edi
mov dword [esp + 0xa4], edx
mov dword [esp + 0xa8], ecx
je 0x4cb493
mov ebx, eax
xor eax, eax
mov dword [esp + 0xe4], 0
xor ecx, ecx
inc eax
cmp ebx, 6
mov edi, ebx
cpuid
xchg ebx, edi
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x98], edx
mov dword [esp + 0x178], ebx
mov dword [esp + 8], 0
mov dword [esp + 0x110], 0
jbe 0x4cb1b4
xor ecx, ecx
push 7
pop eax
mov edi, ebx
cpuid
xchg ebx, edi
mov dword [esp + 8], edi
mov dword [esp + 0x110], ecx
mov eax, 0x80000000
xor ecx, ecx
mov edi, ebx
cpuid
xchg ebx, edi
test eax, eax
je 0x4cb1d9
mov eax, 0x80000001
xor ecx, ecx
mov edi, ebx
cpuid
xchg ebx, edi
mov dword [esp + 0xe4], ecx
mov eax, dword [esp + 0x2c]
pxor xmm4, xmm4
mov ecx, eax
mov edx, eax
mov edi, eax
mov eax, dword [esp + 0x98]
mov ebx, edi
and ecx, 1
and edx, 0x202
movd xmm1, ebx
shl ecx, 8
pshufd xmm2, xmm1, 0x50
or edx, ecx
mov ecx, edi
movd xmm0, eax
mov dword [esp + 0x17c], edx
mov edx, edi
shr ecx, 0x19
punpckldq xmm0, xmm1
shr edx, 0x1c
and ecx, 1
punpcklqdq xmm2, xmm0
movd xmm0, dword [esp + 8]
and edx, 4
or edx, ecx
mov ecx, eax
pand xmm2, xmmword [0x5a65d0]
and ecx, 0x10
or ecx, edx
mov edx, eax
shr eax, 0x13
punpckldq xmm1, xmm0
pshufd xmm0, xmm0, 0x50
mov edi, eax
and eax, 0x80
shr edx, 0x12
punpcklqdq xmm1, xmm0
movdqa xmm0, xmm2
punpckldq xmm2, xmm4
add eax, dword [esp + 0x17c]
and edx, 0x20
and edi, 0x40
pand xmm1, xmmword [0x5a65c0]
movdqa xmm5, xmm2
psllq xmm2, 5
or edi, edx
punpckhdq xmm0, xmm4
psllq xmm5, 0x11
movsd xmm2, xmm5
or eax, edi
mov edi, dword [esp + 8]
movdqa xmm3, xmm1
punpckldq xmm1, xmm4
or eax, ecx
movdqa xmm6, xmm1
psllq xmm1, 0x1c
punpckhdq xmm3, xmm4
psllq xmm6, 0x1b
movsd xmm1, xmm6
mov edx, edi
mov ecx, edi
mov edi, ebx
orpd xmm2, xmm1
movdqa xmm1, xmm3
psllq xmm3, 0x21
shr edx, 0xf
shr ecx, 0x10
shr edi, 9
psllq xmm1, 0x25
and edx, 8
and ecx, 0x2000
and edi, 0xc00
movsd xmm3, xmm1
movdqa xmm1, xmm0
psllq xmm0, 0x21
or ecx, edx
psllq xmm1, 0x11
or edi, ecx
mov ecx, ebx
movsd xmm0, xmm1
or edi, eax
not ecx
orpd xmm0, xmm3
orpd xmm0, xmm2
pshufd xmm1, xmm0, 0xee
por xmm1, xmm0
movd eax, xmm1
or edi, eax
test ecx, 0xc000000
jne 0x4cb435
call fcn.0050e4c0
mov dword [esp + 0x98], eax
not eax
test al, 6
jne 0x4cb435
cmp dword [esp + 0x178], 0xc
mov eax, edi
jbe 0x4cb360
push 0xd
pop eax
xor ecx, ecx
inc ecx
mov ebx, ebx
cpuid
xchg ebx, ebx
test al, 1
cmove edi, edi
mov eax, edi
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 8]
mov edx, dword [esp + 0x98]
shr ecx, 0xe
and edi, 0x20
and edx, 0xe0
and ecx, 0x4000
shl edi, 0xa
or edi, ecx
or edi, eax
cmp edx, 0xe0
jne 0x4cb435
mov ebx, dword [esp + 8]
mov edx, 0x200000
mov ecx, ebx
mov eax, ebx
shl ecx, 4
and eax, 0x10000
and ecx, edx
or ecx, eax
mov eax, ebx
and eax, edx
lea eax, [ecx + eax*4]
mov ecx, ebx
shr ecx, 7
and ecx, 0x80000
or ecx, eax
mov eax, ebx
shr eax, 9
and eax, 0x40000
or eax, ecx
mov ecx, ebx
shr ecx, 0xb
and ecx, 0x20000
or ecx, eax
mov eax, ebx
shr eax, 0xa
and eax, 0x100000
or eax, ecx
or edi, eax
mov eax, edi
or eax, 0x400000
test ebx, ebx
mov ebx, dword [esp + 0x110]
cmovns eax, edi
mov ecx, ebx
mov edx, ebx
mov edi, ebx
and ecx, 2
and edx, 0x40
shl ecx, 0x17
shl edx, 0x14
or edx, ecx
or edx, eax
mov eax, edx
or eax, 0x8000000
bt ebx, 8
cmovae eax, edx
shl edi, 0x13
shl ebx, 0xb
and ebx, 0x2000000
and edi, 0xf0000000
or edi, ebx
or edi, eax
push 0xc
push str.AuthenticAMDHygonGenuineGenuineIntele_8__ee_8__e_
lea eax, [esp + 0xa8]
push eax
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x4cb46b
push 0xc
push 0x62a864
lea eax, [esp + 0xa8]
push eax
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x4cb47a
mov eax, dword [esp + 0xe4]
and eax, 0x40
shl eax, 6
or edi, eax
push 0xc
push 0x62a870
lea eax, [esp + 0xa8]
push eax
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
jmp 0x4cb495
xor edi, edi
mov eax, edi
or eax, 0x80000000
mov dword [0x666418], eax
xor eax, eax
bt edi, 0xb
mov ecx, 0xffffffff
jae 0x4cb4b3
xor eax, eax
inc eax
mov ecx, eax
mov dword [0x665244], ecx
cmp eax, 1
lea edi, [esp + 0x58]
jne 0x4cb4e5
mov ecx, edi
call fcn.0043f926
cmp edx, 0x10
jb 0x4cb4e5
mov ecx, edi
call fcn.0043f926
mov ecx, eax
call fcn.0043f945
add dword [esp + 0x60], eax
cmp eax, 0x10
je 0x4cb4c2
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov edi, dword [esp + 0x60]
mov dword [esp + 8], eax
mov dword [esp + 0x2c], ecx
cmp edi, 0xfffffff7
ja 0x4cb5bf
lea ebx, [edi + 8]
cmp ebx, ecx
ja 0x4cb5bf
mov eax, dword [esp + 8]
movq xmm0, qword [eax + edi]
movdqa xmmword [esp + 0x1d0], xmm0
movzx eax, byte [esp + 0x1d0]
cmp byte [eax + 0x5bc45f], 0
je 0x4cb5e3
movd edx, xmm0
mov ecx, edi
mov eax, edx
shr eax, 8
movzx edi, al
cmp byte [edi + 0x5bc45f], 0
je 0x4cb5e6
mov eax, edx
shr eax, 0x10
movzx edi, al
cmp byte [edi + 0x5bc45f], 0
je 0x4cb5eb
shr edx, 0x18
mov edi, ecx
cmp byte [edx + 0x5bc45f], 0
je 0x4cb5f6
pextrw eax, xmm0, 2
mov ecx, dword [esp + 0x2c]
movzx edx, al
cmp byte [edx + 0x5bc45f], 0
je 0x4cb601
shr eax, 8
cmp byte [eax + 0x5bc45f], 0
je 0x4cb606
pextrw eax, xmm0, 3
movzx edx, al
cmp byte [edx + 0x5bc45f], 0
je 0x4cb60b
shr eax, 8
cmp byte [eax + 0x5bc45f], 0
je 0x4cb610
mov dword [esp + 0x60], ebx
mov edi, ebx
jmp 0x4cb4f9
cmp ecx, edi
jbe 0x4cb9f2
mov eax, dword [esp + 8]
movzx eax, byte [eax + edi]
inc edi
mov dword [esp + 0x60], edi
cmp byte [eax + 0x5bc45f], 0
jne 0x4cb4f9
jmp 0x4cb616
inc edi
jmp 0x4cb60e
add ecx, 2
jmp 0x4cb5ee
add ecx, 3
mov ebx, ecx
mov ecx, dword [esp + 0x2c]
jmp 0x4cb610
mov ecx, dword [esp + 0x2c]
add edi, 4
mov eax, edx
jmp 0x4cb60e
add edi, 5
jmp 0x4cb60e
add edi, 6
jmp 0x4cb60e
add edi, 7
mov ebx, edi
mov edi, ebx
mov dword [esp + 0x60], ebx
cmp al, 0xa
je 0x4cb64a
movzx ecx, al
cmp ecx, 0xd
jne 0x4cb70d
mov ecx, dword [esp + 0x2c]
cmp ecx, edi
jbe 0x4cb9f2
mov eax, dword [esp + 8]
mov al, byte [eax + edi]
inc edi
mov dword [esp + 0x60], edi
cmp al, 0xa
push 0xfffffffffffffffe
pop ebx
je 0x4cb64d
jmp 0x4cb9cc
xor ebx, ebx
dec ebx
cmp byte [esp + 0x37], 0
je 0x4cb803
lea ecx, [esp + 0x58]
call fcn.0043f90f
mov ecx, dword [esp + 0x2c]
test al, 1
je 0x4cb9f2
cmp dl, 9
je 0x4cb115
movzx eax, dl
cmp eax, 0x20
je 0x4cb115
jmp 0x4cb803
add edi, dword [esp + 0x40]
lea ecx, [esp + 0x58]
call fcn.0043f8eb
mov dword [esp + 0x40], edi
mov eax, dword [esp + 0x5c]
mov ebx, dword [esp + 0x58]
mov edi, dword [esp + 0x60]
mov dword [esp + 8], eax
jmp 0x4cb086
cmp byte [esp + 0x2b], 0
je 0x4cb9cc
test al, al
je 0x4cb9cc
movzx eax, al
cmp eax, 0xa
je 0x4cb6fb
cmp eax, 0xd
je 0x4cb6e1
cmp dword [esp + 8], edi
jbe 0x4cb9f2
mov al, byte [ebx + edi]
inc edi
mov dword [esp + 0x60], edi
jmp 0x4cb6b8
cmp dword [esp + 8], edi
jbe 0x4cb9f2
mov al, byte [ebx + edi]
inc edi
cmp al, 0xa
mov dword [esp + 0x60], edi
jne 0x4cb9cc
lea ecx, [esp + 0x58]
call fcn.0043f8eb
add dword [esp + 0x40], edi
jmp 0x4caead
cmp byte [esp + 0x2b], 0
mov ecx, dword [esp + 0x2c]
je 0x4cb9cc
test al, al
je 0x4cb9cc
movzx eax, al
cmp eax, 0xa
je 0x4cb6fb
cmp eax, 0xd
je 0x4cb747
cmp ecx, edi
jbe 0x4cb9f2
mov eax, dword [esp + 8]
mov al, byte [eax + edi]
inc edi
mov dword [esp + 0x60], edi
jmp 0x4cb71c
cmp ecx, edi
jbe 0x4cb9f2
mov eax, dword [esp + 8]
mov al, byte [eax + edi]
jmp 0x4cb6ee
lea ecx, [esp + 0x58]
mov dword [esp + 0x3c], edi
call fcn.0043f8eb
mov ecx, eax
push 0x5bc560
push 0
call fcn.004113ec
pop ecx
pop ecx
mov dword [esp + 8], eax
mov ebx, edx
mov eax, dword [esp + 0xc]
mov edi, 0x800013
cmp eax, 0x64
je 0x4cbe0c
mov ecx, dword [esp + 0x3c]
inc eax
mov edx, ebx
mov dword [esp + 0xc], eax
add ecx, dword [esp + 0x40]
mov dword [esp + 0x3c], ecx
test edx, edx
je 0x4cb7d8
mov ecx, dword [esp + 8]
mov eax, edx
movzx ecx, byte [ecx + edx - 1]
add ecx, 0xfffffff7
cmp ecx, 0x17
ja 0x4cb7bf
lea edx, [eax - 1]
bt edi, ecx
jb 0x4cb7a0
mov ecx, dword [esp + 8]
mov edx, ebx
push 0x5bc570
push eax
call fcn.004113ec
pop ecx
pop ecx
mov ebx, edx
mov dword [esp + 8], eax
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0x20]
mov dword [eax], ecx
mov ecx, dword [esp + 0x1c]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 8]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x3c]
jmp 0x4cae90
mov eax, dword [esp + 8]
and dword [esp + 0x60], 0
add ebx, edi
sub ecx, edi
mov dword [esp + 0x3c], edi
add eax, edi
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], ecx
jmp 0x4cb77b
mov eax, dword [esp + 0x18]
and eax, 0xffffff00
mov dword [esp + 0x18], eax
jmp 0x4c9fd0
sub ebx, edx
lea eax, [edi + edx]
mov edx, edi
mov edi, dword [esp + 0x30]
and dword [esp + 0x60], 0
test cl, 1
mov dword [esp + 0x58], eax
mov eax, str._rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrarycore_src_sync_atomic.rsthere_is_no_such_thing_as_an_acquire_store
mov dword [esp + 0x5c], ebx
cmovne edx, eax
mov eax, 0
cmovne edi, eax
jmp 0x4cb8a3
cmp ebx, edx
jbe 0x4cb9f2
cmp byte [edi + edx], 0xa
jne 0x4cbbbe
mov edx, edi
mov edi, dword [esp + 0x30]
and dword [esp + 0x60], 0
lea eax, [edi + 2]
sub ebx, eax
lea eax, [edx + edi + 2]
test cl, 1
mov ecx, 0
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], ebx
mov ebx, str._rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrarycore_src_sync_atomic.rsthere_is_no_such_thing_as_an_acquire_store
cmovne edi, ecx
cmovne edx, ebx
mov dword [esp + 0x30], edi
jmp 0x4cae61
cmp dword [esp + 8], ecx
jbe 0x4cb9f2
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov al, byte [eax + ecx + 1]
add ecx, 2
mov dword [esp + 0x60], ecx
cmp al, 0xa
jne 0x4cb9dd
add ecx, dword [esp + 0x40]
mov eax, ecx
movzx ecx, cl
and eax, 0xffffff00
or ecx, eax
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x10c]
lea eax, [ecx - 0x3e8]
cmp ax, 0xfc7c
jb 0x4cbe18
call fcn.0043e444
test eax, eax
je 0x4cb929
mov edi, edx
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x30]
push edi
push eax
call fcn.004b47b6
pop ecx
pop edx
test al, al
je 0x4cb929
and dword [esp + 0xa0], 0
jmp 0x4cb941
mov edx, dword [esp + 0x114]
lea ecx, [esp + 0xa0]
push dword [esp + 0x30]
call fcn.00418c35
pop eax
add esi, dword [esp + 0x18]
xor eax, eax
cmp dword [esp + 0x3c], eax
je 0x4cb9a2
mov ecx, dword [esp + eax + 0x26c]
cmp ecx, 0xffff
ja 0x4cbd32
mov edx, dword [esp + eax + 0x268]
mov edi, dword [esp + 0x14]
sub edx, edi
add ecx, edx
mov dword [esp + eax + 0x998], edx
mov edx, dword [esp + eax + 0x270]
mov dword [esp + eax + 0x99c], ecx
sub edx, edi
mov edi, dword [esp + eax + 0x274]
mov dword [esp + eax + 0x9a0], edx
add edi, edx
mov dword [esp + eax + 0x9a4], edi
add eax, 0x10
jmp 0x4cb947
lea ecx, [esp + 0xa4]
mov eax, dword [esp + 0xa0]
movq xmm0, qword [ecx]
mov ecx, dword [ecx + 8]
movq qword [esp + 0xf0], xmm0
mov dword [esp + 0xf8], ecx
jmp 0x4ca005
mov eax, dword [esp + 0x18]
and eax, 0xffffff00
or eax, 1
jmp 0x4cb82c
mov eax, dword [esp + 0x18]
and eax, 0xffffff00
or eax, 2
jmp 0x4cb82c
xor eax, eax
jmp 0x4cba6c
xor edi, edi
push 3
jmp 0x4cba0c
push 2
pop eax
movsx eax, al
xor edi, edi
mov al, byte [eax + 0x6529f4]
mov byte [esp + 0x13], al
push 4
pop ebx
lea esi, [esp + 0x208]
mov ecx, esi
call fcn.00431a47
mov ecx, esi
call fcn.00431a58
movzx esi, byte [esp + 0x13]
mov eax, ebx
xor eax, 4
or eax, edi
je 0x4cbe56
push 0x3a
lea eax, [esp + 0x962]
push eax
lea eax, [esp + 0x234]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, ebx
xor eax, 3
or eax, edi
jne 0x4cbe63
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x11c]
mov eax, dword [edi + 0xec]
xor ecx, ecx
cmp byte [edi + 0xd0], 0
sete cl
cmp eax, dword [edi + ecx*4 + 0xd4]
jae 0x4cbe24
mov edx, dword [esp + 0x184]
lea ecx, [esp + 0x268]
push ebx
call fcn.004c93e2
pop eax
cmp byte [esp + 0x268], 5
je 0x4cbe30
mov ecx, dword [esp + 0x26c]
mov eax, dword [esp + 0x268]
lea edx, [esp + 0x198]
mov dword [esp + 0x19c], ecx
lea ecx, [esp + 0x998]
mov dword [esp + 0x198], eax
call fcn.004cd272
cmp dword [esp + 0x998], 0
jne 0x4cbe3b
cmp dword [esp + 0x99c], 0
jne 0x4c9c2e
jmp 0x4cbe4d
mov cl, 1
mov dword [esp + 0x14], 0
mov byte [esp + 0x13], 0xb
push 4
pop ebx
mov al, 1
test cl, cl
mov dword [esp + 0xc], eax
je 0x4cbb35
mov eax, dword [esp + 0xa0]
xor eax, 3
or eax, dword [esp + 0xa4]
je 0x4cbb35
lea eax, [esp + 0xa0]
push eax
call fcn.00440f59
pop eax
cmp edi, dword [esp + 0xec]
mov edi, dword [esp + 0x14]
je 0x4cbb4b
lea ecx, [esp + 0x58]
call fcn.0043fed5
lea eax, [esp + 0x188]
push eax
call fcn.0043fc3c
pop eax
cmp byte [esp + 0xc], 0
je 0x4cba0d
cmp dword [esp + 0x150], 0
je 0x4cba0d
lea eax, [esp + 0x150]
push eax
call fcn.0043fc3c
pop eax
jmp 0x4cba0d
mov dword [esp + 0xc], edx
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x38], 0
jmp 0x4cbbdf
mov dword [esp + 0xc], edx
mov dword [esp + 0x14], 0
push 3
pop ebx
mov ecx, esi
call fcn.00444721
jmp 0x4cbc58
push 3
jmp 0x4cb9fa
mov dword [esp + 0xc], edx
mov al, 1
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x26c]
movzx ecx, word [esp + 0x271]
mov ebx, dword [esp + 0x268]
mov dword [esp + 0x14], eax
mov al, byte [esp + 0x270]
mov byte [esp + 0x13], al
movzx eax, byte [esp + 0x273]
shl eax, 0x10
or ecx, eax
mov dword [esp + 0x108], ecx
push 0x3a
lea eax, [esp + 0x278]
push eax
lea eax, [esp + 0x966]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov al, byte [esp + 0x2ae]
mov cl, byte [esp + 0x2c]
mov byte [esp + 0x46], al
mov al, byte [esp + 0x2af]
mov byte [esp + 0x54], al
mov eax, dword [esp + 0x38]
xor al, 1
and cl, al
mov byte [esp + 0x53], cl
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x20]
jmp 0x4cbb0c
mov eax, dword [esp + 0x24]
mov dword [esp + 0xc], edx
movzx eax, byte [eax + 0x80]
cmp eax, 0xb
je 0x4cbc9b
cmp eax, 5
je 0x4cbb89
cmp eax, 7
jne 0x4cbc9b
add ecx, 0xffffff38
cmp cx, 0x64
jb 0x4cbbc9
and dword [esp + 0xfc], 0
and dword [esp + 0xf8], 0
and dword [esp + 0xf0], 0
mov ecx, esi
lea edx, [esp + 0xf0]
mov dword [esp + 0xf4], 0x45
call fcn.00430057
test al, al
je 0x4cbcec
cmp byte [esp + 0x2ae], 1
jne 0x4cbd4a
mov dword [esp + 0x14], 0
mov byte [esp + 0x13], 2
jmp 0x4cbdf5
lea ecx, [esp + 0x1a0]
mov edx, esi
call fcn.00443e2f
cmp dword [esp + 0x1a0], 1
jne 0x4cbdb3
mov eax, dword [esp + 0x1ac]
mov ecx, dword [esp + 0x1a8]
mov byte [esp + 0x13], 9
cmp ecx, 0xfffffffe
mov edx, eax
sbb edx, 0xffffffff
jae 0x4cbded
mov dword [esp + 0x4c], ecx
jmp 0x4cbe03
lea ecx, [esp + 0xa0]
call fcn.00430685
xor edi, edi
mov byte [esp + 0x13], 9
jmp 0x4cba0a
and dword [esp + 0xfc], 0
and dword [esp + 0xf8], 0
and dword [esp + 0xf0], 0
lea edi, [esp + 0x130]
mov edx, esi
lea esi, [esp + 0xf0]
mov dword [esp + 0xf4], 0x45
mov ecx, edi
push esi
call fcn.00442742
pop eax
mov ecx, esi
mov edx, edi
call fcn.00442e22
mov ecx, esi
call fcn.00444644
movzx eax, al
mov dword [esp + 0x38], 0
not eax
mov dword [esp + 0x4c], eax
xor eax, eax
dec eax
mov dword [esp + 0x48], eax
jmp 0x4cbbdf
and dword [esp + 0xfc], 0
and dword [esp + 0xf8], 0
and dword [esp + 0xf0], 0
mov ecx, esi
lea edx, [esp + 0xf0]
mov dword [esp + 0xf4], 0x18
call fcn.00430057
test al, al
mov byte [esp + 0x13], 1
je 0x4cbdfc
mov dword [esp + 0x14], 0
push 4
jmp 0x4cbbb1
xor eax, eax
dec eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], eax
jmp 0x4cbb99
push 5
pop eax
mov dword [esp + 0x18], eax
jmp 0x4cb9fb
xor edi, edi
mov byte [esp + 0x13], 0xa
jmp 0x4cba0a
push 9
pop edx
xor ecx, ecx
call fcn.004405ec
jmp 0x4cbe52
xor esi, esi
push 4
pop ebx
mov dword [esp + 0x38], eax
jmp 0x4cbe97
mov ecx, dword [esp + 0x99c]
xor esi, esi
push 3
pop ebx
mov dword [esp + 0x38], eax
jmp 0x4cbe97
call fcn.004438f2
mov ecx, eax
jmp 0x4cbead
xor ecx, ecx
mov edx, esi
call fcn.004405ec
mov ecx, eax
jmp 0x4cbea9
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x108]
lea eax, [esp + 0x924]
shl edi, 8
or edi, esi
push 0x3a
lea ecx, [esp + 0x230]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
mov esi, dword [esp + 0x20]
mov ecx, edi
add esp, 0xc
mov edx, dword [esp + 0x48]
mov eax, ebx
xor eax, 4
or eax, esi
je 0x4cbf0b
mov eax, ebx
xor eax, 3
or eax, esi
jne 0x4cbf14
mov edi, dword [esp + 0x24]
mov bl, byte [edi + 0xa2]
and dword [edi + 0x44], 0
mov dword [edi + 0x40], 4
mov byte [edi + 0xa2], 2
mov dword [esp + 0x22c], ecx
mov eax, dword [edi + 0xec]
test eax, eax
je 0x4cbfd2
mov edi, ecx
mov ecx, dword [esp + 0x9c]
xor edx, edx
mov ecx, dword [ecx]
cmp eax, edx
je 0x4cbf00
movzx esi, byte [ecx + edx]
cmp esi, 0xd
je 0x4cbefd
cmp esi, 0xa
jne 0x4cbfb8
inc edx
jmp 0x4cbee7
mov dword [esp + 0x58], eax
mov edx, eax
jmp 0x4cbfc4
xor ecx, ecx
push 5
jmp 0x4cc011
mov dword [esp + 0x14], esi
mov dword [esp + 0x108], ecx
push 0x3a
pop ecx
lea edi, [esp + 0x8e8]
lea esi, [esp + 0x924]
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x24]
mov cl, byte [esp + 0x53]
mov byte [eax + 0xa0], 0
cmp byte [eax + 0xa2], 2
jne 0x4cbf4e
test cl, cl
jne 0x4cbf5f
mov esi, dword [esp + 0x24]
xor eax, eax
cmp cl, 1
adc al, 1
mov byte [esi + 0xa2], al
cmp byte [esp + 0x38], 0
mov esi, dword [esp + 0x4c]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x48], edx
setne al
mov dword [esp + 0xc], eax
mov eax, esi
or eax, edx
mov al, byte [esp + 0x46]
mov byte [ecx + 0xa3], al
je 0x4cc308
mov ecx, esi
mov edi, edx
not edx
xor eax, eax
xor ecx, 0xfffffffe
or edx, ecx
je 0x4cc321
mov eax, esi
xor ecx, ecx
mov edx, esi
and eax, edi
cmp eax, 0xffffffff
mov eax, edi
jne 0x4cc325
mov cl, 2
jmp 0x4cc325
cmp eax, edx
mov dword [esp + 0x58], edx
jb 0x4cc3e7
mov ecx, dword [esp + 0x9c]
call fcn.00419029
mov ecx, edi
cmp byte [ecx + 0x18], 0
je 0x4cc017
test bl, bl
jne 0x4cc017
mov eax, dword [esp + 0x24]
cmp dword [eax + 0xec], 0
jne 0x4cc017
mov eax, dword [esp + 0x24]
and dword [eax + 0x64], 0
mov dword [eax + 0x60], 5
mov byte [eax + 0xa2], 2
lea eax, [esp + 0x22c]
push eax
call fcn.004b10fd
pop eax
xor ecx, ecx
push 4
pop ebx
jmp 0x4cc09e
mov edi, ecx
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x60]
mov ecx, dword [ecx + 0x64]
add eax, 0xfffffffe
adc ecx, 0xffffffff
push 3
pop ebx
cmp ebx, eax
mov edx, 0
mov esi, edi
mov dword [esp + 0x268], edi
sbb edx, ecx
jb 0x4cc09c
test eax, eax
jne 0x4cc09c
mov eax, dword [esp + 0x24]
mov edx, dword [eax + 0xec]
cmp edx, 0x18
jb 0x4cc09c
mov eax, dword [esp + 0x9c]
mov ecx, dword [eax]
push 0x18
pop esi
push 0x62023c
push esi
call fcn.00453e73
pop ecx
pop ecx
mov ecx, eax
push esi
push 0x61f9a5
call fcn.0044f299
mov esi, edi
add esp, 8
test al, al
je 0x4cc09c
push 5
pop edx
xor ecx, ecx
call fcn.004405ec
mov esi, eax
lea eax, [esp + 0x268]
push eax
call fcn.004b10fd
pop eax
xor ecx, ecx
mov dword [esp + 0xc], 0
mov eax, ebx
xor eax, 5
or eax, ecx
jne 0x4cc0b7
xor eax, eax
inc eax
jmp 0x4cc13f
mov eax, ebx
and al, 7
cmp al, 3
je 0x4cc0eb
mov eax, ebx
and eax, 7
cmp eax, 4
jne 0x4cc147
mov edi, dword [esp + 0x24]
mov eax, dword [edi + 0x60]
mov ecx, dword [edi + 0x64]
add eax, 0xfffffffe
adc ecx, 0xffffffff
xor edx, edx
push 3
pop esi
cmp esi, eax
sbb edx, ecx
jb 0x4cc13b
cmp eax, 3
je 0x4cc117
jmp 0x4cc13b
lea edx, [esp + 0x268]
mov ecx, dword [esp + 0x118]
mov dword [edx + 8], esi
and dword [edx + 4], 0
mov dword [edx], 3
call fcn.004b190f
test eax, eax
jne 0x4cc301
mov edi, dword [esp + 0x24]
mov byte [edi + 0x130], 1
and dword [edi + 0x44], 0
mov dword [edi + 0x40], 4
and dword [edi + 0x64], 0
mov dword [edi + 0x60], 5
mov byte [edi + 0xa2], 2
xor edx, edx
xor eax, eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [esp + 0x9a4]
mov dword [eax - 0xc], ebx
mov dword [eax - 8], ecx
mov dword [eax - 4], esi
push 0x3a
pop ecx
lea esi, [esp + 0x8ac]
mov edi, eax
rep movsb byte es:[edi], byte [esi]
mov cl, byte [esp + 0x46]
mov byte [eax + 0x3a], cl
mov cl, byte [esp + 0x54]
mov byte [eax + 0x3b], cl
mov ecx, dword [esp + 0x4c]
mov eax, ecx
or eax, edx
je 0x4cc22d
lea esi, [esp + 0x268]
mov eax, edx
mov edx, ecx
mov ecx, esi
push 0
push eax
call fcn.00442f0a
pop eax
pop ecx
mov eax, dword [esi + 0x10]
movsd xmm1, qword [esi + 8]
movsd xmm0, qword [esi]
movsd xmm2, qword [esi + 0x28]
mov ebx, dword [esi + 0x18]
mov dword [esp + 0x68], eax
mov eax, dword [esi + 0x1c]
movsd qword [esp + 0x60], xmm1
movsd xmm1, qword [esi + 0x20]
movsd qword [esp + 0x58], xmm0
movsd qword [esp + 0xa8], xmm2
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x38]
movsd qword [esp + 0xa0], xmm1
movsd xmm1, qword [esi + 0x30]
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0x3c]
mov esi, dword [esp + 0x24]
movsd qword [esp + 0xb0], xmm1
lea ecx, [esi + 0x118]
mov dword [esp + 8], eax
call fcn.004c2a02
mov eax, dword [esp + 0x68]
movq xmm0, qword [esp + 0x58]
movq xmm1, qword [esp + 0x60]
mov dword [esi + 0x128], eax
movq qword [esi + 0x120], xmm1
movq qword [esi + 0x118], xmm0
jmp 0x4cc23f
xor ebx, ebx
mov dword [esp + 0x14], 0
mov dword [esp + 0x1c], 0
mov eax, dword [esp + 0xc]
test al, al
je 0x4cc296
mov dword [esp + 0xc], ebx
call fcn.004428c9
mov ebx, dword [esp + 0x24]
mov edi, eax
mov esi, edx
cmp dword [ebx + 0x78], 0
je 0x4cc266
lea ecx, [ebx + 0x7c]
call fcn.0044289f
xor edx, edx
mov dword [ebx + 0x78], 1
mov dword [ebx + 0x7c], edi
lea ecx, [esp + 0x9d8]
inc edx
push esi
call fcn.004b2890
pop ecx
lea ecx, [esp + 0x268]
mov dword [ecx], eax
mov dword [ecx + 4], edx
call fcn.004b2960
mov ebx, dword [esp + 0xc]
push 0x12
pop ecx
lea edx, [esp + 0x268]
lea esi, [esp + 0x998]
mov edi, edx
rep movsd dword es:[edi], dword [esi]
movq xmm0, qword [esp + 0xb0]
movsd xmm2, qword [esp + 0xa0]
movq xmm1, qword [esp + 0xa8]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x118]
movq qword [edx + 0x60], xmm0
movq qword [edx + 0x58], xmm1
movsd qword [edx + 0x50], xmm2
mov dword [edx + 0x48], ebx
mov dword [edx + 0x4c], eax
mov eax, dword [esp + 0x1c]
mov dword [edx + 0x68], eax
mov eax, dword [esp + 8]
mov dword [edx + 0x6c], eax
call fcn.004b190f
test eax, eax
je 0x4cc13b
mov edx, eax
jmp 0x4cc13d
mov edx, dword [esp + 0x11c]
and dword [ecx + 0x44], 0
mov dword [ecx + 0x40], 3
call fcn.004c9260
jmp 0x4cc349
mov cl, 1
xor edx, edx
mov esi, dword [esp + 0x24]
and dword [esi + 0x44], 0
mov dword [esi + 0x40], 2
mov byte [esi + 0x48], cl
mov byte [esi + 0x49], 0
mov dword [esi + 0x50], edx
mov dword [esi + 0x54], eax
and dword [esi + 0x5c], 0
and dword [esi + 0x58], 0
mov eax, dword [esp + 0xc]
add al, al
mov dword [esp + 0xc], eax
push 0x3a
pop ecx
lea edi, [esp + 0x8ac]
lea esi, [esp + 0x8e8]
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x108]
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x14]
jmp 0x4cc0a6
mov ecx, edi
push 0x5bca1c
call fcn.0059ee70
mov ecx, ebx
push 0x5bca0c
call fcn.0059ee70
mov ecx, esi
push 0x5bc9dc
call fcn.0059ee70
lea eax, [esp + 0x140]
push eax
call fcn.0043fc3c
pop eax
push 0x17
pop edx
mov ecx, 0x61fe93
push 0x5bcacc
push 0x5bc8ec
lea eax, [esp + 0x270]
push eax
call fcn.0059f1c0
push 0x17
pop edx
mov ecx, 0x61fe93
push 0x5bcafc
jmp 0x4cc3b9
push 4
pop ecx
mov edx, 0x120
call fcn.0059eab0
mov dword [esp + 0xa0], eax
lea eax, [esp + 0x58]
lea ecx, [esp + 0xa0]
mov dword [esp + 0x998], eax
mov eax, fcn.004077d1
mov dword [esp + 0x99c], eax
mov dword [esp + 0x9a0], ecx
lea ecx, [esp + 0x268]
mov dword [esp + 0x9a4], eax
mov dword [ecx], str.cannot_advance_past__remaining_:___
push 2
pop eax
mov dword [ecx + 4], eax
and dword [ecx + 0x10], 0
lea edx, [esp + 0x998]
mov dword [ecx + 8], edx
mov edx, 0x62cef4
mov dword [ecx + 0xc], eax
call fcn.0059ede0