Function at 0x465930
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 0x4654dd
mov esi, dword [eax + 0xb4]
mov dword [esp + 0x1c], ecx
test esi, esi
je 0x46562e
js 0x465914
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x4654be
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4654d1
mov dword [0x5970d8], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov edi, eax
test eax, eax
jne 0x465633
mov ecx, 1
mov edx, esi
call fcn.00429f40
mov edi, dword [ebp + 0xc]
mov esi, edx
mov dword [esp + 0x18], eax
test edi, edi
je 0x4656ef
mov dword [esp + 0x1c], ecx
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x465514
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x465919
mov dword [0x5970d8], eax
push 0x4b
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x465919
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.00467100
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 0x465595
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 0x465652
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 0x465612
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 0x465570
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x30]
mov edx, ebx
push esi
call fcn.00437830
mov ecx, dword [esp + 0x14]
add esp, 4
mov eax, dword [esp + 0x30]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x14], eax
jmp 0x465570
mov ebx, ecx
lea ecx, [esp + 0x20]
push 1
call fcn.00437830
mov ecx, ebx
add esp, 4
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x28]
jmp 0x4655bf
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 0x46567f
mov ecx, dword [esp + 0x5c]
lea eax, [eax*4 + 0x13]
and eax, 0xfffffff0
neg eax
push dword [ecx + eax - 4]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
mov esi, dword [esp + 0x58]
test esi, esi
je 0x4656ad
mov edi, dword [esp + 0x54]
add edi, 4
jmp 0x465696
add edi, 0x10
dec esi
je 0x4656ad
cmp dword [edi - 4], 0
je 0x465690
push dword [edi]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x465690
cmp dword [esp + 0x50], 0
je 0x4656c5
push dword [esp + 0x54]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
mov edx, dword [esp + 0x18]
cmp dword [edx + 0x154], 0x80000000
jne 0x465700
cmp dword [edx + 0x148], 0x80000000
jne 0x46570e
lea ecx, [edx + 0xf8]
lea eax, [edx + 0xfc]
jmp 0x46571a
mov edx, esi
push 1
call 0x465930
add esp, 4
jmp 0x46564a
lea eax, [edx + 0x15c]
lea ecx, [edx + 0x158]
jmp 0x46571a
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 0x4658a9
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 0x4658c4
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 0x4657aa
test byte [esi + 0xd0], 2
jne 0x4657aa
mov esi, dword [esp + 0xc]
cmp dword [esp], edx
ja 0x46583f
jmp 0x465874
mov eax, dword [esp]
sub eax, edx
cmp eax, 1
jbe 0x4658e0
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 0x4657df
mov ebx, dword [esi + 0xe4]
jmp 0x4657e9
mov ebx, 0xa
mov edi, 0x576796
mov esi, dword [esp]
mov eax, esi
sub eax, edx
cmp eax, ebx
jb 0x4658f9
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 0x465831
mov ecx, esp
mov edx, eax
call fcn.00437650
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 0x465874
mov eax, dword [0x5970d8]
test edx, edx
je 0x46585d
push edx
push esi
push 0
push eax
mov esi, edx
call sub.KERNEL32.dll_HeapReAlloc
test eax, eax
jne 0x46586d
jmp 0x4654d1
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 0x46564a
push dword [esp + 0x10]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x46564a
mov edi, ecx
mov ecx, esp
push esi
call fcn.00437830
mov ecx, edi
add esp, 4
mov edi, dword [esp]
mov edx, dword [esp + 8]
jmp 0x465731
mov ecx, esp
push ebx
call fcn.00437830
add esp, 4
mov eax, dword [esp + 4]
mov edx, dword [esp + 8]
mov esi, dword [esp + 0x18]
jmp 0x465768
mov ecx, esp
push 2
call fcn.00437830
add esp, 4
mov eax, dword [esp + 4]
mov edx, dword [esp + 8]
jmp 0x4657bc
mov ecx, esp
push ebx
call fcn.00437830
add esp, 4
mov eax, dword [esp]
mov edx, dword [esp + 8]
mov dword [esp + 0xc], eax
jmp 0x4657fc
call fcn.00429f00
mov ecx, 1
mov edx, 0x4b
call fcn.00429f40
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 [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x46596c
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4670d8
mov dword [0x5970d8], eax
push 0x4b
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4670d8
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 0x4659c2
cmp dword [ecx + 0x148], 0x80000000
jne 0x4659d2
lea edx, [ecx + 0xf8]
add ecx, 0xfc
jmp 0x4659de
mov edx, ecx
add ecx, 0x15c
add edx, 0x158
jmp 0x4659de
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 0x466158
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 0x465bbf
mov edx, dword [esp + 0x48]
lea ecx, [esp + 0x70]
push 0
push 0
push 0
push str.vmesh_src_char_anim.rs
call fcn.00467100
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 0x465aab
lea ecx, [esp + 0x60]
push esi
call fcn.00437830
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 0x465b27
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 0x465b0f
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 0x465a67
mov dword [esp + 0x50], ecx
mov ebx, edx
jmp 0x465a80
lea ecx, [esp + 0x38]
push 1
call fcn.00437830
add esp, 4
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
jmp 0x465ad5
mov eax, dword [esp + 0x90]
mov ebx, edx
mov dword [esp + 0x2c], ecx
test eax, eax
je 0x465b5e
mov ecx, dword [esp + 0x8c]
lea eax, [eax*4 + 0x13]
and eax, 0xfffffff0
neg eax
push dword [ecx + eax - 4]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
mov edx, ebx
mov esi, dword [esp + 0x88]
test esi, esi
je 0x465b9f
mov edi, dword [esp + 0x84]
add edi, 4
jmp 0x465b86
add edi, 0x10
dec esi
je 0x465b9f
cmp dword [edi - 4], 0
je 0x465b80
push dword [edi]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
mov edx, ebx
jmp 0x465b80
cmp dword [esp + 0x80], 0
je 0x465bbf
push dword [esp + 0x84]
push 0
push dword [0x5970d8]
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 0x465d5c
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 0x465c27
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 0x465c19
nop word [eax + eax]
test byte [eax + 0x138], 0x11
je 0x465c70
mov ecx, dword [esp + 0x20]
cmp ecx, dword [esp + 0x30]
je 0x465d5c
mov eax, ecx
add ecx, 0x140
mov dword [esp + 0x20], ecx
mov ecx, dword [eax + 0x50]
test ecx, ecx
je 0x465c60
mov edx, dword [eax + 0x54]
cmp edx, 7
je 0x465bf0
cmp edx, 4
jne 0x465c10
cmp dword [ecx], 0x706c6568
jne 0x465c10
jmp 0x465c19
cmp dword [eax + 0x7c], 0x110000
jne 0x465c10
jmp 0x465c19
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx + 0x138]
test ecx, ecx
je 0x465d28
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 0x465cbc
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x24]
mov esi, eax
je 0x465d28
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 0x465cb0
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 0x465cd0
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 0x465cb0
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 0x465d00
cmp byte [eax + 0x34], 0
je 0x465d00
jmp 0x465c19
mov eax, dword [esp + 4]
mov edx, dword [esp + 0xc]
sub eax, edx
cmp eax, 9
jbe 0x4663ee
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 0x465db4
test byte [eax + 0xd3], 0x80
jne 0x465db4
mov eax, dword [esp + 4]
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x2c]
sub eax, ebx
cmp eax, ecx
jb 0x466405
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 0x466919
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 0x465dea
add edx, 0x140
cmp ecx, edx
je 0x465e0d
cmp dword [ebx + edx + 0x50], 0
jne 0x465de0
cmp dword [ebx + edx + 0x7c], 0x110000
jne 0x465de0
test byte [ebx + edx + 0x139], 0x40
je 0x465de0
mov dl, 1
mov dword [esp + 0x54], edx
jmp 0x465e15
mov dword [esp + 0x54], 0
xor edx, edx
jmp 0x465e38
test byte [ebx + edx + 0x13a], 0x10
jne 0x465e4b
add edx, 0x140
cmp ecx, edx
je 0x465ece
cmp dword [ebx + edx + 0x50], 0
jne 0x465e20
cmp dword [ebx + edx + 0x7c], 0x110000
je 0x465e2a
jmp 0x465e20
xor edx, edx
jmp 0x465e5a
add edx, 0x140
cmp ecx, edx
je 0x465ece
cmp dword [ebx + edx + 0x50], 0
jne 0x465e50
cmp dword [ebx + edx + 0x7c], 0x110000
jne 0x465e50
test byte [ebx + edx + 0x138], 1
jne 0x465e50
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x12c]
test edx, edx
je 0x466178
mov ecx, dword [esp + 0x14]
imul edx, edx, 0x160
mov ecx, dword [ecx + 0x128]
add ecx, 0xfc
jmp 0x465eb2
add ecx, 0x160
add edx, 0xfffffea0
je 0x466178
cmp dword [ecx], 4
jne 0x465ec2
mov esi, dword [ecx - 4]
cmp dword [esi], 0x706c6568
je 0x465ea0
test byte [ecx - 0x33], 8
jne 0x465ea0
test byte [ecx - 0x2b], 8
jne 0x465ea0
mov edx, dword [esp + 0x1c]
test eax, eax
je 0x466919
lea edi, [eax + eax*4]
shl eax, 6
xor ecx, ecx
shl edi, 6
lea eax, [eax + eax*4]
add edi, ebx
jmp 0x465f00
test dl, 0x10
mov edx, dword [esp + 0x1c]
jne 0x465f2f
jmp 0x465f3e
cmp dword [ebx + ecx + 0x50], 0
jne 0x465f2f
cmp dword [ebx + ecx + 0x7c], 0x110000
jne 0x465f2f
mov edx, dword [ebx + ecx + 0x138]
test dl, 1
je 0x465ef0
and edx, 0x4010
cmp edx, 0x4000
mov edx, dword [esp + 0x1c]
je 0x465f3e
add ecx, 0x140
cmp eax, ecx
jne 0x465f00
jmp 0x466919
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 0x465f6a
cmp ebx, edi
lea ebx, [ebx + 0x140]
je 0x465fe5
cmp dword [ebx - 0xf0], 0
jne 0x465f60
cmp dword [ebx - 0xc4], 0x110000
jne 0x465f60
movzx eax, word [ebx - 8]
test eax, 0x4011
jne 0x465f60
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.00436d70
mov ecx, dword [esp + 0x10]
movzx edx, byte [ebp + 8]
xor al, 1
movzx eax, al
add ecx, eax
cmp ebx, edi
jne 0x465f4e
test byte [esi + 0xcb], 0x10
jne 0x466009
test byte [esi + 0xd3], 0x10
jne 0x466009
cmp ecx, 2
jl 0x466009
mov dword [esp + 0x38], 0x80000000
jmp 0x4666b8
cmp ecx, 1
jne 0x4661ca
test dl, dl
je 0x4661ca
mov eax, dword [esi + 0x28]
test eax, eax
je 0x4670c4
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 0x466054
mov ecx, dword [esp + 0x10]
add ecx, 0x140
cmp ecx, dword [esp + 0x30]
je 0x4670c4
cmp dword [ecx + 0x50], 0
mov dword [esp + 0x10], ecx
jne 0x466040
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x7c], 0x110000
jne 0x466040
mov eax, dword [esp + 0x10]
movzx eax, word [eax + 0x138]
test eax, 0x4011
jne 0x466040
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx + 0x138]
test eax, eax
je 0x46621c
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 0x4660ce
mov esi, dword [esp + 0x28]
cmp esi, dword [esp + 0x5c]
je 0x46621c
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 0x4660c0
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 0x4660f0
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 0x4660c0
mov eax, esi
add ecx, 0xffffffc8
add esi, 0x38
cmp byte [eax + 0x34], 0
je 0x466130
mov ebx, dword [eax]
mov eax, dword [eax + 4]
xor ebx, dword [esp + 0x18]
xor eax, dword [esp + 0x20]
or eax, ebx
jne 0x466130
jmp 0x466040
xor edx, edx
lea ecx, [esp + 4]
push edi
call fcn.00437830
mov edx, dword [esp + 0x20]
add esp, 4
mov eax, dword [esp + 8]
mov esi, dword [esp + 0xc]
jmp 0x4659fc
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
test byte [ecx + 0xc9], 0x40
jne 0x465ed2
movzx ecx, byte [ecx + 0xd1]
and cl, 0x40
shr cl, 6
or cl, byte [esp + 0x54]
jne 0x465ed2
mov edx, 0x5766a1
lea ecx, [esp + 4]
push 5
call fcn.0042ad80
mov edx, dword [esp + 0x20]
add esp, 4
mov eax, dword [esp + 0x14]
mov ebx, dword [eax + 0x24]
mov eax, dword [eax + 0x28]
jmp 0x465ed2
test byte [esi + 0xcb], 0x10
jne 0x466266
test byte [esi + 0xd3], 0x10
jne 0x466266
test dl, dl
je 0x4662ba
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.0042ad80
add esp, 4
jmp 0x46670f
mov esi, dword [esp + 0x10]
lea edi, [esp + 0xac]
mov ecx, edi
mov edx, esi
call fcn.004539e0
mov edx, dword [esi + 0x138]
mov ecx, dword [esi + 0x110]
test edx, 0x100000
jne 0x4663dd
xor eax, eax
cmp ecx, 1
mov ecx, str.vmesh_src_char_anim.rs
ja 0x46642b
and edx, 2
jne 0x4663e2
jmp 0x46642b
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 0x4661e4
add ecx, 0xffffffec
cmp dword [eax], 0x80000002
lea eax, [eax + 0x14]
jne 0x466280
test dl, dl
je 0x4662ba
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.0042e560
add esp, 4
jmp 0x466670
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 0x466638
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 0x46630e
add esi, 0x140
cmp edi, esi
je 0x4664d8
cmp dword [ecx + esi + 0x50], 0
jne 0x466300
cmp dword [ecx + esi + 0x7c], 0x110000
jne 0x466300
mov ebx, dword [ecx + esi + 0x138]
and ebx, eax
cmp ebx, 1
jne 0x466300
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 0x46663a
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 0x46637a
mov esi, 0x4001
add edi, 0x140
dec edx
je 0x46663a
cmp dword [edi + 0x30], 0
jne 0x46636d
cmp dword [edi + 0x5c], 0x110000
jne 0x46636d
mov eax, dword [edi + 0x118]
and eax, esi
cmp eax, 1
jne 0x46636d
mov esi, dword [edi]
mov eax, dword [edi + 4]
cmp dword [esp + 0x10], esi
mov dword [esp + 0x20], eax
mov al, 0xff
jb 0x4663cf
mov al, 1
jne 0x4663cf
cmp dword [esp + 0x10], 0
je 0x4663cd
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 0x4663cf
xor eax, eax
cmp al, 1
je 0x466368
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x10], esi
jmp 0x466368
cmp ecx, 1
ja 0x466424
mov ecx, 0x5807e1
mov eax, 3
jmp 0x46642b
lea ecx, [esp + 4]
push 0xa
call fcn.00437830
add esp, 4
mov edx, dword [esp + 0xc]
jmp 0x465d3b
lea ecx, [esp + 4]
mov edx, ebx
push dword [esp + 0x2c]
call fcn.00437830
mov ecx, dword [esp + 0x30]
add esp, 4
mov ebx, dword [esp + 0xc]
jmp 0x465d8e
mov ecx, str.vmesh_src_char_anim.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], 0x454a50
mov dword [esp + 0x70], 0x5767b8
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], 0x461c30
mov dword [esp + 0x7c], 2
call fcn.0042a380
mov eax, dword [esp + 0xac]
cmp eax, 0x80000000
je 0x4664b9
test eax, eax
je 0x4664b9
push dword [esp + 0xb0]
push 0
push dword [0x5970d8]
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 0x4666ac
xor ebx, ebx
test edx, edx
je 0x46663a
cmp edx, 8
mov eax, 0
jb 0x466607
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 [0x573640]
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 0x466505
paddd xmm0, xmm3
cmp edx, eax
pshufd xmm1, xmm0, 0xee
paddd xmm1, xmm0
pshufd xmm0, xmm1, 0x55
paddd xmm0, xmm1
movd ebx, xmm0
je 0x46663a
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 0x46661c
mov ecx, dword [esp + 0x20]
jmp 0x46663a
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.0042e1b0
mov esi, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
lea ecx, [esp + 0x38]
mov edx, esi
push 0
push str.vmesh_src_char_anim.rs
push ebx
call fcn.004532c0
add esp, 0xc
mov ecx, esi
mov edx, ebx
call fcn.004e5950
cmp dword [esp + 0x70], 0
je 0x4666ac
push esi
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
mov esi, dword [esp + 0x38]
cmp esi, 0x80000000
jne 0x4666e7
mov eax, dword [esp + 4]
mov edx, dword [esp + 0xc]
sub eax, edx
cmp eax, 6
jbe 0x467054
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 0x46670f
mov ebx, dword [esp + 0x3c]
lea ecx, [esp + 4]
mov edx, ebx
push dword [esp + 0x40]
call fcn.0042ad80
add esp, 4
test esi, esi
je 0x46670f
push ebx
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x1c]
and al, byte [ebp + 8]
cmp al, 1
jne 0x466919
mov eax, dword [esp + 0x14]
mov esi, dword [eax + 0x28]
test esi, esi
je 0x4670b0
mov eax, dword [esp + 0x14]
shl esi, 6
lea edx, [esi + esi*4]
mov eax, dword [eax + 0x24]
mov ebx, eax
jmp 0x466762
add ebx, 0x140
add edx, 0xfffffec0
je 0x4670b0
cmp dword [ebx + 0x50], 0
jne 0x466750
cmp dword [ebx + 0x7c], 0x110000
jne 0x466750
mov ecx, dword [ebx + 0x138]
test ecx, 0x4000
je 0x466750
test cl, 1
mov edx, ecx
mov dword [esp + 0x10], ecx
jne 0x466797
lea ecx, [esp + 4]
mov edx, str.__________________SUBCOMMAND___n
push 6
jmp 0x4667dc
add eax, 0x50
lea ecx, [esi + esi*4]
jmp 0x4667ad
add eax, 0x140
add ecx, 0xfffffec0
je 0x4667d1
cmp dword [eax], 0
jne 0x4667a0
cmp dword [eax + 0x2c], 0x110000
jne 0x4667a0
test byte [eax + 0xe8], 1
jne 0x4667a0
lea ecx, [esp + 4]
mov edx, 0x576791
push 5
jmp 0x4667dc
lea ecx, [esp + 4]
mov edx, 0x57678a
push 7
call fcn.0042ad80
add esp, 4
lea ecx, [esp + 0x70]
mov edx, ebx
call fcn.004539e0
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 0x46706b
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 0x466845
push dword [esp + 0x18]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
mov esi, dword [esp + 0xc]
cmp esi, dword [esp + 4]
jne 0x46685a
lea ecx, [esp + 4]
mov edx, esi
call fcn.00437650
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 0x466895
xor esi, esi
cmp ecx, 1
mov edi, str.vmesh_src_char_anim.rs
ja 0x4668d0
and eax, 2
mov ebx, edx
jne 0x46689c
jmp 0x4668d2
cmp ecx, 1
mov ebx, edx
ja 0x4668c7
mov eax, dword [esp + 4]
mov esi, 3
mov edi, 0x5807e1
sub eax, ebx
cmp eax, 2
ja 0x4668d2
lea ecx, [esp + 4]
mov edx, ebx
push 3
call fcn.00437830
add esp, 4
mov ebx, dword [esp + 0xc]
jmp 0x4668d2
xor esi, esi
mov edi, str.vmesh_src_char_anim.rs
jmp 0x4668d2
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 0x466919
cmp ebx, dword [esp + 4]
jne 0x46690d
lea ecx, [esp + 4]
mov edx, ebx
call fcn.00437650
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 0x466956
mov eax, dword [esp + 4]
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x2c]
sub eax, ebx
cmp eax, ecx
jb 0x466fe2
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 0x4669b3
mov eax, dword [esp + 0x14]
imul ecx, ecx, 0x160
mov eax, dword [eax + 0x128]
add eax, 0xfc
jmp 0x46698d
add eax, 0x160
add ecx, 0xfffffea0
je 0x4669b3
cmp dword [eax], 4
jne 0x4669a1
mov edx, dword [eax - 4]
cmp dword [edx], 0x706c6568
mov edx, dword [esp + 0x1c]
je 0x466980
test byte [eax - 0x33], 8
jne 0x466980
test byte [eax - 0x2b], 8
jne 0x466980
cmp byte [ebp + 8], 0
jne 0x4669d6
mov eax, dword [esp + 0x14]
test byte [eax + 0xc9], 0x40
jne 0x4669d6
mov eax, dword [esp + 0x14]
test byte [eax + 0xd1], 0x40
jne 0x4669d6
mov eax, dword [esp + 0xc]
jmp 0x466b87
mov ecx, dword [esp + 0x14]
mov edi, dword [ecx + 0xe0]
test edi, edi
je 0x4669f6
mov ebx, dword [ecx + 0xe4]
mov eax, dword [ecx + 0xc8]
test al, 1
je 0x466a0a
jmp 0x466a2c
mov ebx, 0xa
mov edi, 0x576796
mov eax, dword [ecx + 0xc8]
test al, 1
jne 0x466a2c
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 0x466cf4
mov eax, dword [esp + 4]
mov esi, dword [esp + 0xc]
sub eax, esi
cmp eax, 4
jbe 0x466fac
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 0x466ad9
test byte [eax + 0xd3], 0x20
jne 0x466ad9
mov edx, dword [esp + 0x48]
lea ecx, [esp + 0x70]
mov dword [esp + 0x10], edi
push 0
call 0x465930
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 0x467021
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 0x466ad3
push dword [esp + 0x18]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
mov esi, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
jmp 0x466b18
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x10], ebx
sub eax, esi
cmp eax, ecx
jb 0x467001
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 0x466fc9
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 0x466da6
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 0x466b76
lea ecx, [esp + 4]
mov edx, esi
call fcn.00437650
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 0x466cd9
xor ebx, ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], esi
jmp 0x466bcc
movzx eax, al
test byte [eax + 0x584448], 1
je 0x466cbd
nop dword [eax + eax]
mov esi, dword [esp + 0x10]
cmp edx, esi
je 0x466cd2
movzx eax, byte [edx]
mov ecx, edx
mov esi, ebx
test al, al
js 0x466be0
lea edx, [ecx + 1]
jmp 0x466c50
mov dword [esp + 0x18], esi
movzx esi, byte [ecx + 1]
mov edi, eax
and edi, 0x1f
and esi, 0x3f
cmp al, 0xdf
jbe 0x466c2c
movzx ebx, byte [ecx + 2]
shl esi, 6
and ebx, 0x3f
or ebx, esi
cmp al, 0xf0
jb 0x466c3c
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 0x466dbe
mov esi, dword [esp + 0x18]
jmp 0x466c50
shl edi, 6
lea edx, [ecx + 2]
or edi, esi
mov esi, dword [esp + 0x18]
mov eax, edi
jmp 0x466c50
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 0x466bc0
cmp eax, 0x20
je 0x466bc0
cmp eax, 0x80
jb 0x466cbd
mov ecx, eax
shr ecx, 8
cmp ecx, 0x1f
jg 0x466c96
test ecx, ecx
je 0x466ba8
cmp ecx, 0x16
jne 0x466cbd
cmp eax, 0x1680
je 0x466bc0
jmp 0x466cbd
cmp ecx, 0x20
je 0x466cad
cmp ecx, 0x30
jne 0x466cbd
cmp eax, 0x3000
je 0x466bc0
jmp 0x466cbd
movzx eax, al
test byte [eax + 0x584448], 2
jne 0x466bc0
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], 0
mov dword [esp + 0x24], ebx
jmp 0x466dca
xor edi, edi
jmp 0x466f0a
mov dword [esp + 0x14], eax
xor ebx, ebx
mov dword [esp + 0x24], 0
cmp edx, esi
jne 0x466dd6
jmp 0x466efb
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 [0x573650]
sub eax, edx
pcmpeqd xmm1, xmm0
movmskps ecx, xmm1
xor ecx, 0xf
test ecx, ecx
je 0x466d41
cmp eax, 1
jbe 0x46703d
mov eax, dword [esp + 8]
mov word [eax + edx], 0x3c20
jmp 0x466b31
cmp eax, 1
jbe 0x467081
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 0x467098
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 0x466d99
lea ecx, [esp + 4]
mov edx, esi
call fcn.00437650
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 8]
mov byte [eax + esi], 0x5d
jmp 0x466b7e
lea ecx, [esp + 4]
mov edx, esi
push ebx
call fcn.00437830
add esp, 4
mov esi, dword [esp + 0xc]
jmp 0x466b4a
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x24], 0
mov esi, dword [esp + 0x10]
cmp edx, esi
je 0x466efb
mov dword [esp + 0x30], edx
jmp 0x466df8
movzx eax, al
test byte [eax + 0x584448], 1
je 0x466ee8
nop dword [eax]
cmp edx, esi
je 0x466efb
movzx eax, byte [esi - 1]
mov edi, esi
test al, al
js 0x466e10
lea esi, [edi - 1]
jmp 0x466e81
movzx ecx, byte [edi - 2]
cmp cl, 0xc0
jge 0x466e4e
movzx edx, byte [edi - 3]
mov dword [esp + 0x28], edi
cmp dl, 0xc0
mov dword [esp + 0x20], edx
jge 0x466e56
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 0x466e5e
lea esi, [edi - 2]
and ecx, 0x1f
jmp 0x466e72
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 0x466efb
lea ecx, [eax - 9]
cmp ecx, 5
jb 0x466df0
cmp eax, 0x20
je 0x466df0
cmp eax, 0x80
jb 0x466ee8
mov ecx, eax
shr ecx, 8
cmp ecx, 0x1f
jg 0x466ec1
test ecx, ecx
je 0x466ddc
cmp ecx, 0x16
jne 0x466ee8
cmp eax, 0x1680
je 0x466df0
jmp 0x466ee8
cmp ecx, 0x20
je 0x466ed8
cmp ecx, 0x30
jne 0x466ee8
cmp eax, 0x3000
je 0x466df0
jmp 0x466ee8
movzx eax, al
test byte [eax + 0x584448], 2
jne 0x466df0
sub ebx, edx
mov esi, dword [esp + 0x18]
add ebx, edi
cmp byte [esp + 0x14], 0
mov edi, ebx
jne 0x466f0a
jmp 0x466f0c
cmp byte [esp + 0x14], 0
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x24]
je 0x466f0c
xor esi, esi
mov eax, dword [esp + 0x1c]
sub edi, esi
mov ebx, 1
je 0x466f58
js 0x4670f3
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x466f41
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4670e7
mov dword [0x5970d8], eax
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ebx, eax
test eax, eax
mov eax, dword [esp + 0x1c]
je 0x4670e7
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 0x466f8c
push dword [esp + 0x34]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 4], 0
je 0x466fa4
push dword [esp + 8]
push 0
push dword [0x5970d8]
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.00437830
mov edx, dword [esp + 0x20]
add esp, 4
mov esi, dword [esp + 0xc]
jmp 0x466a3f
lea ecx, [esp + 4]
mov edx, esi
push 2
call fcn.00437830
add esp, 4
mov esi, dword [esp + 0xc]
jmp 0x466b27
lea ecx, [esp + 4]
mov edx, ebx
push dword [esp + 0x2c]
call fcn.00437830
mov ecx, dword [esp + 0x30]
add esp, 4
mov ebx, dword [esp + 0xc]
jmp 0x466936
mov eax, ecx
mov ebx, edi
mov edx, esi
lea ecx, [esp + 4]
push eax
call fcn.00437830
mov edx, dword [esp + 0x20]
add esp, 4
mov esi, dword [esp + 0xc]
jmp 0x466af4
lea ecx, [esp + 4]
mov edx, esi
push edi
call fcn.00437830
mov ecx, dword [esp + 0x1c]
add esp, 4
mov esi, dword [esp + 0xc]
jmp 0x466aa0
lea ecx, [esp + 4]
push 2
call fcn.00437830
add esp, 4
mov edx, dword [esp + 0xc]
jmp 0x466d32
lea ecx, [esp + 4]
push 7
call fcn.00437830
add esp, 4
mov edx, dword [esp + 0xc]
jmp 0x4666cb
lea ecx, [esp + 4]
push edi
call fcn.00437830
add esp, 4
mov edx, dword [esp + 0xc]
jmp 0x466809
lea ecx, [esp + 4]
push 2
call fcn.00437830
add esp, 4
mov edx, dword [esp + 0xc]
jmp 0x466d4a
lea ecx, [esp + 4]
mov edx, esi
push ebx
call fcn.00437830
add esp, 4
mov esi, dword [esp + 0xc]
jmp 0x466d6d
mov ecx, 0x5766ad
mov edx, 0x63
push 0x576774
call fcn.0046f1c0
mov ecx, 0x5766ad
mov edx, 0x63
push 0x5767a8
call fcn.0046f1c0
mov ecx, 1
mov edx, 0x4b
call fcn.00429f40
mov ecx, 1
mov edx, edi
call fcn.00429f40
call fcn.00429f00
nop dword [eax + eax]