Function at 0x4658a0
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x78
mov eax, dword [edx]
mov ebx, dword [eax + 0xb0]
test ebx, ebx
je 0x46544d
mov esi, dword [eax + 0xb4]
mov dword [esp + 0x1c], ecx
test esi, esi
je 0x46559e
js 0x465884
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x46542e
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x465441
mov dword [0x5920d8], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov edi, eax
test eax, eax
jne 0x4655a3
mov ecx, 1
mov edx, esi
call fcn.00429f60
mov edi, dword [ebp + 0xc]
mov esi, edx
mov dword [esp + 0x18], eax
test edi, edi
je 0x46565f
mov dword [esp + 0x1c], ecx
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x465484
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x465889
mov dword [0x5920d8], eax
push 0x4b
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x465889
mov ebx, dword [ebp + 8]
mov edx, esi
mov dword [esp], 0x4b
mov dword [esp + 4], eax
mov dword [esp + 8], 0
lea ecx, [esp + 0x40]
push 1
push 0
push edi
push ebx
call fcn.00467070
add esp, 0x10
mov eax, dword [esp + 0x58]
mov edi, dword [esp + 0x54]
xor edx, edx
xor ebx, ebx
mov dword [esp + 0x10], 1
shl eax, 4
jmp 0x465505
mov eax, dword [esp + 0x34]
add edi, 0x10
mov dword [esp + 0x10], eax
add eax, ebx
push esi
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
add ebx, esi
add eax, 0xfffffff0
test eax, eax
je 0x4655c2
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x20], edx
cmp edx, ebx
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], edi
mov ecx, dword [edi + 4]
mov esi, dword [edi + 8]
je 0x465582
mov byte [eax + ebx], 0x20
mov ebx, dword [esp + 0x28]
inc ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x38], ebx
movsd xmm0, qword [esp + 0x20]
movsd qword [esp + 0x30], xmm0
mov eax, dword [esp + 0x30]
mov dword [esp + 0x14], eax
sub eax, ebx
cmp eax, esi
jae 0x4654e0
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x30]
mov edx, ebx
push esi
call fcn.004b7d20
mov ecx, dword [esp + 0x14]
add esp, 4
mov eax, dword [esp + 0x30]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x14], eax
jmp 0x4654e0
mov ebx, ecx
lea ecx, [esp + 0x20]
push 1
call fcn.004b7d20
mov ecx, ebx
add esp, 4
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x28]
jmp 0x46552f
mov edi, 1
push esi
push ebx
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov dword [eax], esi
mov dword [eax + 4], edi
mov dword [eax + 8], esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x60]
mov dword [esp + 0x14], edx
test eax, eax
je 0x4655ef
mov ecx, dword [esp + 0x5c]
lea eax, [eax*4 + 0x13]
and eax, 0xfffffff0
neg eax
push dword [ecx + eax - 4]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov esi, dword [esp + 0x58]
test esi, esi
je 0x46561d
mov edi, dword [esp + 0x54]
add edi, 4
jmp 0x465606
add edi, 0x10
dec esi
je 0x46561d
cmp dword [edi - 4], 0
je 0x465600
push dword [edi]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x465600
cmp dword [esp + 0x50], 0
je 0x465635
push dword [esp + 0x54]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov edx, dword [esp + 0x18]
cmp dword [edx + 0x154], 0x80000000
jne 0x465670
cmp dword [edx + 0x148], 0x80000000
jne 0x46567e
lea ecx, [edx + 0xf8]
lea eax, [edx + 0xfc]
jmp 0x46568a
mov edx, esi
push 1
call 0x4658a0
add esp, 4
jmp 0x4655ba
lea eax, [edx + 0x15c]
lea ecx, [edx + 0x158]
jmp 0x46568a
lea ecx, [edx + 0x14c]
lea eax, [edx + 0x150]
mov edi, dword [esp]
mov edx, dword [esp + 8]
mov esi, dword [eax]
mov ecx, dword [ecx]
mov eax, edi
sub eax, edx
cmp eax, esi
jb 0x465819
mov eax, dword [esp + 4]
mov dword [esp + 0xc], eax
add eax, edx
push esi
push ecx
push eax
mov dword [esp + 0x48], esi
mov esi, edx
call sub.msvcrt.dll_memcpy
mov edx, esi
add esp, 0xc
add edx, dword [esp + 0x3c]
sub edi, edx
mov dword [esp + 8], edx
cmp edi, ebx
jb 0x465834
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0xc]
mov dword [esp + 0xc], eax
add eax, edx
push ebx
push dword [esp + 0x14]
push eax
mov edi, edx
call sub.msvcrt.dll_memcpy
mov edx, edi
add esp, 0xc
add edx, ebx
mov dword [esp + 8], edx
test byte [esi + 0xc8], 2
jne 0x46571a
test byte [esi + 0xd0], 2
jne 0x46571a
mov esi, dword [esp + 0xc]
cmp dword [esp], edx
ja 0x4657af
jmp 0x4657e4
mov eax, dword [esp]
sub eax, edx
cmp eax, 1
jbe 0x465850
mov eax, dword [esp + 0xc]
mov word [eax + edx], 0x3c20
mov edx, dword [esp + 8]
add edx, 2
mov dword [esp + 8], edx
mov edi, dword [esi + 0xe0]
test edi, edi
je 0x46574f
mov ebx, dword [esi + 0xe4]
jmp 0x465759
mov ebx, 0xa
mov edi, 0x57170e
mov esi, dword [esp]
mov eax, esi
sub eax, edx
cmp eax, ebx
jb 0x465869
mov dword [esp + 0xc], esi
mov esi, dword [esp + 4]
lea eax, [esi + edx]
push ebx
push edi
push eax
mov edi, edx
call sub.msvcrt.dll_memcpy
mov edx, edi
add esp, 0xc
mov eax, dword [esp + 0xc]
add edx, ebx
mov dword [esp + 8], edx
cmp edx, eax
jne 0x4657a1
mov ecx, esp
mov edx, eax
call fcn.004b76f0
mov esi, dword [esp + 4]
mov edx, dword [esp + 8]
mov byte [esi + edx], 0x3e
inc edx
mov dword [esp + 8], edx
cmp dword [esp], edx
jbe 0x4657e4
mov eax, dword [0x5920d8]
test edx, edx
je 0x4657cd
push edx
push esi
push 0
push eax
mov esi, edx
call sub.KERNEL32.dll_HeapReAlloc
test eax, eax
jne 0x4657dd
jmp 0x465441
push esi
push 0
push eax
mov esi, edx
call sub.KERNEL32.dll_HeapFree
mov eax, 1
mov dword [esp + 4], eax
mov dword [esp], esi
cmp dword [esp + 0x14], 0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x1c]
movsd xmm0, qword [esp]
mov dword [ecx + 8], eax
movsd qword [ecx], xmm0
je 0x4655ba
push dword [esp + 0x10]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x4655ba
mov edi, ecx
mov ecx, esp
push esi
call fcn.004b7d20
mov ecx, edi
add esp, 4
mov edi, dword [esp]
mov edx, dword [esp + 8]
jmp 0x4656a1
mov ecx, esp
push ebx
call fcn.004b7d20
add esp, 4
mov eax, dword [esp + 4]
mov edx, dword [esp + 8]
mov esi, dword [esp + 0x18]
jmp 0x4656d8
mov ecx, esp
push 2
call fcn.004b7d20
add esp, 4
mov eax, dword [esp + 4]
mov edx, dword [esp + 8]
jmp 0x46572c
mov ecx, esp
push ebx
call fcn.004b7d20
add esp, 4
mov eax, dword [esp]
mov edx, dword [esp + 8]
mov dword [esp + 0xc], eax
jmp 0x46576c
call fcn.00429f20
mov ecx, 1
mov edx, 0x4b
call fcn.00429f60
nop dword [eax + eax]
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xd0
mov dword [esp + 0x48], edx
mov dword [esp + 0xa8], ecx
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x4658dc
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x467048
mov dword [0x5920d8], eax
push 0x4b
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x467048
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], 0x4b
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
mov ecx, dword [ecx]
cmp dword [ecx + 0x154], 0x80000000
mov dword [esp + 0x14], ecx
jne 0x465932
cmp dword [ecx + 0x148], 0x80000000
jne 0x465942
lea edx, [ecx + 0xf8]
add ecx, 0xfc
jmp 0x46594e
mov edx, ecx
add ecx, 0x15c
add edx, 0x158
jmp 0x46594e
lea edx, [ecx + 0x14c]
add ecx, 0x150
mov edi, dword [ecx]
mov edx, dword [edx]
mov esi, 0
mov dword [esp + 0x2c], 0
cmp edi, 0x4c
mov dword [esp + 0x1c], edx
jae 0x4660c8
add eax, esi
push edi
push edx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
add esi, edi
cmp byte [ebp + 8], 0
mov edx, 0
mov dword [esp + 0xa0], edi
mov dword [esp + 0x34], 1
mov dword [esp + 0xc], esi
je 0x465b2f
mov edx, dword [esp + 0x48]
lea ecx, [esp + 0x70]
push 0
push 0
push 0
push str.PathTryFromIntErrornumber_of_bones_should_fit_in_i32vmesh_src_v3mc.rs
call fcn.00467070
add esp, 0x10
mov eax, dword [esp + 0x88]
mov edi, dword [esp + 0x84]
xor edx, edx
xor ecx, ecx
mov dword [esp + 0x34], 1
shl eax, 4
jmp 0x465a1b
lea ecx, [esp + 0x60]
push esi
call fcn.004b7d20
add esp, 4
mov eax, dword [esp + 0x60]
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x18]
add edi, 0x10
mov dword [esp + 0x34], eax
add eax, ebx
push esi
push ecx
push eax
call sub.msvcrt.dll_memcpy
mov ecx, ebx
add esp, 0xc
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x50]
add ecx, esi
add eax, 0xfffffff0
test eax, eax
je 0x465a97
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x38], edx
cmp edx, ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], edi
mov esi, dword [edi + 4]
mov dword [esp + 0x18], esi
mov esi, dword [edi + 8]
je 0x465a7f
mov byte [eax + ecx], 0x20
mov ebx, dword [esp + 0x40]
inc ebx
mov dword [esp + 0x40], ebx
mov edx, ebx
mov dword [esp + 0x68], ebx
movq xmm0, qword [esp + 0x38]
movq qword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
mov eax, ecx
sub eax, ebx
cmp eax, esi
jb 0x4659d7
mov dword [esp + 0x50], ecx
mov ebx, edx
jmp 0x4659f0
lea ecx, [esp + 0x38]
push 1
call fcn.004b7d20
add esp, 4
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
jmp 0x465a45
mov eax, dword [esp + 0x90]
mov ebx, edx
mov dword [esp + 0x2c], ecx
test eax, eax
je 0x465ace
mov ecx, dword [esp + 0x8c]
lea eax, [eax*4 + 0x13]
and eax, 0xfffffff0
neg eax
push dword [ecx + eax - 4]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov edx, ebx
mov esi, dword [esp + 0x88]
test esi, esi
je 0x465b0f
mov edi, dword [esp + 0x84]
add edi, 4
jmp 0x465af6
add edi, 0x10
dec esi
je 0x465b0f
cmp dword [edi - 4], 0
je 0x465af0
push dword [edi]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov edx, ebx
jmp 0x465af0
cmp dword [esp + 0x80], 0
je 0x465b2f
push dword [esp + 0x84]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov edx, ebx
mov eax, dword [esp + 0x14]
mov dword [esp + 0x50], edx
mov eax, dword [eax + 0x28]
test eax, eax
je 0x465ccc
mov ecx, dword [esp + 0x14]
lea eax, [eax + eax*4]
shl eax, 6
mov ecx, dword [ecx + 0x24]
add eax, ecx
mov dword [esp + 0x30], eax
jmp 0x465b97
mov edx, dword [ecx]
mov ecx, dword [ecx + 3]
mov esi, 0x73726576
mov edi, 0x6e6f6973
xor edx, esi
xor ecx, edi
or ecx, edx
je 0x465b89
nop word [eax + eax]
test byte [eax + 0x138], 0x11
je 0x465be0
mov ecx, dword [esp + 0x20]
cmp ecx, dword [esp + 0x30]
je 0x465ccc
mov eax, ecx
add ecx, 0x140
mov dword [esp + 0x20], ecx
mov ecx, dword [eax + 0x50]
test ecx, ecx
je 0x465bd0
mov edx, dword [eax + 0x54]
cmp edx, 7
je 0x465b60
cmp edx, 4
jne 0x465b80
cmp dword [ecx], 0x706c6568
jne 0x465b80
jmp 0x465b89
cmp dword [eax + 0x7c], 0x110000
jne 0x465b80
jmp 0x465b89
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx + 0x138]
test ecx, ecx
je 0x465c98
mov edx, dword [esp + 0x14]
mov ebx, dword [eax + 0x3c]
mov esi, dword [edx + 0x134]
mov edx, dword [eax + 0x38]
imul eax, ecx, 0x38
mov dword [esp + 0x58], eax
add eax, esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x24], eax
jmp 0x465c2c
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x24]
mov esi, eax
je 0x465c98
mov ecx, dword [esi + 0x18]
mov edi, dword [esi + 0x14]
lea eax, [esi + 0x38]
mov dword [esp + 0x18], esi
mov dword [esp + 0x28], eax
shl ecx, 3
test ecx, ecx
je 0x465c20
mov eax, dword [edi]
mov esi, dword [edi + 4]
add ecx, 0xfffffff8
add edi, 8
xor eax, edx
xor esi, ebx
or esi, eax
jne 0x465c40
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x5c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x18], eax
test ecx, ecx
je 0x465c20
mov eax, edi
mov edi, dword [edi]
add ecx, 0xffffffc8
mov esi, dword [eax + 4]
xor edi, dword [esp + 0x10]
xor esi, dword [esp + 0x18]
or esi, edi
lea edi, [eax + 0x38]
jne 0x465c70
cmp byte [eax + 0x34], 0
je 0x465c70
jmp 0x465b89
mov eax, dword [esp + 4]
mov edx, dword [esp + 0xc]
sub eax, edx
cmp eax, 9
jbe 0x46635e
mov eax, dword [esp + 8]
mov word [eax + edx + 8], 0x5d53
mov dword [eax + edx + 4], 0x4e4f4954
mov dword [eax + edx], 0x504f5b20
add edx, 0xa
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov cl, 1
test byte [eax + 0xcb], 0x80
jne 0x465d24
test byte [eax + 0xd3], 0x80
jne 0x465d24
mov eax, dword [esp + 4]
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x2c]
sub eax, ebx
cmp eax, ecx
jb 0x466375
mov eax, dword [esp + 8]
add eax, ebx
push ecx
push dword [esp + 0x38]
push eax
mov esi, ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ebx, esi
xor ecx, ecx
mov dword [esp + 0xc], ebx
mov eax, dword [eax + 0x28]
mov dword [esp + 0x24], ecx
test eax, eax
je 0x466889
mov ecx, dword [esp + 0x14]
xor edx, edx
mov ebx, dword [ecx + 0x24]
mov ecx, eax
shl ecx, 6
lea ecx, [ecx + ecx*4]
jmp 0x465d5a
add edx, 0x140
cmp ecx, edx
je 0x465d7d
cmp dword [ebx + edx + 0x50], 0
jne 0x465d50
cmp dword [ebx + edx + 0x7c], 0x110000
jne 0x465d50
test byte [ebx + edx + 0x139], 0x40
je 0x465d50
mov dl, 1
mov dword [esp + 0x54], edx
jmp 0x465d85
mov dword [esp + 0x54], 0
xor edx, edx
jmp 0x465da8
test byte [ebx + edx + 0x13a], 0x10
jne 0x465dbb
add edx, 0x140
cmp ecx, edx
je 0x465e3e
cmp dword [ebx + edx + 0x50], 0
jne 0x465d90
cmp dword [ebx + edx + 0x7c], 0x110000
je 0x465d9a
jmp 0x465d90
xor edx, edx
jmp 0x465dca
add edx, 0x140
cmp ecx, edx
je 0x465e3e
cmp dword [ebx + edx + 0x50], 0
jne 0x465dc0
cmp dword [ebx + edx + 0x7c], 0x110000
jne 0x465dc0
test byte [ebx + edx + 0x138], 1
jne 0x465dc0
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x12c]
test edx, edx
je 0x4660e8
mov ecx, dword [esp + 0x14]
imul edx, edx, 0x160
mov ecx, dword [ecx + 0x128]
add ecx, 0xfc
jmp 0x465e22
add ecx, 0x160
add edx, 0xfffffea0
je 0x4660e8
cmp dword [ecx], 4
jne 0x465e32
mov esi, dword [ecx - 4]
cmp dword [esi], 0x706c6568
je 0x465e10
test byte [ecx - 0x33], 8
jne 0x465e10
test byte [ecx - 0x2b], 8
jne 0x465e10
mov edx, dword [esp + 0x1c]
test eax, eax
je 0x466889
lea edi, [eax + eax*4]
shl eax, 6
xor ecx, ecx
shl edi, 6
lea eax, [eax + eax*4]
add edi, ebx
jmp 0x465e70
test dl, 0x10
mov edx, dword [esp + 0x1c]
jne 0x465e9f
jmp 0x465eae
cmp dword [ebx + ecx + 0x50], 0
jne 0x465e9f
cmp dword [ebx + ecx + 0x7c], 0x110000
jne 0x465e9f
mov edx, dword [ebx + ecx + 0x138]
test dl, 1
je 0x465e60
and edx, 0x4010
cmp edx, 0x4000
mov edx, dword [esp + 0x1c]
je 0x465eae
add ecx, 0x140
cmp eax, ecx
jne 0x465e70
jmp 0x466889
mov eax, dword [esp + 0x48]
movzx edx, byte [ebp + 8]
xor ecx, ecx
mov esi, dword [eax]
mov dword [esp + 0x4c], esi
add ebx, 0x140
jmp 0x465eda
cmp ebx, edi
lea ebx, [ebx + 0x140]
je 0x465f55
cmp dword [ebx - 0xf0], 0
jne 0x465ed0
cmp dword [ebx - 0xc4], 0x110000
jne 0x465ed0
movzx eax, word [ebx - 8]
test eax, 0x4011
jne 0x465ed0
mov eax, dword [esi + 0x134]
mov esi, dword [esp + 0x4c]
mov edx, dword [ebx - 0x104]
mov dword [esp + 0x10], ecx
mov ecx, dword [ebx - 0x108]
imul esi, dword [esi + 0x138], 0x38
mov dword [esp + 0x70], eax
add esi, eax
mov dword [esp + 0x74], esi
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x48]
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x78], ecx
lea ecx, [esp + 0x70]
call fcn.00436d90
mov ecx, dword [esp + 0x10]
movzx edx, byte [ebp + 8]
xor al, 1
movzx eax, al
add ecx, eax
cmp ebx, edi
jne 0x465ebe
test byte [esi + 0xcb], 0x10
jne 0x465f79
test byte [esi + 0xd3], 0x10
jne 0x465f79
cmp ecx, 2
jl 0x465f79
mov dword [esp + 0x38], 0x80000000
jmp 0x466628
cmp ecx, 1
jne 0x46613a
test dl, dl
je 0x46613a
mov eax, dword [esi + 0x28]
test eax, eax
je 0x467034
mov ecx, dword [esp + 0x4c]
lea eax, [eax + eax*4]
shl eax, 6
mov ecx, dword [ecx + 0x24]
add eax, ecx
mov dword [esp + 0x30], eax
jmp 0x465fc4
mov ecx, dword [esp + 0x10]
add ecx, 0x140
cmp ecx, dword [esp + 0x30]
je 0x467034
cmp dword [ecx + 0x50], 0
mov dword [esp + 0x10], ecx
jne 0x465fb0
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x7c], 0x110000
jne 0x465fb0
mov eax, dword [esp + 0x10]
movzx eax, word [eax + 0x138]
test eax, 0x4011
jne 0x465fb0
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx + 0x138]
test eax, eax
je 0x46618c
mov edi, dword [esp + 0x10]
mov esi, dword [ecx + 0x134]
imul eax, eax, 0x38
mov dword [esp + 0xa4], eax
mov edx, dword [edi + 0x38]
mov edi, dword [edi + 0x3c]
add eax, esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], eax
jmp 0x46603e
mov esi, dword [esp + 0x28]
cmp esi, dword [esp + 0x5c]
je 0x46618c
lea eax, [esi + 0x38]
mov ecx, dword [esi + 0x14]
mov dword [esp + 0x20], esi
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0x18]
shl eax, 3
nop word cs:[eax + eax]
nop dword [eax]
test eax, eax
je 0x466030
mov esi, dword [ecx]
mov ebx, dword [ecx + 4]
add eax, 0xfffffff8
add ecx, 8
xor esi, edx
xor ebx, edi
or ebx, esi
jne 0x466060
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x58]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x20], eax
nop word cs:[eax + eax]
nop dword [eax]
test ecx, ecx
je 0x466030
mov eax, esi
add ecx, 0xffffffc8
add esi, 0x38
cmp byte [eax + 0x34], 0
je 0x4660a0
mov ebx, dword [eax]
mov eax, dword [eax + 4]
xor ebx, dword [esp + 0x18]
xor eax, dword [esp + 0x20]
or eax, ebx
jne 0x4660a0
jmp 0x465fb0
xor edx, edx
lea ecx, [esp + 4]
push edi
call fcn.004b7d20
mov edx, dword [esp + 0x20]
add esp, 4
mov eax, dword [esp + 8]
mov esi, dword [esp + 0xc]
jmp 0x46596c
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
test byte [ecx + 0xc9], 0x40
jne 0x465e42
movzx ecx, byte [ecx + 0xd1]
and cl, 0x40
shr cl, 6
or cl, byte [esp + 0x54]
jne 0x465e42
mov edx, 0x571619
lea ecx, [esp + 4]
push 5
call fcn.0042ada0
mov edx, dword [esp + 0x20]
add esp, 4
mov eax, dword [esp + 0x14]
mov ebx, dword [eax + 0x24]
mov eax, dword [eax + 0x28]
jmp 0x465e42
test byte [esi + 0xcb], 0x10
jne 0x4661d6
test byte [esi + 0xd3], 0x10
jne 0x4661d6
test dl, dl
je 0x46622a
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 1
mov dword [esp + 0x40], 0
lea ecx, [esp + 4]
mov edx, 1
push 0
call fcn.0042ada0
add esp, 4
jmp 0x46667f
mov esi, dword [esp + 0x10]
lea edi, [esp + 0xac]
mov ecx, edi
mov edx, esi
call fcn.004539d0
mov edx, dword [esi + 0x138]
mov ecx, dword [esi + 0x110]
test edx, 0x100000
jne 0x46634d
xor eax, eax
cmp ecx, 1
mov ecx, str.PathTryFromIntErrornumber_of_bones_should_fit_in_i32vmesh_src_v3mc.rs
ja 0x46639b
and edx, 2
jne 0x466352
jmp 0x46639b
mov ecx, dword [esi + 0x34]
mov eax, dword [esi + 0x30]
shl ecx, 2
lea ecx, [ecx + ecx*4]
nop word cs:[eax + eax]
nop dword [eax]
test ecx, ecx
je 0x466154
add ecx, 0xffffffec
cmp dword [eax], 0x80000002
lea eax, [eax + 0x14]
jne 0x4661f0
test dl, dl
je 0x46622a
mov eax, dword [esi + 0x28]
mov edx, dword [esi + 0x24]
lea ecx, [esp + 0x70]
lea eax, [eax + eax*4]
shl eax, 6
add eax, edx
push eax
call fcn.0042e580
add esp, 4
jmp 0x4665e0
mov edx, dword [esi + 0x28]
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x10], 1
lea eax, [edx + edx*4]
shl eax, 6
add eax, ecx
test edx, edx
mov dword [esp + 0x18], eax
je 0x4665a8
mov eax, edx
xor esi, esi
shl eax, 6
lea edi, [eax + eax*4]
lea eax, [eax + eax*4 - 0x140]
mov dword [esp + 0x20], eax
mov eax, 0x4001
jmp 0x46627e
add esi, 0x140
cmp edi, esi
je 0x466448
cmp dword [ecx + esi + 0x50], 0
jne 0x466270
cmp dword [ecx + esi + 0x7c], 0x110000
jne 0x466270
mov ebx, dword [ecx + esi + 0x138]
and ebx, eax
cmp ebx, 1
jne 0x466270
lea eax, [ecx + esi + 0x140]
mov edx, dword [ecx + esi + 0x20]
mov ebx, dword [ecx + esi + 0x24]
cmp eax, dword [esp + 0x18]
mov dword [esp + 0x10], edx
je 0x4665aa
mov eax, dword [esp + 0x20]
mov edx, 0xcccccccd
lea edi, [ecx + esi + 0x160]
sub eax, esi
mov esi, 0x4001
mul edx
shr edx, 8
jmp 0x4662ea
mov esi, 0x4001
add edi, 0x140
dec edx
je 0x4665aa
cmp dword [edi + 0x30], 0
jne 0x4662dd
cmp dword [edi + 0x5c], 0x110000
jne 0x4662dd
mov eax, dword [edi + 0x118]
and eax, esi
cmp eax, 1
jne 0x4662dd
mov esi, dword [edi]
mov eax, dword [edi + 4]
cmp dword [esp + 0x10], esi
mov dword [esp + 0x20], eax
mov al, 0xff
jb 0x46633f
mov al, 1
jne 0x46633f
cmp dword [esp + 0x10], 0
je 0x46633d
xor eax, eax
cmp ebx, dword [esp + 0x20]
mov dword [esp + 0x28], esi
mov esi, 0xff
setne al
cmovb eax, esi
mov esi, dword [esp + 0x28]
jmp 0x46633f
xor eax, eax
cmp al, 1
je 0x4662d8
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x10], esi
jmp 0x4662d8
cmp ecx, 1
ja 0x466394
mov ecx, 0x57b769
mov eax, 3
jmp 0x46639b
lea ecx, [esp + 4]
push 0xa
call fcn.004b7d20
add esp, 4
mov edx, dword [esp + 0xc]
jmp 0x465cab
lea ecx, [esp + 4]
mov edx, ebx
push dword [esp + 0x2c]
call fcn.004b7d20
mov ecx, dword [esp + 0x30]
add esp, 4
mov ebx, dword [esp + 0xc]
jmp 0x465cfe
mov ecx, str.PathTryFromIntErrornumber_of_bones_should_fit_in_i32vmesh_src_v3mc.rs
xor eax, eax
mov dword [esp + 0xb8], ecx
lea edx, [esp + 0xb8]
lea ecx, [esp + 0x38]
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], 0x454a40
mov dword [esp + 0x70], 0x571730
mov dword [esp + 0x74], 2
mov dword [esp + 0x80], 0
mov dword [esp + 0xbc], eax
mov dword [esp + 0x40], edx
mov dword [esp + 0x78], ecx
lea ecx, [esp + 0xc0]
lea edx, [esp + 0x70]
mov dword [esp + 0x44], 0x461c20
mov dword [esp + 0x7c], 2
call fcn.0042a3a0
mov eax, dword [esp + 0xac]
cmp eax, 0x80000000
je 0x466429
test eax, eax
je 0x466429
push dword [esp + 0xb0]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
movq xmm0, qword [esp + 0xc0]
mov eax, dword [esp + 0xc8]
movq qword [esp + 0x38], xmm0
mov dword [esp + 0x40], eax
jmp 0x46661c
xor ebx, ebx
test edx, edx
je 0x4665aa
cmp edx, 8
mov eax, 0
jb 0x466577
mov eax, edx
lea edi, [ecx + 0x93c]
pxor xmm3, xmm3
pxor xmm0, xmm0
and eax, 0xfffffff8
mov ebx, eax
movd xmm4, dword [edi - 0x52c]
movd xmm5, dword [edi - 0x66c]
movd xmm6, dword [edi - 0x7ac]
movd xmm7, dword [edi - 0x2ac]
movd xmm1, dword [edi - 0x780]
movd xmm2, dword [edi - 0x140]
punpckldq xmm5, xmm4
movd xmm4, dword [edi - 0x8ec]
punpckldq xmm4, xmm6
movd xmm6, dword [edi - 0x16c]
punpcklqdq xmm4, xmm5
movd xmm5, dword [edi - 0x2c]
punpckldq xmm6, xmm5
movd xmm5, dword [edi - 0x3ec]
punpckldq xmm5, xmm7
movd xmm7, dword [edi - 0x640]
punpcklqdq xmm5, xmm6
movd xmm6, dword [edi - 0x500]
punpckldq xmm7, xmm6
movd xmm6, dword [edi - 0x8c0]
punpckldq xmm6, xmm1
movd xmm1, dword [edi]
punpcklqdq xmm6, xmm7
movd xmm7, dword [edi - 0x3c0]
punpckldq xmm2, xmm1
movd xmm1, dword [edi - 0x280]
add edi, 0xa00
add ebx, 0xfffffff8
punpckldq xmm7, xmm1
pxor xmm1, xmm1
punpcklqdq xmm7, xmm2
movdqa xmm2, xmmword [0x56e640]
pcmpeqd xmm4, xmm1
pcmpeqd xmm5, xmm1
pcmpeqd xmm6, xmm2
pcmpeqd xmm7, xmm2
pand xmm6, xmm4
pand xmm7, xmm5
psubd xmm3, xmm6
psubd xmm0, xmm7
jne 0x466475
paddd xmm0, xmm3
cmp edx, eax
pshufd xmm1, xmm0, 0xee
paddd xmm1, xmm0
pshufd xmm0, xmm1, 0x55
paddd xmm0, xmm1
movd ebx, xmm0
je 0x4665aa
sub edx, eax
lea eax, [eax + eax*4]
mov esi, 0x110000
mov dword [esp + 0x20], ecx
shl eax, 6
lea eax, [eax + ecx + 0x7c]
mov edi, dword [eax]
xor ecx, ecx
xor edi, esi
or edi, dword [eax - 0x2c]
sete cl
add eax, 0x140
add ebx, ecx
dec edx
jne 0x46658c
mov ecx, dword [esp + 0x20]
jmp 0x4665aa
xor ebx, ebx
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x60], ecx
lea ecx, [esp + 0xac]
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], ecx
lea ecx, [esp + 0x70]
lea edx, [esp + 0x60]
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], ebx
call fcn.0042e1d0
mov esi, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
lea ecx, [esp + 0x38]
mov edx, esi
push 0
push str.PathTryFromIntErrornumber_of_bones_should_fit_in_i32vmesh_src_v3mc.rs
push ebx
call fcn.004532b0
add esp, 0xc
mov ecx, esi
mov edx, ebx
call fcn.004e5560
cmp dword [esp + 0x70], 0
je 0x46661c
push esi
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov esi, dword [esp + 0x38]
cmp esi, 0x80000000
jne 0x466657
mov eax, dword [esp + 4]
mov edx, dword [esp + 0xc]
sub eax, edx
cmp eax, 6
jbe 0x466fc4
mov eax, dword [esp + 8]
mov dword [eax + edx + 3], 0x5d534752
mov dword [eax + edx], 0x52415b20
add edx, 7
mov dword [esp + 0xc], edx
jmp 0x46667f
mov ebx, dword [esp + 0x3c]
lea ecx, [esp + 4]
mov edx, ebx
push dword [esp + 0x40]
call fcn.0042ada0
add esp, 4
test esi, esi
je 0x46667f
push ebx
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x1c]
and al, byte [ebp + 8]
cmp al, 1
jne 0x466889
mov eax, dword [esp + 0x14]
mov esi, dword [eax + 0x28]
test esi, esi
je 0x467020
mov eax, dword [esp + 0x14]
shl esi, 6
lea edx, [esi + esi*4]
mov eax, dword [eax + 0x24]
mov ebx, eax
jmp 0x4666d2
add ebx, 0x140
add edx, 0xfffffec0
je 0x467020
cmp dword [ebx + 0x50], 0
jne 0x4666c0
cmp dword [ebx + 0x7c], 0x110000
jne 0x4666c0
mov ecx, dword [ebx + 0x138]
test ecx, 0x4000
je 0x4666c0
test cl, 1
mov edx, ecx
mov dword [esp + 0x10], ecx
jne 0x466707
lea ecx, [esp + 4]
mov edx, str.__________________SUBCOMMAND___n
push 6
jmp 0x46674c
add eax, 0x50
lea ecx, [esi + esi*4]
jmp 0x46671d
add eax, 0x140
add ecx, 0xfffffec0
je 0x466741
cmp dword [eax], 0
jne 0x466710
cmp dword [eax + 0x2c], 0x110000
jne 0x466710
test byte [eax + 0xe8], 1
jne 0x466710
lea ecx, [esp + 4]
mov edx, 0x571709
push 5
jmp 0x46674c
lea ecx, [esp + 4]
mov edx, 0x571702
push 7
call fcn.0042ada0
add esp, 4
lea ecx, [esp + 0x70]
mov edx, ebx
call fcn.004539d0
mov eax, dword [esp + 4]
mov edx, dword [esp + 0xc]
mov edi, dword [esp + 0x78]
mov esi, dword [esp + 0x74]
sub eax, edx
cmp eax, edi
jb 0x466fdb
mov eax, dword [esp + 8]
add eax, edx
push edi
push esi
push eax
mov dword [esp + 0x24], esi
mov esi, edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
add esi, edi
test dword [esp + 0x70], 0x7fffffff
mov dword [esp + 0xc], esi
je 0x4667b5
push dword [esp + 0x18]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov esi, dword [esp + 0xc]
cmp esi, dword [esp + 4]
jne 0x4667ca
lea ecx, [esp + 4]
mov edx, esi
call fcn.004b76f0
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 8]
mov byte [eax + esi], 0x3e
mov eax, dword [esp + 0xc]
inc eax
mov dword [esp + 0xc], eax
mov edx, eax
mov eax, dword [ebx + 0x138]
mov ecx, dword [ebx + 0x110]
test eax, 0x100000
jne 0x466805
xor esi, esi
cmp ecx, 1
mov edi, str.PathTryFromIntErrornumber_of_bones_should_fit_in_i32vmesh_src_v3mc.rs
ja 0x466840
and eax, 2
mov ebx, edx
jne 0x46680c
jmp 0x466842
cmp ecx, 1
mov ebx, edx
ja 0x466837
mov eax, dword [esp + 4]
mov esi, 3
mov edi, 0x57b769
sub eax, ebx
cmp eax, 2
ja 0x466842
lea ecx, [esp + 4]
mov edx, ebx
push 3
call fcn.004b7d20
add esp, 4
mov ebx, dword [esp + 0xc]
jmp 0x466842
xor esi, esi
mov edi, str.PathTryFromIntErrornumber_of_bones_should_fit_in_i32vmesh_src_v3mc.rs
jmp 0x466842
mov ebx, edx
mov eax, dword [esp + 8]
add eax, ebx
push esi
push edi
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
add ebx, esi
test byte [esp + 0x10], 1
mov edx, dword [esp + 0x1c]
mov dword [esp + 0xc], ebx
jne 0x466889
cmp ebx, dword [esp + 4]
jne 0x46687d
lea ecx, [esp + 4]
mov edx, ebx
call fcn.004b76f0
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 8]
mov byte [eax + ebx], 0x5d
inc dword [esp + 0xc]
cmp byte [esp + 0x24], 0
je 0x4668c6
mov eax, dword [esp + 4]
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x2c]
sub eax, ebx
cmp eax, ecx
jb 0x466f52
mov eax, dword [esp + 8]
add eax, ebx
push ecx
push dword [esp + 0x38]
push eax
mov esi, ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edx, dword [esp + 0x1c]
add ebx, esi
mov dword [esp + 0xc], ebx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x12c]
test ecx, ecx
je 0x466923
mov eax, dword [esp + 0x14]
imul ecx, ecx, 0x160
mov eax, dword [eax + 0x128]
add eax, 0xfc
jmp 0x4668fd
add eax, 0x160
add ecx, 0xfffffea0
je 0x466923
cmp dword [eax], 4
jne 0x466911
mov edx, dword [eax - 4]
cmp dword [edx], 0x706c6568
mov edx, dword [esp + 0x1c]
je 0x4668f0
test byte [eax - 0x33], 8
jne 0x4668f0
test byte [eax - 0x2b], 8
jne 0x4668f0
cmp byte [ebp + 8], 0
jne 0x466946
mov eax, dword [esp + 0x14]
test byte [eax + 0xc9], 0x40
jne 0x466946
mov eax, dword [esp + 0x14]
test byte [eax + 0xd1], 0x40
jne 0x466946
mov eax, dword [esp + 0xc]
jmp 0x466af7
mov ecx, dword [esp + 0x14]
mov edi, dword [ecx + 0xe0]
test edi, edi
je 0x466966
mov ebx, dword [ecx + 0xe4]
mov eax, dword [ecx + 0xc8]
test al, 1
je 0x46697a
jmp 0x46699c
mov ebx, 0xa
mov edi, 0x57170e
mov eax, dword [ecx + 0xc8]
test al, 1
jne 0x46699c
mov ecx, dword [ecx + 0xd0]
mov edx, eax
and edx, 0x20000000
mov esi, ecx
and esi, 0x20000001
or esi, edx
mov edx, dword [esp + 0x1c]
je 0x466c64
mov eax, dword [esp + 4]
mov esi, dword [esp + 0xc]
sub eax, esi
cmp eax, 4
jbe 0x466f1c
mov eax, dword [esp + 8]
mov byte [eax + esi + 4], 0x20
mov dword [eax + esi], 0x2020200a
mov eax, dword [esp + 0x14]
add esi, 5
mov dword [esp + 0xc], esi
test byte [eax + 0xcb], 0x20
jne 0x466a49
test byte [eax + 0xd3], 0x20
jne 0x466a49
mov edx, dword [esp + 0x48]
lea ecx, [esp + 0x70]
mov dword [esp + 0x10], edi
push 0
call 0x4658a0
add esp, 4
mov eax, dword [esp + 4]
mov esi, dword [esp + 0xc]
mov edi, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
sub eax, esi
mov dword [esp + 0x18], ecx
cmp eax, edi
jb 0x466f91
mov eax, dword [esp + 8]
add eax, esi
push edi
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
add esi, edi
cmp dword [esp + 0x70], 0
mov dword [esp + 0xc], esi
je 0x466a43
push dword [esp + 0x18]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov esi, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
jmp 0x466a88
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x10], ebx
sub eax, esi
cmp eax, ecx
jb 0x466f71
mov ebx, edi
mov eax, dword [esp + 8]
mov edi, dword [esp + 0xa0]
add eax, esi
push edi
push edx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
add esi, edi
mov edi, ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0xc], esi
mov eax, dword [esp + 4]
sub eax, esi
cmp eax, 1
jbe 0x466f39
mov eax, dword [esp + 8]
mov word [eax + esi], 0x3c20
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 4]
add esi, 2
sub eax, esi
mov dword [esp + 0xc], esi
cmp eax, ebx
jb 0x466d16
mov eax, dword [esp + 8]
add eax, esi
push ebx
push edi
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
add esi, ebx
mov dword [esp + 0xc], esi
cmp esi, dword [esp + 4]
jne 0x466ae6
lea ecx, [esp + 4]
mov edx, esi
call fcn.004b76f0
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 8]
mov byte [eax + esi], 0x3e
mov eax, dword [esp + 0xc]
inc eax
mov dword [esp + 0xc], eax
mov edx, dword [esp + 8]
test eax, eax
lea esi, [edx + eax]
mov al, 1
mov dword [esp + 0x1c], edx
je 0x466c49
xor ebx, ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], esi
jmp 0x466b3c
movzx eax, al
test byte [eax + 0x57f424], 1
je 0x466c2d
nop dword [eax + eax]
mov esi, dword [esp + 0x10]
cmp edx, esi
je 0x466c42
movzx eax, byte [edx]
mov ecx, edx
mov esi, ebx
test al, al
js 0x466b50
lea edx, [ecx + 1]
jmp 0x466bc0
mov dword [esp + 0x18], esi
movzx esi, byte [ecx + 1]
mov edi, eax
and edi, 0x1f
and esi, 0x3f
cmp al, 0xdf
jbe 0x466b9c
movzx ebx, byte [ecx + 2]
shl esi, 6
and ebx, 0x3f
or ebx, esi
cmp al, 0xf0
jb 0x466bac
movzx eax, byte [ecx + 3]
and edi, 7
shl ebx, 6
lea edx, [ecx + 4]
shl edi, 0x12
and eax, 0x3f
or eax, ebx
or eax, edi
cmp eax, 0x110000
je 0x466d2e
mov esi, dword [esp + 0x18]
jmp 0x466bc0
shl edi, 6
lea edx, [ecx + 2]
or edi, esi
mov esi, dword [esp + 0x18]
mov eax, edi
jmp 0x466bc0
mov esi, dword [esp + 0x18]
shl edi, 0xc
lea edx, [ecx + 3]
or ebx, edi
mov eax, ebx
nop word [eax + eax]
mov ebx, edx
sub ebx, ecx
lea ecx, [eax - 9]
add ebx, esi
cmp ecx, 5
jb 0x466b30
cmp eax, 0x20
je 0x466b30
cmp eax, 0x80
jb 0x466c2d
mov ecx, eax
shr ecx, 8
cmp ecx, 0x1f
jg 0x466c06
test ecx, ecx
je 0x466b18
cmp ecx, 0x16
jne 0x466c2d
cmp eax, 0x1680
je 0x466b30
jmp 0x466c2d
cmp ecx, 0x20
je 0x466c1d
cmp ecx, 0x30
jne 0x466c2d
cmp eax, 0x3000
je 0x466b30
jmp 0x466c2d
movzx eax, al
test byte [eax + 0x57f424], 2
jne 0x466b30
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], 0
mov dword [esp + 0x24], ebx
jmp 0x466d3a
xor edi, edi
jmp 0x466e7a
mov dword [esp + 0x14], eax
xor ebx, ebx
mov dword [esp + 0x24], 0
cmp edx, esi
jne 0x466d46
jmp 0x466e6b
movd xmm0, eax
movd xmm1, ecx
mov eax, dword [esp + 4]
mov edx, dword [esp + 0xc]
por xmm1, xmm0
pshufd xmm0, xmm1, 0x44
pxor xmm1, xmm1
pand xmm0, xmmword [0x56e650]
sub eax, edx
pcmpeqd xmm1, xmm0
movmskps ecx, xmm1
xor ecx, 0xf
test ecx, ecx
je 0x466cb1
cmp eax, 1
jbe 0x466fad
mov eax, dword [esp + 8]
mov word [eax + edx], 0x3c20
jmp 0x466aa1
cmp eax, 1
jbe 0x466ff1
mov eax, dword [esp + 8]
mov word [eax + edx], 0x5b20
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 4]
add esi, 2
sub eax, esi
mov dword [esp + 0xc], esi
cmp eax, ebx
jb 0x467008
mov eax, dword [esp + 8]
add eax, esi
push ebx
push edi
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
add esi, ebx
mov dword [esp + 0xc], esi
cmp esi, dword [esp + 4]
jne 0x466d09
lea ecx, [esp + 4]
mov edx, esi
call fcn.004b76f0
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 8]
mov byte [eax + esi], 0x5d
jmp 0x466aee
lea ecx, [esp + 4]
mov edx, esi
push ebx
call fcn.004b7d20
add esp, 4
mov esi, dword [esp + 0xc]
jmp 0x466aba
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x24], 0
mov esi, dword [esp + 0x10]
cmp edx, esi
je 0x466e6b
mov dword [esp + 0x30], edx
jmp 0x466d68
movzx eax, al
test byte [eax + 0x57f424], 1
je 0x466e58
nop dword [eax]
cmp edx, esi
je 0x466e6b
movzx eax, byte [esi - 1]
mov edi, esi
test al, al
js 0x466d80
lea esi, [edi - 1]
jmp 0x466df1
movzx ecx, byte [edi - 2]
cmp cl, 0xc0
jge 0x466dbe
movzx edx, byte [edi - 3]
mov dword [esp + 0x28], edi
cmp dl, 0xc0
mov dword [esp + 0x20], edx
jge 0x466dc6
lea esi, [edi - 4]
mov dword [esp + 0x10], esi
movzx esi, byte [edi - 4]
mov edi, dword [esp + 0x20]
and esi, 7
and edi, 0x3f
shl esi, 6
or edi, esi
mov esi, dword [esp + 0x10]
mov dword [esp + 0x20], edi
jmp 0x466dce
lea esi, [edi - 2]
and ecx, 0x1f
jmp 0x466de2
and dword [esp + 0x20], 0xf
lea esi, [edi - 3]
mov edi, dword [esp + 0x20]
and ecx, 0x3f
mov edx, dword [esp + 0x30]
shl edi, 6
or ecx, edi
mov edi, dword [esp + 0x28]
shl ecx, 6
and eax, 0x3f
or eax, ecx
cmp eax, 0x110000
je 0x466e6b
lea ecx, [eax - 9]
cmp ecx, 5
jb 0x466d60
cmp eax, 0x20
je 0x466d60
cmp eax, 0x80
jb 0x466e58
mov ecx, eax
shr ecx, 8
cmp ecx, 0x1f
jg 0x466e31
test ecx, ecx
je 0x466d4c
cmp ecx, 0x16
jne 0x466e58
cmp eax, 0x1680
je 0x466d60
jmp 0x466e58
cmp ecx, 0x20
je 0x466e48
cmp ecx, 0x30
jne 0x466e58
cmp eax, 0x3000
je 0x466d60
jmp 0x466e58
movzx eax, al
test byte [eax + 0x57f424], 2
jne 0x466d60
sub ebx, edx
mov esi, dword [esp + 0x18]
add ebx, edi
cmp byte [esp + 0x14], 0
mov edi, ebx
jne 0x466e7a
jmp 0x466e7c
cmp byte [esp + 0x14], 0
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x24]
je 0x466e7c
xor esi, esi
mov eax, dword [esp + 0x1c]
sub edi, esi
mov ebx, 1
je 0x466ec8
js 0x467063
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x466eb1
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x467057
mov dword [0x5920d8], eax
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ebx, eax
test eax, eax
mov eax, dword [esp + 0x1c]
je 0x467057
add eax, esi
push edi
push eax
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0xa8]
cmp dword [esp + 0x50], 0
mov dword [eax], edi
mov dword [eax + 4], ebx
mov dword [eax + 8], edi
je 0x466efc
push dword [esp + 0x34]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 4], 0
je 0x466f14
push dword [esp + 8]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, esi
lea ecx, [esp + 4]
push 5
call fcn.004b7d20
mov edx, dword [esp + 0x20]
add esp, 4
mov esi, dword [esp + 0xc]
jmp 0x4669af
lea ecx, [esp + 4]
mov edx, esi
push 2
call fcn.004b7d20
add esp, 4
mov esi, dword [esp + 0xc]
jmp 0x466a97
lea ecx, [esp + 4]
mov edx, ebx
push dword [esp + 0x2c]
call fcn.004b7d20
mov ecx, dword [esp + 0x30]
add esp, 4
mov ebx, dword [esp + 0xc]
jmp 0x4668a6
mov eax, ecx
mov ebx, edi
mov edx, esi
lea ecx, [esp + 4]
push eax
call fcn.004b7d20
mov edx, dword [esp + 0x20]
add esp, 4
mov esi, dword [esp + 0xc]
jmp 0x466a64
lea ecx, [esp + 4]
mov edx, esi
push edi
call fcn.004b7d20
mov ecx, dword [esp + 0x1c]
add esp, 4
mov esi, dword [esp + 0xc]
jmp 0x466a10
lea ecx, [esp + 4]
push 2
call fcn.004b7d20
add esp, 4
mov edx, dword [esp + 0xc]
jmp 0x466ca2
lea ecx, [esp + 4]
push 7
call fcn.004b7d20
add esp, 4
mov edx, dword [esp + 0xc]
jmp 0x46663b
lea ecx, [esp + 4]
push edi
call fcn.004b7d20
add esp, 4
mov edx, dword [esp + 0xc]
jmp 0x466779
lea ecx, [esp + 4]
push 2
call fcn.004b7d20
add esp, 4
mov edx, dword [esp + 0xc]
jmp 0x466cba
lea ecx, [esp + 4]
mov edx, esi
push ebx
call fcn.004b7d20
add esp, 4
mov esi, dword [esp + 0xc]
jmp 0x466cdd
mov ecx, 0x571625
mov edx, 0x63
push 0x5716ec
call fcn.0046f130
mov ecx, 0x571625
mov edx, 0x63
push 0x571720
call fcn.0046f130
mov ecx, 1
mov edx, 0x4b
call fcn.00429f60
mov ecx, 1
mov edx, edi
call fcn.00429f60
call fcn.00429f20
nop dword [eax + eax]