Function at 0x468a88
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, 0xfffffff8
sub esp, 0xfe8
cmp dword [ecx + 0x100], 2
mov edi, ecx
je 0x46b1a8
lea ecx, [edi + 0x100]
mov dword [esp + 0x188], edx
mov dword [esp + 0x184], ecx
call fcn.0045877a
test al, al
je 0x46b1a8
mov al, byte [edi + 0x99]
mov dword [esp + 0xc], edi
mov byte [esp + 0xab], al
mov al, byte [edi + 0x9a]
mov byte [esp + 0x3b], al
mov al, byte [edi + 0x9c]
mov byte [esp + 0x4f], al
mov al, byte [edi + 0x9d]
mov byte [esp + 0xac], al
mov al, byte [edi + 0x9e]
mov byte [esp + 0x2e], al
mov al, byte [edi + 0xa0]
mov byte [esp + 0xad], al
mov al, byte [edi + 0xa2]
mov byte [esp + 0xae], al
lea eax, [edi + 0xa8]
mov dword [esp + 0x1a8], eax
lea eax, [edi + 0xe8]
mov dword [esp + 0xc8], eax
lea eax, [edi + 8]
mov dword [esp + 0x19c], eax
mov dword [esp + 0x94], eax
mov edx, dword [edi + 0xec]
test edx, edx
je 0x46acfc
mov dword [esp + 0x1e8], 2
mov dword [esp + 0x1f8], 0
mov eax, dword [esp + 0xc8]
test edx, edx
mov edi, dword [eax]
lea ebx, [edi + edx]
mov dword [esp + 0x54], ebx
jle 0x46b05f
mov ecx, edi
movzx eax, byte [ecx]
cmp eax, 0xa
je 0x468bad
cmp eax, 0xd
jne 0x468bb7
lea eax, [ecx + 1]
cmp eax, ebx
jae 0x46b05f
cmp byte [ecx + 1], 0xa
jne 0x468c40
add ecx, 2
jmp 0x468bae
inc ecx
cmp ecx, ebx
jb 0x468b86
jmp 0x46b05f
mov eax, ebx
sub eax, ecx
cmp eax, 8
jae 0x4690ff
cmp ecx, ebx
jae 0x46b05f
cmp byte [ecx], 0x48
mov eax, 6
jne 0x468c45
lea edx, [ecx + 1]
cmp edx, ebx
jae 0x46b05f
cmp byte [ecx + 1], 0x54
jne 0x468c45
lea edx, [ecx + 2]
cmp edx, ebx
jae 0x46b05f
cmp byte [ecx + 2], 0x54
jne 0x468c45
lea edx, [ecx + 3]
cmp edx, ebx
jae 0x46b05f
cmp byte [ecx + 3], 0x50
jne 0x468c45
lea edx, [ecx + 4]
cmp edx, ebx
jae 0x46b05f
cmp byte [ecx + 4], 0x2f
jne 0x468c45
lea edx, [ecx + 5]
cmp edx, ebx
jae 0x46b05f
cmp byte [ecx + 5], 0x31
jne 0x468c45
add ecx, 6
cmp ecx, ebx
jae 0x46b05f
cmp byte [ecx], 0x2e
jne 0x468c45
jmp 0x46b05f
mov eax, 2
mov ebx, dword [esp + 0x1c]
and ebx, 0xffffff00
or ebx, eax
mov edi, dword [esp + 0xc]
cmp bl, 6
jne 0x46adba
cmp byte [esp + 0xae], 0
je 0x46adba
mov cx, 0xc8
xor eax, eax
mov dword [esp + 0x134], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x130], ecx
xor ecx, ecx
mov dword [esp + 0x138], ecx
mov ecx, dword [esp + 0xb8]
movq xmm0, qword [esp + 0xb0]
lea edx, [esp + 0x13c]
mov dword [edx + 8], ecx
movq qword [edx], xmm0
mov edx, dword [esp + 0xc8]
lea ecx, [esp + 0x1b0]
push eax
call fcn.00402ae4
add esp, 4
cmp byte [esp + 0x3b], 0
mov dword [esp + 0x1c], ebx
je 0x468d4a
mov ecx, dword [esp + 0x30]
cmp ecx, 0x65
jae 0x46b936
mov eax, dword [esp + 0x1b0]
mov edx, dword [esp + 0x1b4]
test ecx, ecx
mov dword [esp + 4], eax
je 0x468d44
mov eax, ecx
lea ebx, [esp + 0x9a0]
shl eax, 4
lea edi, [esp + eax + 0x9a0]
mov ecx, dword [ebx + 8]
mov eax, dword [ebx + 0xc]
cmp eax, ecx
jb 0x46b850
cmp eax, edx
ja 0x46b85c
sub eax, ecx
je 0x468d3d
add ecx, dword [esp + 4]
movzx esi, byte [ecx]
cmp esi, 0xd
je 0x468d36
cmp esi, 0xa
jne 0x468d39
mov byte [ecx], 0x20
inc ecx
dec eax
jne 0x468d29
add ebx, 0x10
cmp ebx, edi
jne 0x468d0b
mov edi, dword [esp + 0xc]
jmp 0x468d5c
mov eax, dword [esp + 0x1b0]
mov edx, dword [esp + 0x1b4]
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x1bc]
test bl, 1
jne 0x468d91
mov eax, dword [esp + 4]
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], edx
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xd0], 0x52cd68
jmp 0x468e17
mov ecx, dword [esp + 4]
mov eax, dword [esp + 0x1b8]
shr ebx, 5
add edx, ebx
add eax, ebx
sub ecx, ebx
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], edx
lea ecx, [esp + 0xf0]
lea edx, [esp + 0xb0]
call fcn.004030c4
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x148], ebx
mov ecx, eax
sub ecx, ebx
jb 0x46b945
mov dword [esp + 0xf8], ecx
add dword [esp + 0xf4], ebx
movq xmm0, qword [esp + 0xf0]
movsd xmm1, qword [esp + 0xf8]
movq qword [esp + 0xd0], xmm0
movsd qword [esp + 0xd8], xmm1
mov eax, dword [edi]
mov edx, dword [edi + 4]
mov dword [edi], 3
mov dword [edi + 4], 0
mov ecx, eax
xor ecx, 3
or ecx, edx
jne 0x468e83
xor eax, eax
mov ecx, 4
mov dword [esp + 0x108], 2
xor edx, edx
mov dword [esp + 0x10c], eax
mov dword [esp + 0x110], eax
mov dword [esp + 0x114], ecx
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], ecx
mov dword [esp + 0x124], eax
mov word [esp + 0x128], 0
jmp 0x468e98
mov esi, dword [esp + 0x19c]
mov ecx, 0xe
lea edi, [esp + 0xf8]
rep movsd dword es:[edi], dword [esi]
cmp byte [esp + 0x134], 2
mov esi, dword [esp + 0x30]
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], edx
sete byte [esp + 0x2f]
cmp byte [esp + 0xad], 0
je 0x468f00
xor eax, eax
mov ecx, 4
mov dword [esp + 0x68], 2
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ecx
xor ecx, ecx
mov dword [esp + 0x84], eax
mov word [esp + 0x88], 0
jmp 0x468f07
xor ecx, ecx
mov eax, 3
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x118]
mov dword [esp + 0x54], ecx
mov edx, eax
add edx, esi
jb 0x46b8cd
mov ecx, dword [esp + 0x10c]
cmp edx, ecx
jbe 0x46937a
mov dword [esp + 0x28], ecx
lea ecx, [edx - 1]
bsr ecx, ecx
xor ebx, ebx
dec ebx
not ecx
shr ebx, cl
cmp edx, 2
mov edx, 0
cmovb ebx, edx
inc ebx
je 0x46b8cd
cmp ebx, 0x8000
ja 0x46b8cd
mov ecx, dword [esp + 0x28]
test eax, eax
je 0x4692a4
mov esi, dword [esp + 0x108]
test ecx, ecx
mov dword [esp + 0x18], esi
je 0x468faf
movzx eax, word [esp + 0x128]
lea ecx, [ecx*4]
xor edi, edi
movzx eax, ax
cmp word [esi + edi*4], 0xffff
je 0x468fa9
movzx edx, word [esi + edi*4 + 2]
mov esi, eax
and esi, edx
mov edx, edi
sub edx, esi
mov esi, dword [esp + 0x18]
test edx, eax
je 0x468fb1
inc edi
add ecx, 0xfffffffc
jne 0x468f8d
xor edi, edi
lea esi, [esp + 0x238]
mov edx, ebx
mov ecx, esi
call fcn.0041c461
mov ecx, esi
call fcn.0041c402
mov ecx, dword [esp + 0x28]
dec ebx
mov dword [esp + 0x108], eax
mov dword [esp + 0x10c], edx
mov word [esp + 0x128], bx
cmp edi, ecx
ja 0x46b9ca
mov esi, dword [esp + 0x18]
lea esi, [esi + edi*4]
mov dword [esp + 0x10], esi
je 0x469060
mov esi, dword [esp + 0x18]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x14], edi
lea ecx, [esi + ecx*4]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x10]
movzx esi, word [ecx]
cmp si, 0xffff
je 0x469050
mov edi, ebx
movzx ebx, word [ecx + 2]
and edi, ebx
mov dword [esp + 4], ebx
movzx ebx, di
mov edi, ebx
xor ebx, ebx
cmp edi, edx
jae 0x469027
cmp word [eax + edi*4], 0xffff
je 0x46903b
inc edi
mov ebx, edi
jmp 0x469027
mov word [eax + edi*4], si
mov esi, dword [esp + 4]
mov ebx, dword [esp + 0x24]
mov word [eax + edi*4 + 2], si
mov edi, dword [esp + 0x14]
add ecx, 4
cmp ecx, dword [esp + 0x20]
jne 0x46900f
mov edx, dword [esp + 0x10c]
test edi, edi
je 0x4690bf
movzx eax, word [esp + 0x128]
mov ecx, dword [esp + 0x108]
mov esi, dword [esp + 0x18]
mov dword [esp + 0x20], eax
movzx edi, word [esi]
cmp di, 0xffff
je 0x4690b6
movzx eax, word [esi + 2]
movzx ebx, ax
mov word [esp + 4], ax
and ebx, dword [esp + 0x20]
mov eax, ebx
xor ebx, ebx
cmp eax, edx
jae 0x469094
cmp word [ecx + eax*4], 0xffff
je 0x4690a8
inc eax
mov ebx, eax
jmp 0x469094
movzx ebx, word [esp + 4]
mov word [ecx + eax*4], di
mov word [ecx + eax*4 + 2], bx
add esi, 4
cmp esi, dword [esp + 0x10]
jne 0x46907b
mov eax, edx
lea ecx, [esp + 0x110]
shr eax, 2
add eax, dword [esp + 0x118]
sub edx, eax
call fcn.0040fd91
cmp dword [esp + 0x28], 0
mov esi, dword [esp + 0x30]
je 0x46937a
push dword [esp + 0x18]
push 0
push dword [0x537fc8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x46937a
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
mov dword [esp + 0x20], edx
mov dword [esp + 0x10], edi
mov edi, 0x312e312f
mov dword [esp + 4], eax
xor esi, 0x50545448
xor eax, 0x302e312f
mov edx, dword [esp + 4]
mov dword [esp + 0x24], esi
xor edx, edi
or edx, esi
mov edx, 0
setne dl
or eax, esi
lea eax, [edx + edx*4 + 1]
mov edx, 0
cmove eax, edx
mov edx, dword [esp + 4]
or edx, 0x1000000
xor edx, edi
mov edi, dword [esp + 0x10]
or edx, esi
jne 0x468c45
lea eax, [ecx + 8]
cmp eax, ebx
jae 0x46b05f
mov al, byte [ecx + 8]
lea edx, [ecx + 9]
mov dword [esp + 0x58], edx
cmp al, 0x20
jne 0x4692f6
cmp byte [esp + 0x4f], 0
mov dword [esp + 0x50], edx
je 0x4691b1
mov eax, dword [esp + 0x20]
cmp edx, ebx
jae 0x46b05f
cmp byte [edx], 0x20
jne 0x4691a9
add eax, edi
sub eax, ecx
add eax, 0xfffffff6
test eax, eax
je 0x46b05f
inc edx
dec eax
cmp byte [edx], 0x20
je 0x46919a
mov dword [esp + 0x58], edx
mov dword [esp + 0x50], edx
cmp edx, ebx
jae 0x46b05f
mov cl, byte [edx]
lea esi, [edx + 1]
mov eax, 3
mov dword [esp + 0x58], esi
add cl, 0xd0
cmp cl, 9
mov byte [esp + 0x18], cl
ja 0x468c45
cmp esi, ebx
jae 0x46b05f
mov cl, byte [edx + 1]
lea esi, [edx + 2]
mov dword [esp + 0x58], esi
add cl, 0xd0
cmp cl, 9
mov byte [esp + 0x30], cl
ja 0x468c45
cmp esi, ebx
jae 0x46b05f
mov cl, byte [edx + 2]
lea esi, [edx + 3]
mov dword [esp + 0x58], esi
add cl, 0xd0
cmp cl, 0xa
mov byte [esp + 0x3c], cl
jae 0x468c45
cmp esi, ebx
jae 0x46b05f
movzx ecx, byte [esi]
mov dword [esp + 0x28], ecx
lea ecx, [esi + 1]
cmp dword [esp + 0x28], 0xa
mov dword [esp + 0x14], ecx
mov dword [esp + 0x58], ecx
je 0x46a445
mov ecx, dword [esp + 0x28]
cmp ecx, 0xd
je 0x46a44b
cmp ecx, 0x20
jne 0x468c45
cmp byte [esp + 0x4f], 0
je 0x46aa27
cmp dword [esp + 0x14], ebx
mov esi, dword [esp + 0x20]
jae 0x46b05f
mov ecx, dword [esp + 0x14]
cmp byte [ecx], 0x20
jne 0x469297
lea ecx, [edi + esi]
sub ecx, edx
add ecx, 0xfffffffb
test ecx, ecx
je 0x46b05f
mov edx, dword [esp + 0x14]
dec ecx
inc edx
cmp byte [edx], 0x20
mov dword [esp + 0x14], edx
je 0x469280
mov esi, dword [esp + 0x14]
mov dword [esp + 0x58], esi
jmp 0x46aa2b
lea esi, [esp + 0x238]
lea eax, [ebx - 1]
mov edi, ecx
mov edx, ebx
mov dword [esp + 0x24], ebx
mov ecx, esi
mov word [esp + 0x128], ax
call fcn.0041c461
mov ecx, esi
call fcn.0041c402
mov ebx, eax
mov esi, edx
test edi, edi
je 0x469308
push dword [esp + 0x108]
push 0
push dword [0x537fc8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [esp + 0x118]
mov dword [esp + 4], eax
jmp 0x469310
mov ebx, dword [esp + 0x1c]
and ebx, 0xffffff00
or ebx, 6
jmp 0x468c51
mov dword [esp + 4], 0
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x108], ebx
mov dword [esp + 0x10c], esi
mov eax, ecx
shr eax, 2
sub ecx, eax
call fcn.0041c4db
mov esi, dword [esp + 0x114]
mov ebx, edx
mov edx, dword [esp + 4]
mov edi, eax
mov ecx, esi
call fcn.0041c597
cmp dword [esp + 0x110], 0
je 0x46935d
push esi
push 0
push dword [0x537fc8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov esi, dword [esp + 0x30]
mov dword [esp + 0x110], edi
mov dword [esp + 0x114], ebx
mov dword [esp + 0x118], 0
cmp esi, 0x65
jae 0x46b8de
test esi, esi
je 0x469fed
shl esi, 4
lea ebx, [esp + 0x9a0]
lea eax, [esp + esi + 0x9a0]
mov dword [esp + 0x1a4], eax
mov eax, dword [ebx + 4]
mov edx, dword [ebx]
mov edi, eax
sub edi, edx
jb 0x46b876
mov esi, dword [esp + 0xd8]
cmp eax, esi
ja 0x46b868
add edx, dword [esp + 0xd4]
lea ecx, [esp + 0xb0]
push 0x50090a
lea eax, [esp + 0x23c]
push eax
push edi
call fcn.00419120
add esp, 0xc
movzx eax, byte [esp + 0xb8]
cmp eax, 3
je 0x46ad11
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0xb0]
mov esi, dword [esp + 0xb4]
test eax, eax
je 0x469433
cmp eax, 2
jne 0x46944b
lea ecx, [esp + 0x238]
lea esi, [esp + 0x15c]
mov dword [esp + 0x15c], 0
mov byte [esp + 0x160], bl
jmp 0x46949a
mov ecx, esi
xor edx, edx
call fcn.00436e9c
mov ecx, eax
shr ecx, 0xa
je 0x4694a3
bsr ecx, ecx
xor ecx, 0x1f
jmp 0x4694a8
mov ecx, esi
xor edx, edx
call fcn.00436e9c
mov dword [esp + 4], eax
mov edi, edx
push esi
push ebx
push edx
call fcn.004e4a90
add esp, 0xc
mov eax, dword [esp + 4]
lea edx, [esp + 0xb0]
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], edi
mov dword [esp + 0xb8], esi
lea esi, [esp + 0x15c]
mov ecx, esi
call fcn.004030c4
lea ecx, [esp + 0x238]
mov ebx, dword [esp + 0x3c]
jmp 0x4695df
mov ecx, 0x20
mov edi, 0x20
mov dword [esp + 0x18c], edx
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], eax
sub edi, ecx
mov ecx, 7
cmp edi, 7
cmovae edi, ecx
test esi, esi
lea ecx, [edi*4 + 1]
mov edi, dword [esp + 0xc]
mov dword [esp + 0x198], ecx
je 0x46953b
movzx eax, byte [ebx]
mov al, byte [eax + 0x50090a]
test al, al
je 0x46ad03
inc ebx
mov byte [esp + 0xb0], al
lea ecx, [esp + 0x18c]
lea edx, [esp + 0xb0]
push 1
call fcn.00402d7a
add esp, 4
dec esi
jne 0x4694e9
mov edx, dword [esp + 0x18c]
mov ecx, dword [esp + 0x190]
mov eax, dword [esp + 0x194]
mov ebx, dword [esp + 0x198]
jmp 0x46953f
mov ebx, ecx
xor ecx, ecx
mov edi, ebx
test bl, 1
mov ebx, dword [esp + 0x3c]
mov esi, 0x52cd68
jne 0x469553
mov eax, edi
jmp 0x4695b5
mov esi, edi
shr esi, 5
add eax, esi
sub edx, esi
add ecx, esi
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x1d8], edx
mov dword [esp + 0x1dc], ecx
lea ecx, [esp + 0xe0]
lea edx, [esp + 0x1d4]
call fcn.004030c4
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x1ac], esi
mov ecx, eax
sub ecx, esi
jb 0x46b977
mov edx, esi
mov esi, dword [esp + 0xe0]
mov eax, dword [esp + 0xec]
add edx, dword [esp + 0xe4]
mov dword [esp + 0x15c], esi
mov dword [esp + 0x160], edx
mov dword [esp + 0x164], ecx
mov dword [esp + 0x168], eax
lea ecx, [esp + 0x238]
lea esi, [esp + 0x15c]
movsd xmm0, qword [esi]
movsd xmm1, qword [esi + 8]
lea edx, [esp + 0xd0]
movsd qword [esp + 0x170], xmm0
movsd qword [esp + 0x178], xmm1
push dword [ebx + 0xc]
push dword [ebx + 8]
call fcn.004031c1
add esp, 8
mov esi, dword [esp + 0x238]
test esi, esi
je 0x46b884
mov edx, dword [esp + 0x240]
mov ecx, dword [esp + 0x244]
mov edi, dword [esp + 0x23c]
cmp dword [esp + 0x170], 0
mov dword [esp + 0x48], edx
mov dword [esp + 0xa4], ecx
jne 0x46968a
cmp byte [esp + 0x174], 0x14
jne 0x46968a
test byte [esp + 0x2f], 1
jne 0x46966c
mov ecx, edi
push 0xa
push 0x525f1c
call fcn.00420900
add esp, 8
jmp 0x46967f
mov ecx, edi
push 5
push str.closechunkedoriginal_header_value_plus_ascii_is_validC:Usersigame.cargo_registry_srcindex.crates.io_6f17d22bba15001fhyper_0.14.29_srcheaders.rs
call fcn.00420900
add esp, 8
xor al, 1
mov ecx, dword [esp + 0xa4]
mov byte [esp + 0x2f], al
mov eax, dword [esp + 0x50]
xor eax, 3
or eax, dword [esp + 0x54]
je 0x469d61
lea ecx, [esp + 0xe0]
lea edx, [esp + 0xd0]
push dword [ebx + 4]
push dword [ebx]
call fcn.004031c1
add esp, 8
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x1a0], esi
mov dword [esp + 0xcc], edi
xor ecx, 1
or ecx, dword [esp + 0x54]
jne 0x469843
movq xmm2, qword [0x4ee4a0]
movd xmm1, dword [esp + 0x6c]
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 [0x4ee4a8]
jae 0x469866
lea ecx, [esp + 0x50]
call fcn.0041906f
mov ecx, dword [esp + 0x6c]
test ecx, ecx
je 0x469739
mov eax, dword [esp + 0x68]
lea ecx, [eax + ecx*4]
mov dword [eax], 0xffff
add eax, 4
cmp eax, ecx
jne 0x46972c
mov eax, dword [esp + 0x78]
test eax, eax
je 0x469887
mov ecx, dword [esp + 0x74]
lea eax, [eax + eax*2]
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x6c]
xor edx, edx
shl eax, 4
add eax, ecx
mov dword [esp + 0x20], esi
mov dword [esp + 0x30], eax
movzx eax, word [esp + 0x88]
movzx eax, ax
mov dword [esp + 0x24], eax
lea eax, [ecx + 0x30]
mov esi, ecx
mov dword [esp + 4], edx
mov dword [esp + 0x18], eax
lea eax, [edx + 1]
lea edx, [ecx + 0x1c]
lea ecx, [esp + 0x50]
mov dword [esp + 0x14], eax
call fcn.00409e52
mov ecx, dword [esp + 0x24]
movzx edx, ax
mov word [esp + 0x10], ax
xor eax, eax
mov word [esi + 0x2c], dx
and ecx, edx
mov ebx, ecx
xor ecx, ecx
cmp ebx, edi
jae 0x4697a6
mov ecx, dword [esp + 0x20]
cmp word [ecx + ebx*4], 0xffff
je 0x4697d4
movzx esi, word [ecx + ebx*4 + 2]
mov edx, dword [esp + 0x24]
mov ecx, ebx
and esi, edx
sub ecx, esi
and ecx, edx
cmp ecx, eax
jb 0x4697e2
inc ebx
inc eax
mov ecx, ebx
jmp 0x4697a6
mov eax, dword [esp + 4]
mov edx, ebx
mov word [ecx + ebx*4], ax
mov eax, ecx
jmp 0x469825
mov eax, dword [esp + 0x20]
mov edx, ebx
xor ebx, ebx
cmp edx, edi
jae 0x4697e6
movzx ecx, word [eax + edx*4]
cmp cx, 0xffff
je 0x46981d
mov ebx, dword [esp + 4]
movzx esi, word [eax + edx*4 + 2]
mov dword [esp + 4], ecx
mov word [eax + edx*4], bx
movzx ebx, word [esp + 0x10]
mov word [esp + 0x10], si
mov word [eax + edx*4 + 2], bx
inc edx
mov ebx, edx
jmp 0x4697e6
mov ecx, dword [esp + 4]
mov word [eax + edx*4], cx
movzx ecx, word [esp + 0x10]
mov word [eax + edx*4 + 2], cx
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
cmp ecx, dword [esp + 0x30]
jne 0x469772
jmp 0x469887
mov esi, dword [esp + 0x6c]
mov ecx, esi
mov edx, esi
shr ecx, 2
sub edx, ecx
cmp eax, edx
jne 0x469887
test eax, eax
je 0x469dfd
add esi, esi
lea ecx, [esp + 0x50]
mov edx, esi
jmp 0x46987a
mov edx, dword [esp + 0x6c]
xor eax, eax
lea ecx, [esp + 0x50]
mov dword [esp + 0x54], eax
mov dword [esp + 0x50], eax
add edx, edx
call fcn.0041d376
test al, al
jne 0x46b8fe
lea ecx, [esp + 0x50]
lea edx, [esp + 0x170]
call fcn.00409e52
mov ebx, eax
mov al, byte [esp + 0x174]
movzx ecx, word [esp + 0x88]
mov edx, dword [esp + 0x68]
mov edi, dword [esp + 0x178]
mov esi, dword [esp + 0x6c]
mov dword [esp + 0x20], 0
mov dword [esp + 4], ebx
mov byte [esp + 0xaf], al
mov eax, dword [esp + 0x74]
mov dword [esp + 0x10], ecx
and ebx, ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x40], edi
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x170]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x174]
mov dword [esp + 0x44], eax
mov eax, ebx
mov ebx, eax
xor eax, eax
cmp ebx, esi
jae 0x469900
movzx edi, word [edx + ebx*4]
cmp edi, 0xffff
je 0x4699c0
movzx eax, word [edx + ebx*4 + 2]
mov ecx, dword [esp + 0x10]
mov edx, ebx
and ecx, eax
sub edx, ecx
and edx, dword [esp + 0x10]
cmp edx, dword [esp + 0x20]
jb 0x4699eb
cmp ax, word [esp + 4]
jne 0x4699ae
cmp dword [esp + 0x24], edi
jbe 0x46b826
cmp dword [esp + 0x28], 0
mov ecx, dword [esp + 0x14]
lea edx, [edi + edi*2]
sete al
shl edx, 4
mov ecx, dword [ecx + edx + 0x1c]
mov dword [esp + 0x30], edx
test ecx, ecx
setne dl
cmp dl, al
je 0x4699ae
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x30]
test ecx, ecx
lea eax, [eax + edx + 0x1c]
je 0x46999e
mov ecx, dword [esp + 0x40]
cmp dword [eax + 8], ecx
jne 0x4699ae
push dword [esp + 0x40]
push dword [esp + 0x48]
push dword [eax + 4]
call fcn.004e5584
add esp, 0xc
test eax, eax
jne 0x4699ae
jmp 0x469e9f
mov cl, byte [esp + 0xaf]
cmp byte [eax + 4], cl
je 0x469e9f
inc dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x18]
inc ebx
jmp 0x4698fe
mov edx, dword [esp + 0x28]
test edx, edx
je 0x469a36
push dword [esp + 0x40]
push dword [esp + 0x48]
lea eax, [esp + 0x184]
push eax
lea eax, [esp + 0x244]
push eax
call dword [edx]
mov ecx, dword [esp + 0x34]
add esp, 0x10
jmp 0x469a4c
cmp dword [esp + 0x20], 0x200
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x28]
setae byte [esp + 0x20]
xor eax, 2
or eax, dword [esp + 0x54]
setne byte [esp + 0x10]
test ecx, ecx
je 0x469b86
push dword [esp + 0x40]
push dword [esp + 0x48]
lea eax, [esp + 0x184]
push eax
lea eax, [esp + 0x244]
push eax
call dword [ecx]
add esp, 0x10
jmp 0x469b9c
mov eax, dword [esp + 0x44]
mov byte [esp + 0x23c], al
mov dword [esp + 0x238], 0
movsd xmm0, qword [esp + 0x238]
movsd xmm1, qword [esp + 0x240]
movsd xmm2, qword [esp + 0xe8]
mov edi, dword [esp + 4]
cmp ecx, 0x7fff
movsd qword [esp + 0x148], xmm0
movsd xmm0, qword [esp + 0xe0]
movsd qword [esp + 0x150], xmm1
movsd qword [esp + 0x160], xmm2
movsd qword [esp + 0x158], xmm0
ja 0x46b898
movsd xmm1, qword [esp + 0x150]
movsd xmm0, qword [esp + 0x148]
movsd xmm2, qword [esp + 0xe0]
cmp ecx, dword [esp + 0x70]
mov eax, ecx
movsd qword [esp + 0xb8], xmm1
movsd xmm1, qword [esp + 0xe8]
movsd qword [esp + 0xb0], xmm0
movsd qword [esp + 0x238], xmm2
movsd qword [esp + 0x240], xmm1
jne 0x469b11
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x70]
call fcn.0041d29d
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x78]
mov esi, dword [esp + 0x6c]
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x14]
lea ecx, [eax + eax*2]
inc eax
shl ecx, 4
cmp ebx, esi
mov dword [edx + ecx], 0
movsd xmm0, qword [esp + 0x238]
movsd xmm1, qword [esp + 0x240]
movsd qword [edx + ecx + 0xc], xmm0
movsd qword [edx + ecx + 0x14], xmm1
movsd xmm0, qword [esp + 0xb0]
movsd xmm1, qword [esp + 0xb8]
movsd qword [edx + ecx + 0x1c], xmm0
movsd qword [edx + ecx + 0x24], xmm1
mov word [edx + ecx + 0x2c], di
mov dword [esp + 0x78], eax
jae 0x46b836
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x24]
mov word [eax + ebx*4], cx
mov word [eax + ebx*4 + 2], di
jmp 0x469d48
mov eax, dword [esp + 0x44]
mov byte [esp + 0x23c], al
mov dword [esp + 0x238], 0
movsd xmm0, qword [esp + 0x238]
mov eax, dword [esp + 0x24]
movsd xmm1, qword [esp + 0x240]
movsd xmm2, qword [esp + 0xe8]
mov edi, dword [esp + 4]
movsd qword [esp + 0x148], xmm0
movsd xmm0, qword [esp + 0xe0]
cmp eax, 0x7fff
movsd qword [esp + 0x150], xmm1
movsd qword [esp + 0x160], xmm2
movsd qword [esp + 0x158], xmm0
ja 0x46b898
movsd xmm1, qword [esp + 0x150]
movsd xmm0, qword [esp + 0x148]
movsd xmm2, qword [esp + 0xe0]
cmp eax, dword [esp + 0x70]
movsd qword [esp + 0xb8], xmm1
movsd xmm1, qword [esp + 0xe8]
movsd qword [esp + 0xb0], xmm0
movsd qword [esp + 0x238], xmm2
movsd qword [esp + 0x240], xmm1
jne 0x469c62
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x70]
call fcn.0041d29d
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x78]
mov esi, dword [esp + 0x6c]
mov dword [esp + 0x14], ecx
mov cl, byte [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x10], 0
and byte [esp + 0x20], cl
lea ecx, [eax + eax*2]
inc eax
shl ecx, 4
mov dword [edx + ecx], 0
movsd xmm0, qword [esp + 0x238]
movsd xmm1, qword [esp + 0x240]
movsd qword [edx + ecx + 0xc], xmm0
movsd qword [edx + ecx + 0x14], xmm1
movsd xmm0, qword [esp + 0xb0]
movsd xmm1, qword [esp + 0xb8]
movsd qword [edx + ecx + 0x1c], xmm0
movsd qword [edx + ecx + 0x24], xmm1
mov word [edx + ecx + 0x2c], di
mov dword [esp + 0x78], eax
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x68]
mov edx, ebx
xor ebx, ebx
cmp edx, esi
jae 0x469cd1
movzx edi, word [eax + edx*4]
cmp di, 0xffff
je 0x469d04
movzx ebx, word [eax + edx*4 + 2]
mov word [eax + edx*4], cx
mov ecx, dword [esp + 4]
inc dword [esp + 0x10]
mov dword [esp + 4], ebx
mov word [eax + edx*4 + 2], cx
inc edx
mov ecx, edi
mov ebx, edx
jmp 0x469cd1
mov word [eax + edx*4], cx
mov ecx, dword [esp + 4]
cmp dword [esp + 0x10], 0x7f
mov bl, byte [esp + 0x20]
mov word [eax + edx*4 + 2], cx
seta bh
mov esi, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
or bl, bh
mov edx, esi
or edx, ecx
sete dl
test bl, dl
mov edx, 1
cmovne esi, edx
mov edx, 0
cmovne ecx, edx
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], ecx
mov edi, dword [esp + 0xcc]
mov ebx, dword [esp + 0x3c]
mov esi, dword [esp + 0x1a0]
mov ecx, dword [esp + 0xa4]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x238], esi
mov dword [esp + 0x23c], edi
movq xmm0, qword [esp + 0x170]
movsd xmm1, qword [esp + 0x178]
add ebx, 0x10
lea edx, [esp + 0xb0]
mov dword [esp + 0x240], eax
movzx eax, word [esp + 0x158]
mov dword [esp + 0x244], ecx
lea ecx, [esp + 0x244]
mov byte [esp + 0x248], 0
movsd qword [esp + 0xb8], xmm1
movq qword [esp + 0xb0], xmm0
mov word [ecx + 5], ax
mov al, byte [esp + 0x15a]
mov byte [ecx + 7], al
lea eax, [esp + 0x238]
lea ecx, [esp + 0xf0]
push eax
call fcn.0040abfa
add esp, 4
cmp ebx, dword [esp + 0x1a4]
jne 0x4693a3
jmp 0x469fed
lea edi, [esp + 0x238]
mov edx, 8
mov word [esp + 0x88], 7
mov ecx, edi
call fcn.0041c461
mov ecx, edi
call fcn.0041c402
mov edi, eax
mov ebx, edx
test esi, esi
je 0x469e3b
push dword [esp + 0x68]
push 0
push dword [0x537fc8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], ebx
mov ecx, 0x120
mov edx, 4
mov al, byte [0x538038]
call fcn.00439850
test eax, eax
je 0x46b9e7
mov edi, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
mov esi, eax
mov ecx, edi
call fcn.0041d339
cmp dword [esp + 0x70], 0
je 0x469e86
push edi
push 0
push dword [0x537fc8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [esp + 0x70], 6
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], 0
jmp 0x469887
movsd xmm0, qword [esp + 0xe0]
movsd xmm1, qword [esp + 0xe8]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x30]
movsd qword [esp + 0x240], xmm1
movsd qword [esp + 0x238], xmm0
lea ecx, [eax + edx]
cmp dword [eax + edx], 0
mov dword [esp + 4], ecx
je 0x469f74
mov ebx, dword [esp + 0x84]
mov esi, dword [ecx + 8]
cmp ebx, dword [esp + 0x7c]
mov edx, ebx
jne 0x469f00
lea ecx, [esp + 0x7c]
mov edx, ebx
call fcn.0041d205
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x80]
mov ecx, edx
inc edx
shl ecx, 5
cmp edx, esi
mov dword [eax + ecx], 1
mov dword [eax + ecx + 4], esi
mov dword [eax + ecx + 8], 0
mov dword [eax + ecx + 0xc], edi
movsd xmm0, qword [esp + 0x238]
movsd xmm1, qword [esp + 0x240]
movsd qword [eax + ecx + 0x10], xmm0
movsd qword [eax + ecx + 0x18], xmm1
mov dword [esp + 0x84], edx
jbe 0x46b844
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 4]
shl esi, 5
xor ecx, ecx
inc ecx
mov dword [eax + esi + 8], ecx
mov dword [eax + esi + 0xc], ebx
mov dword [edx], ecx
mov dword [edx + 8], ebx
jmp 0x469d48
mov esi, dword [esp + 0x84]
cmp esi, dword [esp + 0x7c]
mov eax, esi
jne 0x469f95
lea ecx, [esp + 0x7c]
mov edx, esi
call fcn.0041d205
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x80]
mov ecx, eax
xor ebx, ebx
inc eax
shl ecx, 5
mov dword [edx + ecx], ebx
mov dword [edx + ecx + 4], edi
mov dword [edx + ecx + 8], ebx
mov dword [edx + ecx + 0xc], edi
movsd xmm0, qword [esp + 0x238]
movsd xmm1, qword [esp + 0x240]
movsd qword [edx + ecx + 0x10], xmm0
movsd qword [edx + ecx + 0x18], xmm1
mov ecx, dword [esp + 4]
mov dword [esp + 0x84], eax
mov dword [ecx], 1
mov dword [ecx + 4], esi
mov dword [ecx + 8], esi
jmp 0x469d48
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x54]
xor esi, 3
mov dword [esp + 0x24], edi
mov eax, esi
mov dword [esp + 0x20], esi
or eax, edi
je 0x46a11f
mov al, byte [0x538038]
mov ecx, 0x10
mov edx, 4
call fcn.00439850
test eax, eax
je 0x46b8ef
movq xmm0, qword [0x52c378]
movsd xmm1, qword [0x52c370]
xor ecx, ecx
mov ebx, eax
movq qword [eax + 8], xmm0
movsd qword [eax], xmm1
call fcn.0041fe38
mov al, byte [0x538038]
mov ecx, 0x40
mov edx, 8
call fcn.00439850
test eax, eax
je 0x46b9d8
mov ecx, 0x10
mov edi, eax
lea esi, [esp + 0x50]
mov edx, 0x9787b731
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 4], ebx
mov ecx, ebx
push 0x501b74
push eax
push 0xdfc4686c
push 0x5551f27e
push 0xe6d051e2
call fcn.0041c1cd
add esp, 0x14
test eax, eax
je 0x46a1cf
mov ebx, eax
mov esi, edx
push eax
lea eax, [esp + 0x22c]
push eax
call dword [edx + 0xc]
add esp, 8
movdqu xmm0, xmmword [esp + 0x228]
pcmpeqb xmm0, xmmword [0x4ee5f0]
pmovmskb eax, xmm0
cmp eax, 0xffff
jne 0x46a1ab
mov ecx, 0x10
lea edi, [esp + 0x238]
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
push ebx
push 0
push dword [0x537fc8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [esp + 0x238]
xor eax, 3
or eax, dword [esp + 0x23c]
je 0x46a1cf
lea eax, [esp + 0x238]
push eax
call fcn.0041fe56
add esp, 4
jmp 0x46a1cf
cmp dword [esp + 0x138], 0
setne bl
je 0x46a198
movq xmm0, qword [esp + 0x138]
movsd xmm1, qword [esp + 0x140]
mov ecx, 0x10
mov edx, 4
movsd qword [esp + 0x1c8], xmm1
movq qword [esp + 0x1c0], xmm0
mov al, byte [0x538038]
call fcn.00439850
test eax, eax
je 0x46b8ef
movq xmm0, qword [0x52c378]
movsd xmm1, qword [0x52c370]
xor ecx, ecx
mov dword [esp + 4], eax
movq qword [eax + 8], xmm0
movsd qword [eax], xmm1
call fcn.0041fe38
mov al, 1
mov dword [esp + 0x18], eax
jmp 0x46a20c
mov al, 1
mov dword [esp + 4], 0
mov dword [esp + 0x18], eax
jmp 0x46a323
push ebx
call dword [esi]
add esp, 4
cmp dword [esi + 4], 0
je 0x46a1cf
cmp dword [esi + 8], 9
jb 0x46a1c0
mov ebx, dword [ebx - 4]
push ebx
push 0
push dword [0x537fc8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [esp + 0x138], 0
setne bl
je 0x46a31b
movq xmm0, qword [esp + 0x138]
movsd xmm1, qword [esp + 0x140]
mov dword [esp + 0x18], 0
movsd qword [esp + 0x1c8], xmm1
movq qword [esp + 0x1c0], xmm0
mov al, byte [0x538038]
mov ecx, 0x10
mov edx, 4
call fcn.00439850
test eax, eax
je 0x46b8ef
movq xmm0, qword [esp + 0x1c0]
movsd xmm1, qword [esp + 0x1c8]
mov ecx, dword [esp + 4]
mov edx, 0x7f1fa081
movsd qword [eax + 8], xmm1
movq qword [eax], xmm0
push 0x501b64
push eax
push 0x5ba20045
push 0x4f1b901d
push 0x2cf3cb4b
call fcn.0041c1cd
add esp, 0x14
test eax, eax
je 0x46a317
mov esi, eax
mov edi, edx
push eax
lea eax, [esp + 0x21c]
push eax
call dword [edx + 0xc]
add esp, 8
movdqu xmm0, xmmword [esp + 0x218]
pcmpeqb xmm0, xmmword [0x4ee600]
pmovmskb eax, xmm0
cmp eax, 0xffff
jne 0x46a2f3
movq xmm0, qword [esi]
movsd xmm1, qword [esi + 8]
movsd qword [esp + 0x240], xmm1
movq qword [esp + 0x238], xmm0
push esi
push 0
push dword [0x537fc8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [esp + 0x238]
test eax, eax
je 0x46a317
push dword [esp + 0x240]
push dword [esp + 0x240]
lea ecx, [esp + 0x24c]
push ecx
call dword [eax + 0xc]
add esp, 0xc
jmp 0x46a317
push esi
call dword [edi]
add esp, 4
cmp dword [edi + 4], 0
je 0x46a317
cmp dword [edi + 8], 9
jb 0x46a308
mov esi, dword [esi - 4]
push esi
push 0
push dword [0x537fc8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
xor edx, edx
jmp 0x46a325
mov dword [esp + 0x18], 0
mov dl, 1
lea edi, [esp + 0x238]
mov ecx, 0x10
lea esi, [esp + 0xf0]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x134]
mov ecx, dword [esp + 4]
mov byte [esp + 0x27e], al
mov eax, dword [esp + 0x130]
mov word [esp + 0x27c], ax
movzx eax, ax
mov dword [esp + 0x278], ecx
cmp eax, 0x64
jg 0x46a372
mov edi, dword [esp + 0xc]
je 0x46a3a2
jmp 0x46a395
mov edi, dword [esp + 0xc]
cmp eax, 0x65
je 0x46ae29
cmp eax, 0xcc
je 0x46add7
cmp eax, 0x130
je 0x46add7
lea ecx, [eax - 0x66]
cmp cx, 0x62
jae 0x46aedd
cmp dword [edi + 0xec], 0
je 0x46adfe
lea ecx, [esp + 0x238]
call fcn.0040f7d4
mov ecx, dword [esp + 0x278]
call fcn.0041fe38
mov eax, dword [esp + 0x24]
or dword [esp + 0x20], eax
jne 0x46a3eb
mov eax, dword [esp + 0x50]
xor eax, 3
or eax, dword [esp + 0x54]
je 0x46a3eb
lea eax, [esp + 0x50]
push eax
call fcn.0041fe56
add esp, 4
mov eax, dword [esp + 0xd0]
push dword [esp + 0xd8]
push dword [esp + 0xd8]
lea ecx, [esp + 0xe4]
push ecx
call dword [eax + 0xc]
add esp, 0xc
mov eax, dword [esp + 0x138]
test eax, eax
sete cl
or bl, cl
jne 0x46a43a
push dword [esp + 0x140]
push dword [esp + 0x140]
lea ecx, [esp + 0x14c]
push ecx
call dword [eax + 0xc]
add esp, 0xc
mov edx, dword [edi + 0xec]
jmp 0x468b6c
mov esi, dword [esp + 0x14]
jmp 0x46a467
cmp dword [esp + 0x14], ebx
jae 0x46b05f
mov al, byte [esi + 1]
add esi, 2
mov dword [esp + 0x58], esi
cmp al, 0xa
jne 0x46aa15
mov dword [esp + 0x50], esi
mov dword [esp + 0x28], 0
mov dword [esp + 0x40], str.C:Usersigame.cargo_registry_srcindex.crates.io_6f17d22bba15001fzip_0.6.6_src_aes.rs0
cmp esi, ebx
mov dword [esp + 0x14], esi
jae 0x46b05f
movzx eax, byte [esp + 0x18]
movzx ecx, byte [esp + 0x30]
movzx edx, byte [esp + 0x3c]
mov esi, ebx
mov dword [esp + 0x30], 0
imul eax, eax, 0x64
add ecx, ecx
add edx, eax
mov eax, dword [esp + 0x14]
lea ecx, [ecx + ecx*4]
add edx, ecx
and edx, 0x3ff
mov dword [esp + 0x130], edx
mov edi, dword [esp + 0x30]
cmp byte [esp + 0xac], 0
mov edx, edi
setne cl
shl edx, 4
test edi, edi
sete ch
lea edx, [esp + edx + 0x238]
and ch, cl
mov dword [esp + 0xa4], edx
mov byte [esp + 0x48], ch
mov ecx, eax
movzx eax, byte [ecx]
lea edi, [ecx + 1]
cmp eax, 0xa
je 0x46ab18
cmp eax, 0xd
je 0x46ab24
cmp byte [eax + 0x500e0c], 0
je 0x46a642
mov eax, esi
mov dword [esp + 0x44], ecx
sub eax, edi
cmp eax, 4
jae 0x46a609
mov dword [esp + 0x18], esi
mov esi, eax
neg esi
xor ecx, ecx
dec ecx
lea edx, [esi + ecx]
cmp edx, 0xffffffff
je 0x46a546
movzx edx, byte [edi + ecx + 1]
inc ecx
cmp byte [edx + 0x500e0c], 0
jne 0x46a52d
mov eax, ecx
mov esi, dword [esp + 0x18]
add edi, eax
cmp edi, esi
mov dword [esp + 0x3c], edi
jae 0x46b05f
mov ecx, dword [esp + 0x3c]
mov al, byte [ecx]
lea edi, [ecx + 1]
mov dword [esp + 0x50], edi
cmp al, 0x3a
jne 0x46a683
cmp edi, esi
jae 0x46b05f
mov ecx, dword [esp + 0x50]
mov eax, edi
mov dword [esp + 0x18], edi
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esp + 0x58], edi
cmp edx, 0x20
je 0x46a593
cmp edx, 9
jne 0x46a59b
mov eax, edi
mov dword [esp + 0x18], edi
jmp 0x46a5fa
cmp byte [edx + 0x500f80], 0
jne 0x46a735
cmp edx, 0xa
je 0x46a5d2
cmp edx, 0xd
jne 0x46a8b0
cmp edi, esi
jae 0x46b162
mov dl, byte [eax + 1]
add eax, 2
mov dword [esp + 0x58], eax
cmp dl, 0xa
je 0x46a5d4
jmp 0x46aca2
mov eax, edi
cmp byte [esp + 0x3b], 0
je 0x46a946
cmp eax, esi
jae 0x46b059
movzx edx, byte [eax]
cmp edx, 9
je 0x46a5f8
cmp edx, 0x20
jne 0x46a946
mov edi, ecx
cmp eax, esi
mov ecx, edi
jb 0x46a57f
jmp 0x46b05b
mov eax, dword [edi]
mov dword [esp + 0xf0], eax
xor eax, eax
dec eax
cmp eax, 3
je 0x46a631
movzx ecx, byte [esp + eax + 0xf1]
inc eax
cmp byte [ecx + 0x500e0c], 0
jne 0x46a615
jmp 0x46a54a
add edi, 4
mov eax, esi
sub eax, edi
cmp eax, 4
jae 0x46a609
jmp 0x46a522
cmp byte [esp + 0x48], 0
je 0x46a6b1
cmp eax, 0x20
je 0x46a653
cmp eax, 9
jne 0x46a6b1
cmp edi, esi
jae 0x46a89d
mov ecx, dword [esp + 0x58]
mov eax, esi
sub eax, edi
movzx edx, byte [edi]
cmp edx, 0x20
je 0x46a670
cmp edx, 9
jne 0x46a67a
inc edi
dec eax
mov ecx, edi
jne 0x46a663
mov ecx, edi
mov edi, esi
mov dword [esp + 0x58], ecx
jmp 0x46a89d
cmp byte [esp + 0xab], 0
je 0x46a6e4
cmp al, 0x20
je 0x46a699
movzx ecx, al
cmp ecx, 9
jne 0x46a6e4
cmp edi, esi
jae 0x46b04b
mov al, byte [edi]
inc edi
cmp al, 0x3a
jne 0x46a68d
mov dword [esp + 0x50], edi
jmp 0x46a56d
cmp byte [esp + 0x2e], 0
je 0x46ab0a
mov ecx, dword [esp + 0x58]
test al, al
je 0x46aa99
movzx eax, al
cmp eax, 0xa
je 0x46a67a
cmp eax, 0xd
je 0x46a715
cmp edi, esi
jae 0x46b053
mov al, byte [edi]
inc edi
mov ecx, edi
jmp 0x46a6c0
cmp byte [esp + 0x2e], 0
je 0x46ab0a
test al, al
je 0x46ab06
movzx eax, al
cmp eax, 0xa
je 0x46a899
cmp eax, 0xd
je 0x46a719
cmp edi, esi
jae 0x46b04d
mov al, byte [edi]
inc edi
jmp 0x46a6ef
mov dword [esp + 0x58], ecx
cmp edi, esi
jae 0x46b05f
mov al, byte [edi]
inc edi
mov dword [esp + 0x58], edi
cmp al, 0xa
je 0x46a89d
jmp 0x46ab0a
mov dword [esp + 0x50], ecx
mov cl, byte [0x537f58]
test cl, cl
jne 0x46a77f
mov eax, dword [0x538030]
test eax, eax
je 0x46a885
and eax, 0x8000
xor edx, edx
mov cl, 1
or eax, edx
jne 0x46a779
mov eax, dword [0x538030]
test eax, eax
je 0x46a88f
and eax, 0x800
xor ecx, ecx
or eax, ecx
sete cl
or cl, 2
mov byte [0x537f58], cl
cmp cl, 1
je 0x46a802
movzx eax, cl
cmp eax, 2
jne 0x46a7a1
lea ecx, [esp + 0x50]
call fcn.0041cc34
jmp 0x46a80b
inc edi
jmp 0x46a79d
add edi, 4
mov dword [esp + 0x58], edi
mov eax, esi
sub eax, edi
cmp eax, 4
jb 0x46a7f0
mov ecx, dword [edi]
lea eax, [ecx - 0x20202020]
lea edx, [ecx + 0x1010101]
or eax, edx
or eax, ecx
and eax, 0x80808080
je 0x46a79a
mov dword [esp + 0xf0], eax
xor eax, eax
dec eax
cmp eax, 3
je 0x46b9f6
cmp byte [esp + eax + 0xf1], 0
lea ecx, [eax + 1]
mov eax, ecx
je 0x46a7cd
add edi, ecx
cmp ecx, 4
mov dword [esp + 0x58], edi
je 0x46a7a1
cmp edi, esi
jae 0x46a80b
movzx eax, byte [edi]
cmp byte [eax + 0x500f80], 0
jne 0x46a797
jmp 0x46a80b
lea ecx, [esp + 0x50]
call fcn.0041cd1b
mov esi, dword [esp + 0x54]
mov ecx, dword [esp + 0x58]
cmp ecx, esi
jae 0x46b05f
movzx eax, byte [ecx]
lea edi, [ecx + 1]
mov dword [esp + 0x58], edi
cmp eax, 0xa
je 0x46a855
cmp eax, 0xd
jne 0x46a909
cmp edi, esi
jae 0x46b05f
mov al, byte [ecx + 1]
add ecx, 2
mov edx, 0xfffffffe
mov edi, ecx
mov dword [esp + 0x58], ecx
cmp al, 0xa
je 0x46a858
jmp 0x46acc7
xor edx, edx
dec edx
cmp byte [esp + 0x3b], 0
je 0x46a992
cmp edi, esi
jae 0x46b05f
movzx eax, byte [edi]
cmp eax, 9
je 0x46a739
cmp eax, 0x20
je 0x46a739
jmp 0x46a992
call fcn.004ec6a0
jmp 0x46a750
call fcn.004ec6a0
jmp 0x46a76a
mov dword [esp + 0x58], edi
cmp edi, esi
mov ecx, edi
mov dword [esp + 0x50], edi
jb 0x46a4ec
jmp 0x46b05f
cmp byte [esp + 0x2e], 0
mov dword [esp + 0x50], ecx
je 0x46acc7
mov eax, dword [esp + 0x58]
test dl, dl
je 0x46acc3
movzx ecx, dl
cmp ecx, 0xa
je 0x46a8e7
cmp ecx, 0xd
je 0x46a8ed
cmp edi, esi
jae 0x46b196
mov dl, byte [edi]
inc edi
mov eax, edi
jmp 0x46a8c3
mov dword [esp + 0x58], eax
jmp 0x46a89d
mov dword [esp + 0x58], eax
cmp edi, esi
jae 0x46b05f
mov al, byte [edi]
inc edi
mov dword [esp + 0x58], edi
cmp al, 0xa
je 0x46a89d
jmp 0x46acc7
cmp byte [esp + 0x2e], 0
je 0x46acc7
mov ecx, dword [esp + 0x58]
test al, al
je 0x46acf6
movzx eax, al
cmp eax, 0xa
je 0x46a67a
cmp eax, 0xd
je 0x46a940
cmp edi, esi
jae 0x46b053
mov al, byte [edi]
inc edi
mov ecx, edi
jmp 0x46a918
mov dword [esp + 0x58], ecx
jmp 0x46a8f1
cmp dword [esp + 0x30], 0x64
mov dword [esp + 0x50], eax
je 0x46acef
mov edx, dword [esp + 0x44]
mov edi, dword [esp + 0x3c]
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x48], 0
sub edi, edx
mov dword [ecx], edx
mov dword [ecx + 4], edi
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x48]
inc dword [esp + 0x30]
cmp eax, esi
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], edi
jb 0x46a4bd
jmp 0x46b05f
mov eax, dword [esp + 0x50]
cmp dword [esp + 0x30], 0x64
mov dword [esp + 0x50], edi
mov dword [esp + 0x18], eax
je 0x46acef
mov eax, dword [esp + 0x3c]
add edx, edi
sub eax, dword [esp + 0x44]
sub edx, dword [esp + 0x18]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x48], edx
je 0x46a9e5
mov ecx, dword [esp + 0x48]
mov edx, 0x800013
mov eax, dword [esp + 0x18]
movzx eax, byte [eax + ecx - 1]
add eax, 0xfffffff7
cmp eax, 0x17
ja 0x46aa03
bt edx, eax
jae 0x46aa03
dec ecx
jne 0x46a9ca
jmp 0x46a9ed
mov dword [esp + 0x48], 0
mov eax, edi
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0x44]
mov edi, dword [esp + 0x3c]
jmp 0x46a96e
cmp ecx, dword [esp + 0x48]
ja 0x46ba5c
mov eax, edi
mov dword [esp + 0x48], ecx
jmp 0x46a9ef
mov ebx, dword [esp + 0x1c]
and ebx, 0xffffff00
or ebx, 3
jmp 0x468c51
mov esi, dword [esp + 0x14]
cmp esi, ebx
mov dword [esp + 0x50], esi
jae 0x46b05f
mov edi, ebx
xor edx, edx
mov dword [esp + 0x40], esi
sub edi, esi
mov cl, byte [esi]
mov dword [esp + 0x28], esi
inc esi
mov byte [esp + 0x14], cl
movzx ecx, cl
cmp ecx, 0xc
jg 0x46aa60
cmp ecx, 9
je 0x46aa81
cmp ecx, 0xa
jne 0x46aa6a
jmp 0x46aa9f
cmp ecx, 0x20
je 0x46aa81
cmp ecx, 0xd
je 0x46aaad
cmp byte [esp + 0x14], 0
js 0x46aa81
mov cl, byte [esp + 0x14]
add cl, 0xdf
cmp cl, 0x5d
ja 0x468c45
cmp byte [esp + 0x14], 0
movzx edx, dl
mov ecx, 1
cmovs edx, ecx
dec edi
jne 0x46aa41
jmp 0x46b01d
mov dword [esp + 0x58], ecx
jmp 0x46ab0a
mov ecx, dword [esp + 0x40]
mov edi, dword [esp + 0x28]
mov dword [esp + 0x58], esi
jmp 0x46aae0
cmp esi, ebx
mov dword [esp + 0x58], esi
jae 0x46b05f
mov esi, dword [esp + 0x28]
mov cl, byte [esi + 1]
add esi, 2
mov dword [esp + 0x14], esi
mov dword [esp + 0x58], esi
cmp cl, 0xa
mov ecx, dword [esp + 0x40]
jne 0x468c45
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x14]
sub edi, ecx
test dl, 1
mov eax, 0
mov edx, str.C:Usersigame.cargo_registry_srcindex.crates.io_6f17d22bba15001fzip_0.6.6_src_aes.rs0
mov dword [esp + 0x50], esi
cmovne edi, eax
cmovne ecx, edx
mov dword [esp + 0x28], edi
mov dword [esp + 0x40], ecx
jmp 0x46a47b
mov dword [esp + 0x58], edi
mov eax, dword [esp + 0x34]
and eax, 0xffffff00
jmp 0x46acd3
mov edx, dword [esp + 0x14]
sub edi, edx
mov eax, edi
mov ecx, edi
jmp 0x46ab48
cmp edi, esi
jae 0x46b05f
mov al, byte [ecx + 1]
add ecx, 2
mov dword [esp + 0x58], ecx
cmp al, 0xa
jne 0x46aca8
mov edx, dword [esp + 0x14]
mov esi, ecx
sub ecx, edx
mov eax, ecx
and eax, 0xffffff00
mov esi, dword [esp + 0x20]
movzx ecx, cl
or ecx, eax
mov dword [esp + 0x34], ecx
sub esi, ebx
add esi, edx
add esi, ecx
mov ecx, dword [esp + 0x130]
mov dword [esp + 0x1c], esi
movzx eax, cx
add eax, 0xfffffc18
movzx eax, ax
cmp eax, 0xfc7c
jb 0x46b19f
call fcn.00417660
mov edi, dword [esp + 0x28]
test eax, eax
je 0x46aba8
cmp edi, edx
jne 0x46aba8
push edi
push eax
push dword [esp + 0x48]
call fcn.004e5584
add esp, 0xc
test eax, eax
je 0x46acb6
mov ecx, edi
xor edx, edx
call fcn.00436e9c
mov ebx, eax
mov esi, edx
push edi
push dword [esp + 0x44]
push edx
call fcn.004e4a90
add esp, 0xc
lea ecx, [esp + 0x50]
lea edx, [esp + 0xf0]
mov dword [esp + 0xf0], ebx
mov dword [esp + 0xf4], esi
mov dword [esp + 0xf8], edi
call fcn.004030c4
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x30]
xor eax, 0x312e312f
or dword [esp + 0x24], eax
sete al
cmp ecx, 0x64
mov edi, eax
mov eax, 0x64
cmovb eax, ecx
test eax, eax
je 0x46ac69
shl eax, 4
xor ecx, ecx
mov edx, dword [esp + ecx + 0x23c]
cmp edx, 0xffff
ja 0x46b16b
mov esi, dword [esp + ecx + 0x238]
mov ebx, dword [esp + 0x10]
sub esi, ebx
add edx, esi
mov dword [esp + ecx + 0x9a0], esi
mov esi, dword [esp + ecx + 0x240]
mov dword [esp + ecx + 0x9a4], edx
sub esi, ebx
mov ebx, dword [esp + ecx + 0x244]
mov dword [esp + ecx + 0x9a8], esi
add ebx, esi
mov dword [esp + ecx + 0x9ac], ebx
add ecx, 0x10
cmp eax, ecx
jne 0x46ac12
mov eax, edi
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x50]
mov edi, dword [esp + 0xc]
inc al
mov dword [esp + 0x134], eax
lea eax, [esp + 0x54]
movsd xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0xb8], eax
mov eax, ebx
movsd qword [esp + 0xb0], xmm0
jmp 0x468c8e
mov dword [esp + 0x50], ecx
jmp 0x46acc7
mov eax, dword [esp + 0x34]
and eax, 0xffffff00
or eax, 2
jmp 0x46acd3
mov dword [esp + 0x50], 0
jmp 0x46abe8
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x34]
and eax, 0xffffff00
or eax, 1
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0xc]
mov dword [esp + 0x34], eax
movzx eax, al
and ebx, 0xffffff00
or ebx, eax
jmp 0x468c55
mov eax, 5
jmp 0x46acd3
mov dword [esp + 0x58], ecx
jmp 0x46acc7
xor eax, eax
jmp 0x46b0f8
lea ecx, [esp + 0x18c]
call fcn.00402d4e
jmp 0x46ad15
mov edi, dword [esp + 0xc]
xor ebx, ebx
mov al, 1
xor edx, edx
mov cl, 1
mov dword [esp + 4], 4
mov byte [esp + 0xb], 0xb
test al, al
mov dword [esp + 0x10], ecx
je 0x46ad50
mov eax, dword [esp + 0x50]
xor eax, 3
or eax, dword [esp + 0x54]
je 0x46ad50
lea eax, [esp + 0x50]
push eax
mov esi, edx
call fcn.0041fe56
mov edx, esi
add esp, 4
test dl, dl
jne 0x46ad60
lea ecx, [esp + 0xf0]
call fcn.0040f7d4
mov eax, dword [esp + 0xd0]
push dword [esp + 0xd8]
push dword [esp + 0xd8]
lea ecx, [esp + 0xe4]
push ecx
call dword [eax + 0xc]
add esp, 0xc
cmp byte [esp + 0x10], 0
je 0x46adb1
mov eax, dword [esp + 0x138]
test eax, eax
je 0x46adb1
push dword [esp + 0x140]
push dword [esp + 0x140]
lea ecx, [esp + 0x14c]
push ecx
call dword [eax + 0xc]
add esp, 0xc
mov esi, dword [esp + 4]
jmp 0x46b06a
movsx eax, bl
mov dword [esp + 0x1c], ebx
xor ebx, ebx
mov al, byte [eax + 0x52f33c]
mov byte [esp + 0xb], al
mov esi, 4
jmp 0x46b06a
mov dword [esp + 0x10], edx
mov dword [esp + 0xa0], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0x94], 0
jmp 0x46ae4c
mov dword [esp + 0x10], edx
xor ebx, ebx
mov dword [esp + 4], 3
lea ecx, [esp + 0x238]
call fcn.0040f7d4
mov ecx, dword [esp + 0x278]
call fcn.0041fe38
jmp 0x46aece
mov dword [esp + 0x10], edx
mov al, 1
mov dword [esp + 0xa0], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x238]
movzx ecx, word [esp + 0x241]
mov ebx, dword [esp + 0x23c]
mov dword [esp + 4], eax
mov al, byte [esp + 0x240]
mov byte [esp + 0xb], al
movzx eax, byte [esp + 0x243]
shl eax, 0x10
or ecx, eax
mov dword [esp + 0x98], ecx
push 0x3a
lea eax, [esp + 0x248]
push eax
lea eax, [esp + 0x934]
push eax
call fcn.004e4a90
add esp, 0xc
mov al, byte [esp + 0x27e]
mov cl, byte [esp + 0x2f]
mov byte [esp + 0x4e], al
mov al, byte [esp + 0x27f]
mov byte [esp + 0xaa], al
mov eax, dword [esp + 0x94]
xor al, 1
and cl, al
mov byte [esp + 0xa9], cl
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov dl, 1
jmp 0x46ad2a
movzx ecx, byte [edi + 0x80]
mov dword [esp + 0x10], edx
cmp ecx, 0xb
je 0x46af0a
cmp ecx, 5
je 0x46addb
cmp ecx, 7
jne 0x46af0a
add eax, 0xffffff38
cmp ax, 0x64
jb 0x46ae2d
lea esi, [esp + 0x238]
xor eax, eax
lea edx, [esp + 0xb0]
mov dword [esp + 0xb4], 0x45
mov ecx, esi
mov dword [esp + 0xbc], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xb0], eax
call fcn.0040a94a
test al, al
je 0x46af63
cmp byte [esp + 0x27e], 1
jne 0x46afa5
xor ebx, ebx
mov dword [esp + 4], 4
mov byte [esp + 0xb], 2
jmp 0x46ae0c
lea ecx, [esp + 0x200]
mov edx, esi
call fcn.00420ad8
cmp dword [esp + 0x200], 1
jne 0x46afd7
mov eax, dword [esp + 0x20c]
mov ecx, dword [esp + 0x208]
xor ebx, ebx
cmp ecx, 0xfffffffe
mov edx, eax
sbb edx, 0xffffffff
jae 0x46b023
mov dword [esp + 0xa0], ecx
jmp 0x46b03f
lea ecx, [esp + 0x238]
call fcn.00421617
movzx eax, al
mov dword [esp + 0x94], 0
not eax
mov dword [esp + 0xa0], eax
xor eax, eax
dec eax
mov dword [esp + 0x9c], eax
jmp 0x46ae4c
xor ebx, ebx
mov ecx, esi
lea edx, [esp + 0xb0]
mov dword [esp + 0xb4], 0x18
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xb0], ebx
call fcn.0040a94a
test al, al
je 0x46b035
mov dword [esp + 4], 4
mov byte [esp + 0xb], 1
jmp 0x46ae0c
mov dword [esp + 0x58], ebx
jmp 0x46b05f
mov dword [esp + 4], 4
mov byte [esp + 0xb], 9
jmp 0x46ae0c
xor eax, eax
dec eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0x9c], eax
jmp 0x46adf1
mov edi, esi
mov dword [esp + 0x58], edi
jmp 0x46b05f
mov dword [esp + 0x58], ecx
jmp 0x46b05f
mov edi, ecx
mov dword [esp + 0x50], edi
mov edi, dword [esp + 0xc]
xor ebx, ebx
mov esi, 3
mov eax, dword [esp + 0x1e8]
cmp eax, 2
je 0x46b0b2
test eax, eax
je 0x46b095
mov eax, dword [esp + 0x1f0]
mov ecx, dword [esp + 0x1ec]
mov edx, dword [eax + 8]
dec edx
and edx, 0xfffffff8
lea ecx, [edx + ecx + 8]
jmp 0x46b0a3
mov ecx, dword [esp + 0x1ec]
mov eax, dword [esp + 0x1f0]
lea edx, [esp + 0x1e0]
push edx
push ecx
call dword [eax + 0x34]
add esp, 8
lea ecx, [esp + 0x1e0]
call fcn.0040bd24
mov eax, esi
xor eax, 4
or eax, ebx
je 0x46b221
push 0x3a
lea eax, [esp + 0x930]
push eax
lea eax, [esp + 0x96e]
push eax
call fcn.004e4a90
mov eax, esi
add esp, 0xc
xor eax, 3
or eax, ebx
jne 0x46b231
mov eax, dword [edi + 0xec]
xor ecx, ecx
cmp byte [edi + 0xd0], 0
sete cl
cmp eax, dword [edi + ecx*4 + 0xd4]
jae 0x46b1d6
mov edx, dword [esp + 0x1a8]
lea ecx, [esp + 0x9a0]
push dword [esp + 0x188]
call fcn.00481c4d
add esp, 4
xor ebx, ebx
cmp byte [esp + 0x9a0], 5
je 0x46b1df
mov ecx, dword [esp + 0x9a0]
mov eax, dword [esp + 0x9a4]
cmp cl, 4
jne 0x46b1e6
test eax, eax
jne 0x468b48
jmp 0x46b21a
mov dword [esp + 0x50], ecx
jmp 0x46b05f
mov eax, dword [esp + 0x50]
test eax, eax
je 0x46b186
push dword [esp + 0x58]
push dword [esp + 0x58]
lea ecx, [esp + 0x64]
push ecx
call dword [eax + 0xc]
add esp, 0xc
xor ebx, ebx
mov byte [esp + 0xb], 9
mov edi, dword [esp + 0xc]
jmp 0x46adcd
mov dword [esp + 0x58], eax
jmp 0x46b05f
xor ebx, ebx
mov byte [esp + 0xb], 0xa
jmp 0x46b18d
xor edx, edx
mov byte [edi + 0x130], 1
mov dword [edi + 0x40], 4
mov dword [edi + 0x44], edx
mov dword [edi + 0x64], edx
mov dword [edi + 0x60], 5
mov byte [edi + 0xa4], 2
xor eax, eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor ecx, ecx
mov edx, 9
jmp 0x46b228
mov edx, 4
jmp 0x46b211
lea esi, [esp + 0x238]
mov dword [esi], ecx
mov ecx, 6
mov dword [esi + 4], eax
call fcn.0041ebae
mov ecx, eax
mov edx, esi
mov dword [esp + 0x98], eax
call fcn.0041ec9f
mov edx, 3
mov dword [esp + 0x94], eax
jmp 0x46b265
mov ecx, 2
jmp 0x46b228
movzx edx, byte [esp + 0xb]
xor ecx, ecx
call fcn.0041ebae
mov ecx, eax
jmp 0x46b281
mov ecx, dword [esp + 0x98]
movzx eax, byte [esp + 0xb]
shl ecx, 8
or ecx, eax
lea eax, [esp + 0x8f0]
mov dword [esp + 0x98], ecx
push 0x3a
lea ecx, [esp + 0x96a]
push ecx
push eax
call fcn.004e4a90
mov edx, esi
add esp, 0xc
mov ecx, edx
xor eax, eax
xor ecx, 4
inc eax
or ecx, ebx
je 0x46b2d9
mov eax, edx
xor eax, 3
or eax, ebx
jne 0x46b2e5
mov ecx, dword [esp + 0x98]
mov dl, byte [edi + 0xa4]
mov dword [edi + 0x44], 0
mov dword [edi + 0x40], 4
mov byte [edi + 0xa4], 2
mov eax, dword [edi + 0xec]
test eax, eax
je 0x46b3b3
mov ebx, ecx
mov ecx, dword [esp + 0xc8]
mov byte [esp + 4], dl
xor edx, edx
mov ecx, dword [ecx]
movzx esi, byte [ecx + edx]
cmp esi, 0xd
je 0x46b2cd
cmp esi, 0xa
jne 0x46b392
inc edx
cmp eax, edx
jne 0x46b2bb
mov edx, eax
jmp 0x46b3a1
xor ebx, ebx
mov esi, 5
jmp 0x46b48d
mov dword [esp + 4], edx
lea eax, [esp + 0x8b4]
lea edx, [esp + 0x8f0]
mov ecx, 0xe
mov edi, eax
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0xc]
movzx ecx, word [edx + 0x38]
mov byte [edi + 0xa2], 0
mov word [eax + 0x38], cx
mov cl, byte [esp + 0xa9]
cmp byte [edi + 0xa4], 2
jne 0x46b329
test cl, cl
jne 0x46b336
xor eax, eax
cmp cl, 1
adc al, 1
mov byte [edi + 0xa4], al
cmp byte [esp + 0x94], 0
mov edx, dword [esp + 0xa0]
mov esi, dword [esp + 0x9c]
setne al
mov dword [esp + 0x10], eax
mov eax, edx
or eax, esi
mov al, byte [esp + 0x4e]
mov byte [edi + 0xa5], al
je 0x46b77b
mov ecx, edx
mov eax, edx
mov edx, esi
xor ecx, 0xfffffffe
not edx
or edx, ecx
je 0x46b7c6
mov edx, eax
and eax, esi
xor ecx, ecx
cmp eax, 0xffffffff
mov eax, esi
jne 0x46b7cc
mov cl, 2
jmp 0x46b7cc
cmp eax, edx
mov dword [esp + 0xf0], edx
jb 0x46ba0a
mov ecx, dword [esp + 0xc8]
call fcn.00402a98
mov dl, byte [esp + 4]
mov ecx, ebx
cmp byte [ecx + 0x18], 0
je 0x46b3f9
cmp dword [edi + 0xec], 0
jne 0x46b3f9
test dl, dl
jne 0x46b3f9
xor ebx, ebx
mov esi, 4
mov dword [edi + 0x64], 0
mov dword [edi + 0x60], 5
mov byte [edi + 0xa4], 2
call fcn.00458ec0
mov eax, dword [esp + 4]
mov dword [esp + 0x98], eax
xor eax, eax
jmp 0x46b48c
mov eax, dword [edi + 0x60]
mov dword [esp + 0x98], ecx
mov ecx, dword [edi + 0x64]
mov edx, 3
mov esi, 0
add eax, 0xfffffffe
adc ecx, 0xffffffff
xor ebx, ebx
cmp edx, eax
sbb esi, ecx
jb 0x46b485
test eax, eax
mov eax, 1
mov esi, 3
jne 0x46b48d
cmp dword [edi + 0xec], 0x18
jb 0x46b48d
mov ecx, dword [esp + 0xc8]
mov ecx, dword [ecx]
movdqu xmm0, xmmword [ecx]
movdqu xmm1, xmmword [ecx + 8]
pcmpeqb xmm1, xmmword [0x4ee610]
pcmpeqb xmm0, xmmword [0x4ee620]
pand xmm0, xmm1
pmovmskb ecx, xmm0
cmp ecx, 0xffff
jne 0x46b48d
xor ecx, ecx
mov edx, 5
xor ebx, ebx
call fcn.0041ebae
mov ecx, dword [esp + 0x98]
mov dword [esp + 4], eax
jmp 0x46b3e2
xor eax, eax
mov esi, 3
inc eax
mov dword [esp + 0x10], 0
mov ecx, esi
xor ecx, 5
or ecx, ebx
je 0x46b1ce
mov ecx, esi
mov eax, ecx
and al, 7
cmp al, 3
je 0x46b4ea
mov eax, ecx
mov edx, ecx
mov ecx, dword [esp + 0x98]
and eax, 7
cmp eax, 4
jne 0x46b54b
mov eax, dword [edi + 0x60]
mov ecx, dword [edi + 0x64]
mov esi, 3
add eax, 0xfffffffe
adc ecx, 0xffffffff
xor edx, edx
cmp esi, eax
sbb edx, ecx
jb 0x46b774
cmp eax, 3
je 0x46b51c
jmp 0x46b774
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x184]
lea edx, [esp + 0x238]
mov dword [edx + 8], eax
mov dword [edx + 4], 0
mov dword [edx], 3
call fcn.004591fc
test eax, eax
jne 0x46b76d
mov byte [edi + 0x130], 1
mov dword [edi + 0x44], 0
mov dword [edi + 0x40], 4
mov dword [edi + 0x64], 0
mov dword [edi + 0x60], 5
mov byte [edi + 0xa4], 2
jmp 0x46b774
lea eax, [esp + 0x9ac]
mov dword [eax - 0xc], edx
lea edx, [esp + 0x878]
mov dword [eax - 8], ebx
mov dword [eax - 4], ecx
mov ecx, 0xe
mov edi, eax
mov esi, edx
rep movsd dword es:[edi], dword [esi]
movzx ecx, word [edx + 0x38]
mov edx, dword [esp + 0xa0]
mov word [eax + 0x38], cx
mov cl, byte [esp + 0x4e]
mov byte [eax + 0x3a], cl
mov cl, byte [esp + 0xaa]
mov byte [eax + 0x3b], cl
mov ecx, dword [esp + 0x9c]
mov eax, edx
or eax, ecx
je 0x46b680
lea esi, [esp + 0x238]
mov eax, ecx
mov ecx, esi
push 0
push eax
call fcn.0042009a
add esp, 8
mov eax, dword [esi + 0x10]
movsd xmm1, qword [esi + 8]
mov edi, dword [esp + 0xc]
movsd xmm0, qword [esi]
movsd xmm2, qword [esi + 0x28]
mov ebx, dword [esi + 0x18]
mov dword [esp + 0x100], eax
mov eax, dword [esi + 0x1c]
movsd qword [esp + 0xf8], xmm1
movsd xmm1, qword [esi + 0x20]
cmp byte [edi + 0x128], 3
movsd qword [esp + 0xf0], xmm0
movsd qword [esp + 0x58], xmm2
mov dword [esp + 4], eax
mov eax, dword [esi + 0x38]
movsd qword [esp + 0x50], xmm1
movsd xmm1, qword [esi + 0x30]
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0x3c]
lea esi, [edi + 0x118]
movsd qword [esp + 0x60], xmm1
mov dword [esp + 0x24], eax
je 0x46b62c
mov ecx, esi
call fcn.00441435
movsd xmm1, qword [esp + 0xf8]
mov eax, dword [esp + 0x100]
movq xmm0, qword [esp + 0xf0]
movsd xmm2, qword [esp + 0x50]
movsd qword [esi + 8], xmm1
movsd xmm1, qword [esp + 0x58]
mov dword [esi + 0x10], eax
movq qword [esi], xmm0
movsd qword [esp + 0xf0], xmm2
movsd qword [esp + 0xf8], xmm1
movsd xmm1, qword [esp + 0x60]
movsd qword [esp + 0x100], xmm1
jmp 0x46b696
mov edi, dword [esp + 0xc]
xor ebx, ebx
mov dword [esp + 4], 0
mov dword [esp + 0x20], 0
cmp byte [esp + 0x10], 0
je 0x46b704
mov dword [esp + 0x10], ebx
call fcn.00422972
cmp dword [edi + 0x78], 0
mov esi, eax
mov eax, edx
je 0x46b6d8
mov ebx, dword [edi + 0x7c]
test ebx, ebx
je 0x46b6d8
lea ecx, [ebx + 8]
mov dword [esp + 0x18], eax
call fcn.0042293b
mov eax, dword [esp + 0x18]
lock dec dword [ebx]
jne 0x46b6d8
mov ecx, dword [edi + 0x7c]
call fcn.00422839
mov eax, dword [esp + 0x18]
xor edx, edx
mov dword [edi + 0x78], 1
mov dword [edi + 0x7c], esi
lea ecx, [esp + 0x9e0]
inc edx
push eax
call fcn.004816a9
add esp, 4
mov ebx, dword [esp + 0x10]
test eax, 0xfffffffd
jne 0x46b7a0
lea edx, [esp + 0x238]
lea esi, [esp + 0x9a0]
mov ecx, 0x12
mov edi, edx
rep movsd dword es:[edi], dword [esi]
movq xmm0, qword [esp + 0x100]
movsd xmm2, qword [esp + 0xf0]
movsd xmm1, qword [esp + 0xf8]
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x184]
movq qword [edx + 0x60], xmm0
movsd qword [edx + 0x58], xmm1
movsd qword [edx + 0x50], xmm2
mov dword [edx + 0x48], ebx
mov dword [edx + 0x4c], eax
mov eax, dword [esp + 0x20]
mov dword [edx + 0x68], eax
mov eax, dword [esp + 0x24]
mov dword [edx + 0x6c], eax
call fcn.004591fc
test eax, eax
je 0x46b774
mov edx, eax
jmp 0x46b1cc
xor edx, edx
jmp 0x46b1cc
mov ecx, edi
mov dword [edi + 0x44], 0
mov dword [edi + 0x40], 3
call fcn.00481d8c
mov edx, dword [esp + 0x188]
mov ecx, edi
call fcn.00481e41
jmp 0x46b7eb
mov ecx, edx
mov esi, edx
call fcn.0046ba6a
test esi, esi
je 0x46b704
lock dec dword [esi]
jne 0x46b704
mov ecx, esi
call fcn.00422839
jmp 0x46b704
mov cl, 1
xor edx, edx
xor eax, eax
xor esi, esi
mov dword [edi + 0x40], 2
mov dword [edi + 0x44], esi
mov byte [edi + 0x48], cl
mov byte [edi + 0x49], 0
mov dword [edi + 0x50], edx
mov dword [edi + 0x54], eax
mov dword [edi + 0x5c], esi
mov dword [edi + 0x58], esi
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x8b4]
mov ecx, 0xe
mov esi, edx
add al, al
mov dword [esp + 0x10], eax
lea eax, [esp + 0x878]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
movzx ecx, word [edx + 0x38]
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 4]
mov word [eax + 0x38], cx
xor eax, eax
inc eax
jmp 0x46b495
mov edx, dword [esp + 0x24]
mov ecx, edi
push 0x50112c
call fcn.004e8970
mov ecx, ebx
mov edx, esi
push 0x50113c
call fcn.004e8970
mov ecx, esi
push 0x50110c
call fcn.004e8970
mov edx, eax
push 0x5023d4
call fcn.004e8bc0
mov ecx, eax
push 0x5023d4
call fcn.004e89d0
mov ecx, eax
mov edx, esi
push 0x5023c4
call fcn.004e89d0
mov ecx, edx
mov edx, eax
push 0x5023c4
call fcn.004e8bc0
mov ecx, str.called__Option::unwrap____on_a__None__value
mov edx, 0x2b
push 0x502768
call fcn.004e8a30
lea eax, [esp + 0x164]
mov ecx, dword [eax - 0xc]
push dword [eax - 4]
push dword [eax - 8]
push eax
call dword [ecx + 0xc]
add esp, 0xc
mov eax, dword [esp + 0x148]
test eax, eax
je 0x46b915
lea ecx, [esp + 0x154]
push dword [ecx - 4]
push dword [ecx - 8]
push ecx
call dword [eax + 0xc]
jmp 0x46b912
mov ecx, 0x525b3d
mov edx, 0x17
push 0x50120c
jmp 0x46b924
mov ecx, esi
mov edx, 0x64
push 0x5023b4
call fcn.004e89d0
mov ecx, 4
mov edx, 0x10
call fcn.004e8590
lea eax, [esp + 0xec]
mov ecx, dword [eax - 0xc]
push dword [eax - 4]
push dword [eax - 8]
push eax
call dword [ecx + 0xc]
add esp, 0xc
mov ecx, 0x525b3d
mov edx, 0x17
push 0x5011dc
push 0x5010ec
lea eax, [esp + 0x240]
push eax
call fcn.004e8cc0
mov edx, 0x64
push 0x5023a4
call fcn.004e89d0
lea ecx, [esp + 0x158]
lea edx, [esp + 0x50]
mov dword [ecx], eax
lea eax, [esp + 0x148]
mov dword [esp + 0x50], eax
mov eax, 0x437f40
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], eax
lea ecx, [esp + 0x238]
jmp 0x46b9a5
lea ecx, [esp + 0x214]
lea edx, [esp + 0x148]
mov dword [ecx], eax
lea eax, [esp + 0x1ac]
mov dword [edx], eax
mov eax, 0x437f40
mov dword [edx + 4], eax
mov dword [edx + 8], ecx
mov dword [edx + 0xc], eax
lea ecx, [esp + 0xb0]
mov eax, 2
mov dword [ecx], str.cannot_advance_past__remaining_:___
mov dword [ecx + 4], eax
mov dword [ecx + 0x10], 0
mov dword [ecx + 8], edx
mov edx, 0x52ce0c
mov dword [ecx + 0xc], eax
call fcn.004e88e0
mov edx, ecx
mov ecx, edi
push 0x50121c
call fcn.004e8910
mov ecx, 8
mov edx, 0x40
call fcn.004e8590
mov ecx, 4
mov edx, 0x120
call fcn.004e8590
mov ecx, 0x52c00b
mov edx, 0x28
push 0x500f70
call fcn.004e8a30
mov dword [esp + 0x50], eax
lea eax, [esp + 0x9a0]
lea ecx, [esp + 0xf0]
lea edx, [esp + 0x50]
mov dword [eax], ecx
mov ecx, 0x437f40
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
lea ecx, [esp + 0x238]
mov edx, 2
mov dword [ecx], str.cannot_advance_past__remaining_:___
mov dword [ecx + 4], edx
mov dword [ecx + 0x10], 0
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], edx
mov edx, 0x52ce7c
call fcn.004e88e0
mov edx, dword [esp + 0x48]
push 0x500dfc
call fcn.004e89d0