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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x540
call 0x5533b4
pop eax
xor ebx, ebx
mov dword [esp + 0x220], edx
mov dword [esp + 0x1ac], eax
mov eax, dword [edx + 4]
cmp dword [eax + 0x18], 0x80000000
je 0x5533d4
mov ebx, dword [eax + 0x1c]
mov dword [esp + 0x2e8], ecx
jne 0x553441
lea eax, [ebp + 8]
lea esi, [esp + 0x128]
mov dword [esp + 0x88], 0x586898
mov dword [esp + 0x8c], 1
mov dword [esp + 0x98], 0
mov dword [esp + 0x128], eax
mov dword [esp + 0x90], esi
mov dword [esp + 0x12c], 0x469ab0
mov dword [esp + 0x94], 1
lea ecx, [esp + 0x2f4]
lea edx, [esp + 0x88]
call fcn.0042a380
jmp 0x5534ac
mov esi, dword [eax + 0x20]
test esi, esi
je 0x553487
js 0x55a3b9
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x55346c
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x55347b
mov dword [0x5970d8], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov edi, eax
test eax, eax
jne 0x55348c
mov ecx, 1
mov edx, esi
call fcn.00429f40
mov edi, 1
push esi
push ebx
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov dword [esp + 0x2f4], esi
mov dword [esp + 0x2f8], edi
mov dword [esp + 0x2fc], esi
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x88], 0x58684c
mov dword [esp + 0x8c], 2
mov dword [esp + 0x98], 0
mov esi, dword [eax + 0x4c]
mov edi, dword [eax + 0x50]
lea eax, [esp + 0x2f4]
mov dword [esp + 0x128], eax
lea eax, [esp + 0x128]
mov dword [esp + 0x12c], 0x4325b0
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], 1
lea ecx, [esp + 0x4fc]
lea edx, [esp + 0x88]
call fcn.0042a380
mov ebx, dword [esp + 0x500]
lea ecx, [esp + 0x324]
mov edx, esi
push dword [esp + 0x504]
push ebx
push edi
call fcn.004b00a0
add esp, 0xc
cmp dword [esp + 0x4fc], 0
je 0x553554
push ebx
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x38]
test eax, eax
mov dword [esp + 0x30c], eax
je 0x5535f6
mov esi, dword [esp + 0x328]
mov edi, dword [esp + 0x32c]
lea eax, [esp + 0x2f4]
mov dword [esp + 0x88], 0x586878
mov dword [esp + 0x8c], 3
mov dword [esp + 0x98], 0
mov dword [esp + 0x128], eax
lea eax, [esp + 0x38]
mov dword [esp + 0x12c], 0x4325b0
mov dword [esp + 0x130], eax
lea eax, [esp + 0x128]
mov dword [esp + 0x134], 0x4b0bd0
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], 2
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], edi
lea ecx, [esp + 0x88]
call fcn.004afa30
jmp 0x553604
mov esi, dword [esp + 0x328]
mov edi, dword [esp + 0x32c]
mov dword [esp + 0x88], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 7
mov dword [esp + 0xa2], 0
mov dword [esp + 0xa6], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0x9c], 0
mov byte [esp + 0xa5], 1
mov word [esp + 0xa7], 0x101
lea eax, [esp + 0x88]
lea ecx, [esp + 0x128]
mov edx, esi
push eax
push edi
call fcn.004ac610
add esp, 8
cmp byte [esp + 0x128], 4
jne 0x55369b
mov esi, dword [esp + 0x12c]
jmp 0x5536b1
mov eax, dword [esp + 0x128]
mov esi, dword [esp + 0x12c]
cmp al, 4
jne 0x557497
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x5536d3
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x55a2fc
mov dword [0x5970d8], eax
push 0x2000
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x55a2fc
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0xc], 0x2000
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0
mov byte [esp + 0x18], 0
mov dword [esp + 0x1c], esi
mov edx, dword [ecx + 4]
mov eax, dword [ecx]
mov ecx, 0
mov edi, dword [edx + 0x18]
mov dword [esp + 0x314], eax
mov eax, 4
mov dword [esp + 0x310], edx
test edi, edi
je 0x553783
cmp edi, 0x4924924
ja 0x55a388
lea eax, [edi + edi*8]
lea esi, [eax + eax*2]
add esi, edi
js 0x55a38d
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x553768
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x55a37c
mov dword [0x5970d8], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x55a37c
mov edx, dword [esp + 0x310]
mov ecx, dword [edx + 0x18]
mov dword [esp + 0x274], edi
mov dword [esp + 0x278], eax
mov dword [esp + 0x27c], 0
lea ebx, [esp + 0x128]
lea edi, [esp + 0x88]
mov edx, dword [edx + 0x14]
lea eax, [edx + ecx*4]
mov dword [esp + 0x33c], eax
mov eax, dword [esp + 0x220]
mov ecx, dword [eax]
mov esi, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x224], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], ecx
mov dword [esp + 0x2c], esi
movss xmm0, dword [eax + 4]
mov eax, dword [eax]
movss dword [esp + 0x338], xmm0
mov dword [esp + 0x334], eax
jmp 0x553855
mov ecx, dword [esp + 0x278]
mov esi, dword [esp + 0x2ec]
lea eax, [edx + edx*8]
movss xmm0, dword [esp + 8]
lea eax, [eax + eax*2]
add eax, edx
inc edx
mov dword [ecx + eax], esi
mov esi, dword [esp + 4]
mov dword [ecx + eax + 4], esi
mov esi, dword [esp + 0x190]
mov dword [ecx + eax + 8], esi
mov esi, dword [esp + 0x2d0]
mov dword [ecx + eax + 0xc], esi
mov esi, dword [esp + 0x110]
mov dword [ecx + eax + 0x10], esi
mov esi, dword [esp + 0x20]
mov dword [ecx + eax + 0x14], esi
movss dword [ecx + eax + 0x18], xmm0
mov dword [esp + 0x27c], edx
mov edx, dword [esp + 0x2f0]
cmp edx, dword [esp + 0x33c]
mov eax, dword [esp + 0x314]
je 0x5567b5
mov ecx, dword [edx]
cmp dword [eax + 0xc4], ecx
jbe 0x55a1ea
mov eax, dword [eax + 0xc0]
add edx, 4
mov esi, dword [esp + 0x2c]
mov dword [esp + 8], ecx
mov dword [esp + 0x2f0], edx
lea edx, [ecx + ecx*2]
shl edx, 6
mov dword [esp + 0x24], edx
mov dword [esp + 0x30], eax
add eax, edx
mov edx, dword [esp]
mov ecx, dword [esi + 8]
mov dword [esp + 0x34], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x1cc], edx
mov edx, dword [esp + 0x224]
mov dword [esp + 0x1d0], esi
mov esi, dword [ebp + 0x10]
shl ecx, 5
add ecx, eax
mov dword [esp + 0x1d4], edx
mov edx, dword [esp + 8]
mov dword [esp + 0x1dc], ecx
mov dword [esp + 0x1e0], edx
mov dword [esp + 0x1e4], esi
jmp 0x553905
lea ebx, [esp + 0x128]
mov eax, dword [esp + 0x1d8]
mov ecx, dword [esp + 0x1dc]
cmp eax, ecx
mov dword [esp + 4], 4
mov dword [esp + 0x190], 0
je 0x553c60
lea ecx, [eax + 0x20]
mov dword [esp + 0x1d8], ecx
mov edx, dword [esp + 0x1cc]
mov ecx, dword [eax + 0x14]
cmp dword [edx + 0xc4], ecx
jbe 0x559ae0
cmp ecx, dword [esp + 0x1e0]
jne 0x5538f7
mov ecx, dword [esp + 0x1d0]
mov esi, dword [esp + 0x1d4]
mov dword [esp + 0x1e8], edx
mov dword [esp + 0x1ec], ecx
mov dword [esp + 0x1f0], esi
lea esi, [esp + 0x1e4]
mov dword [esp + 0x1f4], eax
mov dword [esp + 0x1f8], esi
mov esi, dword [eax + 8]
cmp dword [ecx + 0x14], esi
jbe 0x559c67
mov eax, dword [ecx + 0x10]
lea ecx, [esi + esi*4]
movzx ebx, byte [eax + ecx*4 + 0x10]
test bl, bl
je 0x559c58
mov eax, dword [eax + ecx*4 + 8]
cmp dword [edx + 0x10], eax
jbe 0x559c7b
lea eax, [eax + eax*8]
shl eax, 4
add eax, dword [edx + 0xc]
lea esi, [esp + 0x1e4]
lea ecx, [esp + 0x128]
push esi
push eax
call fcn.004b55d0
add esp, 8
mov esi, dword [esp + 0x128]
cmp esi, 4
je 0x5538f0
mov ecx, edi
lea edx, [esp + 0x1e8]
call fcn.0053a300
mov eax, dword [esp + 0x88]
cmp eax, 4
je 0x5538f0
lea edx, [esp + 0x8c]
lea ecx, [esp + 0x12c]
cmp eax, 1
movsd xmm1, qword [edx + 0x20]
movsd xmm2, qword [edx + 0x28]
movsd xmm0, qword [edx + 0x30]
movsd xmm3, qword [edx]
movsd qword [esp + 0x58], xmm1
movsd xmm1, qword [edx + 0x10]
movsd qword [esp + 0x60], xmm2
movsd xmm2, qword [edx + 0x18]
movsd qword [esp + 0x68], xmm0
movsd qword [esp + 0x38], xmm3
movsd qword [esp + 0x48], xmm1
movsd xmm1, qword [edx + 8]
movsd qword [esp + 0x50], xmm2
movsd xmm2, qword [ecx + 0x28]
movsd qword [esp + 0x40], xmm1
movsd xmm1, qword [ecx + 0x20]
movsd qword [esp + 0x2a8], xmm2
movsd xmm2, qword [ecx + 0x18]
movsd qword [esp + 0x2a0], xmm1
movsd xmm1, qword [ecx + 0x10]
movsd qword [esp + 0x298], xmm2
movsd xmm2, qword [ecx]
movsd qword [esp + 0x290], xmm1
movsd xmm1, qword [ecx + 8]
movsd qword [esp + 0x280], xmm2
movsd qword [esp + 0x288], xmm1
jne 0x5538f0
movsd xmm0, qword [esp + 0x68]
movsd xmm1, qword [esp + 0x40]
mov eax, edi
mov dword [esp + 0x20], esi
mov ecx, 0x1a
lea edi, [esp + 0x128]
cmp bl, 3
mov esi, eax
movsd qword [edx + 0x5c], xmm0
movsd xmm0, qword [esp + 0x60]
movsd qword [edx + 0x34], xmm1
movsd xmm1, qword [esp + 0x288]
movsd qword [edx + 0x54], xmm0
movsd xmm0, qword [esp + 0x58]
movsd qword [edx + 0x4c], xmm0
movsd xmm0, qword [esp + 0x50]
movsd qword [edx + 0x44], xmm0
movsd xmm0, qword [esp + 0x48]
movsd qword [edx + 0x3c], xmm0
movsd xmm0, qword [esp + 0x38]
movsd qword [edx + 0x2c], xmm0
movsd xmm0, qword [esp + 0x280]
movsd qword [esp + 0x90], xmm1
movsd qword [esp + 0x88], xmm0
movsd xmm0, qword [esp + 0x290]
movsd qword [esp + 0x98], xmm0
movsd xmm0, qword [esp + 0x298]
movsd qword [esp + 0xa0], xmm0
movsd xmm0, qword [esp + 0x2a0]
movsd qword [esp + 0xa8], xmm0
movsd xmm0, qword [esp + 0x2a8]
movsd qword [esp + 0xb0], xmm0
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x1a
mov edi, eax
lea esi, [esp + 0x128]
rep movsd dword es:[edi], dword [esi]
movsd xmm2, qword [edx + 0x54]
movsd xmm1, qword [edx + 0x4c]
movsd xmm0, qword [edx + 0x5c]
movsd qword [esp + 0x250], xmm2
movsd qword [esp + 0x248], xmm1
movsd xmm2, qword [edx + 0x44]
movsd xmm1, qword [edx + 0x3c]
movsd qword [esp + 0x258], xmm0
movsd qword [esp + 0x240], xmm2
movsd qword [esp + 0x238], xmm1
movsd xmm2, qword [edx + 0x2c]
movsd xmm1, qword [edx + 0x34]
movsd qword [esp + 0x230], xmm1
movsd qword [esp + 0x228], xmm2
jne 0x554cac
lea ecx, [esp + 0x38]
lea edx, [esp + 0x228]
call fcn.004e6bd0
cmp word [esp + 0x38], 0
je 0x554e7d
mov eax, dword [esp + 0x228]
movsd xmm0, qword [esp + 0x3a]
mov eax, dword [eax*4 + 0x55a4ec]
add eax, dword [esp + 0x1ac]
jmp eax
mov edx, dword [esp]
xor ecx, ecx
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x2ec], ecx
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
mov dword [esp + 0x1cc], edx
mov edx, dword [esp + 0x224]
mov dword [esp + 0x1d0], esi
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x1d4], edx
mov edx, dword [esp + 8]
shl ecx, 5
add ecx, eax
mov dword [esp + 0x1dc], ecx
mov dword [esp + 0x1e0], edx
mov dword [esp + 0x1e4], esi
jmp 0x553cd5
lea ebx, [esp + 0x128]
mov eax, dword [esp + 0x1d8]
mov ecx, dword [esp + 0x1dc]
cmp eax, ecx
mov dword [esp + 0x110], 4
mov dword [esp + 0x20], 0
je 0x554020
lea ecx, [eax + 0x20]
mov dword [esp + 0x1d8], ecx
mov edx, dword [esp + 0x1cc]
mov ecx, dword [eax + 0x14]
cmp dword [edx + 0xc4], ecx
jbe 0x559af4
cmp ecx, dword [esp + 0x1e0]
jne 0x553cc7
mov ecx, dword [esp + 0x1d0]
mov esi, dword [esp + 0x1d4]
mov dword [esp + 0x1e8], edx
mov dword [esp + 0x1ec], ecx
mov dword [esp + 0x1f0], esi
lea esi, [esp + 0x1e4]
mov dword [esp + 0x1f4], eax
mov dword [esp + 0x1f8], esi
mov esi, dword [eax + 8]
cmp dword [ecx + 0x14], esi
jbe 0x559c9e
mov eax, dword [ecx + 0x10]
lea ecx, [esi + esi*4]
movzx ebx, byte [eax + ecx*4 + 0x10]
test bl, bl
je 0x559c8f
mov eax, dword [eax + ecx*4 + 8]
cmp dword [edx + 0x10], eax
jbe 0x559cb2
lea eax, [eax + eax*8]
shl eax, 4
add eax, dword [edx + 0xc]
lea esi, [esp + 0x1e4]
lea ecx, [esp + 0x128]
push esi
push eax
call fcn.004b55d0
add esp, 8
mov esi, dword [esp + 0x128]
cmp esi, 4
je 0x553cc0
mov ecx, edi
lea edx, [esp + 0x1e8]
call fcn.0053a300
mov eax, dword [esp + 0x88]
cmp eax, 4
je 0x553cc0
lea edx, [esp + 0x8c]
test eax, eax
movsd xmm1, qword [edx + 0x20]
mov ecx, dword [edx + 0x30]
movsd xmm2, qword [edx + 0x18]
movsd xmm0, qword [edx + 0x28]
movsd xmm3, qword [edx]
movsd qword [esp + 0x58], xmm1
movsd xmm1, qword [edx + 0x10]
mov dword [esp + 0x68], ecx
lea ecx, [esp + 0x12c]
movsd qword [esp + 0x50], xmm2
movsd qword [esp + 0x60], xmm0
movsd qword [esp + 0x38], xmm3
movsd xmm2, qword [ecx + 0x28]
movsd qword [esp + 0x48], xmm1
movsd xmm1, qword [edx + 8]
movsd qword [esp + 0x2a8], xmm2
movsd xmm2, qword [ecx + 0x18]
movsd qword [esp + 0x40], xmm1
movsd xmm1, qword [ecx + 0x20]
movsd qword [esp + 0x298], xmm2
movsd xmm2, qword [ecx]
movsd qword [esp + 0x2a0], xmm1
movsd xmm1, qword [ecx + 0x10]
movsd qword [esp + 0x280], xmm2
movsd qword [esp + 0x290], xmm1
movsd xmm1, qword [ecx + 8]
movsd qword [esp + 0x288], xmm1
jne 0x553cc0
movsd xmm0, qword [esp + 0x60]
mov eax, dword [esp + 0x68]
movsd xmm1, qword [esp + 0x40]
mov dword [esp + 0x28], esi
mov ecx, 0x19
cmp bl, 3
movsd qword [edx + 0x54], xmm0
movsd xmm0, qword [esp + 0x58]
mov dword [edx + 0x5c], eax
movsd qword [edx + 0x34], xmm1
movsd xmm1, qword [esp + 0x288]
mov eax, edi
lea edi, [esp + 0x128]
mov esi, eax
movsd qword [edx + 0x4c], xmm0
movsd xmm0, qword [esp + 0x50]
movsd qword [edx + 0x44], xmm0
movsd xmm0, qword [esp + 0x48]
movsd qword [edx + 0x3c], xmm0
movsd xmm0, qword [esp + 0x38]
movsd qword [edx + 0x2c], xmm0
movsd xmm0, qword [esp + 0x280]
movsd qword [esp + 0x90], xmm1
movsd qword [esp + 0x88], xmm0
movsd xmm0, qword [esp + 0x290]
movsd qword [esp + 0x98], xmm0
movsd xmm0, qword [esp + 0x298]
movsd qword [esp + 0xa0], xmm0
movsd xmm0, qword [esp + 0x2a0]
movsd qword [esp + 0xa8], xmm0
movsd xmm0, qword [esp + 0x2a8]
movsd qword [esp + 0xb0], xmm0
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x19
mov edi, eax
lea esi, [esp + 0x128]
rep movsd dword es:[edi], dword [esi]
movsd xmm1, qword [edx + 0x4c]
movsd xmm2, qword [edx + 0x44]
mov eax, dword [edx + 0x5c]
movsd xmm0, qword [edx + 0x54]
movsd qword [esp + 0x248], xmm1
movsd xmm1, qword [edx + 0x3c]
movsd qword [esp + 0x240], xmm2
movsd xmm2, qword [edx + 0x2c]
mov dword [esp + 0x258], eax
movsd qword [esp + 0x250], xmm0
movsd qword [esp + 0x238], xmm1
movsd xmm1, qword [edx + 0x34]
movsd qword [esp + 0x228], xmm2
movsd qword [esp + 0x230], xmm1
jne 0x554d69
lea ecx, [esp + 0x38]
lea edx, [esp + 0x228]
call fcn.004b5c90
cmp dword [esp + 0x38], 0
mov esi, dword [esp + 0x28]
je 0x554e24
movsd xmm0, qword [esp + 0x40]
movss xmm1, dword [esp + 0x3c]
cmp dword [esp + 0x228], 3
jne 0x554e97
mov ecx, dword [esp + 0x234]
test ecx, ecx
je 0x559de4
mov eax, dword [esp + 0x230]
xor edx, edx
div ecx
mov esi, eax
jmp 0x554eba
mov edx, dword [esp]
xor esi, esi
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x2d0], esi
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x1cc], eax
mov eax, dword [esp + 0x2c]
lea ecx, [esi + ecx + 0x9c]
mov dword [esp + 0x30], ecx
mov esi, dword [eax + 8]
mov edi, dword [eax + 4]
shl esi, 5
add esi, edi
lea ecx, [esp + 0x38]
nop dword [eax]
cmp edi, esi
je 0x554830
mov eax, dword [edi + 0x14]
cmp dword [edx + 0xc4], eax
jbe 0x559acc
add edi, 0x20
cmp eax, dword [esp + 8]
jne 0x554060
mov eax, dword [edi - 0x18]
mov ecx, dword [esp + 0x2c]
cmp dword [ecx + 0x14], eax
jbe 0x55a221
mov ecx, dword [ecx + 0x10]
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 + 0xc]
cmp dword [edx + 0x10], eax
jbe 0x55a1fe
movzx ecx, byte [edi - 8]
mov dword [esp + 0xf0], esi
test ecx, ecx
je 0x55a212
dec ecx
mov esi, dword [edx + 0xc]
lea ebx, [eax + eax*8]
mov ecx, dword [ecx*4 + 0x55a514]
shl ebx, 4
lea eax, [esi + ebx]
add ecx, dword [esp + 0x1ac]
jmp ecx
mov edx, dword [esp + 0x34]
call fcn.004ec580
mov edx, dword [esp + 0x2c]
xor esi, esi
mov eax, str.vmesh_src_char_anim.rs
mov ecx, 0
cmp dword [edx + 0x18], 0x80000000
je 0x554858
mov eax, dword [edx + 0x1c]
mov ecx, dword [edx + 0x20]
mov dword [esp + 0x1e8], eax
lea eax, [esp + 0x1e8]
mov dword [esp + 0x88], 0x58674c
mov dword [esp + 0x8c], 1
mov dword [esp + 0x1ec], ecx
mov dword [esp + 0x98], 0
mov dword [esp + 0x280], eax
lea eax, [esp + 0x280]
mov dword [esp + 0x284], 0x461c30
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], 1
lea edi, [esp + 0x88]
mov ecx, ebx
mov edx, edi
call fcn.0042a380
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x12c]
test ecx, ecx
mov dword [esp + 0xf0], eax
je 0x554a00
mov eax, dword [esp + 0x130]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
lea eax, [ecx + 0x10c]
mov dword [esp + 0x24], ecx
movzx ecx, word [ecx + 0x192]
mov ebx, 0xffffffff
mov dword [esp + 0x28], ecx
lea ecx, [ecx*4]
lea edi, [ecx + ecx*2]
nop word [eax + eax]
test edi, edi
je 0x554980
lea ecx, [eax + 0xc]
mov edx, dword [esp + 0x30]
mov dword [esp + 8], ecx
mov ecx, dword [eax + 8]
mov esi, edx
sub esi, ecx
cmovb ecx, edx
push ecx
push dword [eax + 4]
push dword [esp + 0xf8]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
cmovne esi, eax
xor ecx, ecx
mov eax, 0xff
test esi, esi
setne cl
cmovs ecx, eax
mov eax, dword [esp + 8]
inc ebx
add edi, 0xfffffff4
cmp cl, 1
je 0x554920
movzx eax, cl
test eax, eax
jne 0x554984
jmp 0x5549b0
mov ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
xor esi, esi
mov eax, dword [esp + 0x34]
sub eax, 1
jb 0x554e5c
mov ecx, dword [ecx + ebx*4 + 0x198]
mov dword [esp + 0x34], eax
jmp 0x5548f6
mov ecx, dword [esp + 0x24]
lea eax, [ebx + ebx*2]
xor esi, esi
lea edi, [esp + 0x88]
lea ebx, [esp + 0x128]
cmp byte [ecx + eax*8], 2
jne 0x554a38
lea eax, [ecx + eax*8]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x554a0c
cmp ecx, 1
jne 0x554a2e
fild qword [eax + 0x10]
fstp qword [esp + 0x518]
mov esi, 1
movsd xmm0, qword [esp + 0x518]
jmp 0x554a38
cmp dword [esp + 0x128], 0
jne 0x554a4c
jmp 0x554a60
movsd xmm1, qword [eax + 0x10]
unpcklps xmm1, xmmword [0x573fe0]
subpd xmm1, xmmword [0x573ff0]
movapd xmm0, xmm1
unpckhpd xmm0, xmm1
addsd xmm0, xmm1
jmp 0x554a33
movsd xmm0, qword [eax + 0x10]
mov esi, 1
cvtsd2ss xmm0, xmm0
movss dword [esp + 8], xmm0
cmp dword [esp + 0x128], 0
je 0x554a60
push dword [esp + 0xf0]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
movss xmm0, dword [esp + 0x338]
test esi, esi
je 0x554a73
movss xmm0, dword [esp + 8]
or esi, dword [esp + 0x334]
jne 0x554bf0
cmp dword [esp + 0x190], 0
je 0x554a9e
mov eax, dword [esp + 4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 8], ecx
mov dword [esp + 0xf0], eax
cmp dword [esp + 0x20], 0
je 0x554ac9
mov edx, dword [esp + 0x110]
lea ecx, [esp + 0x12c]
mov eax, dword [edx + 0xc]
mov dword [ecx + 8], eax
mov eax, 1
movsd xmm0, qword [edx + 4]
movsd qword [ecx], xmm0
jmp 0x554acb
xor eax, eax
cmp dword [esp + 0x190], 0
mov dword [esp + 0x128], eax
mov cl, 1
mov al, 1
je 0x554b11
mov edi, dword [esp + 0x190]
mov ebx, dword [esp + 4]
shl edi, 4
nop
test edi, edi
sete al
je 0x554b11
mov edx, dword [ebx]
mov esi, dword [ebx + 4]
add edi, 0xfffffff0
add ebx, 0x10
xor edx, dword [esp + 8]
xor esi, dword [esp + 0xf0]
or esi, edx
je 0x554af0
cmp dword [esp + 0x20], 0
lea edi, [esp + 0x88]
lea ebx, [esp + 0x128]
je 0x554bd0
mov ecx, dword [esp + 0x20]
movss xmm0, dword [esp + 0x12c]
movss xmm1, dword [esp + 0x130]
movss xmm2, dword [esp + 0x134]
mov esi, dword [esp + 0x110]
lea ecx, [ecx*8]
lea edx, [ecx + ecx*4]
nop word [eax + eax]
test edx, edx
sete cl
je 0x554bd0
mov edi, dword [esi + 0xc]
lea ebx, [esp + 0x8c]
mov dword [ebx + 8], edi
movsd xmm3, qword [esi + 4]
movsd qword [ebx], xmm3
movss xmm3, dword [esp + 0x8c]
ucomiss xmm3, xmm0
jne 0x554e39
jp 0x554e39
movss xmm3, dword [esp + 0x90]
lea edi, [esp + 0x88]
lea ebx, [esp + 0x128]
ucomiss xmm3, xmm1
jne 0x554bd0
jp 0x554bd0
movss xmm3, dword [esp + 0x94]
add esi, 0x28
add edx, 0xffffffd8
ucomiss xmm3, xmm2
jne 0x554bd0
jnp 0x554b60
nop dword [eax]
movss xmm0, dword [0x574000]
test cl, cl
jne 0x554be4
movss xmm0, dword [0x574004]
test al, al
jne 0x554bf0
movss xmm0, dword [0x574004]
mov ecx, dword [esp + 0x38]
movss dword [esp + 8], xmm0
test ecx, ecx
je 0x554c40
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], edx
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], ecx
mov ecx, 1
mov dword [esp + 0xa4], edx
jmp 0x554c44
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x88], ecx
mov dword [esp + 0x98], ecx
mov dword [esp + 0xa8], eax
nop dword [eax]
mov ecx, ebx
mov edx, edi
call fcn.0052f1f0
cmp dword [esp + 0x128], 0
je 0x554c80
mov ecx, ebx
call fcn.0052f3a0
jmp 0x554c60
mov edx, dword [esp + 0x27c]
cmp edx, dword [esp + 0x274]
jne 0x5537f0
lea ecx, [esp + 0x274]
call fcn.004b6ce0
mov edx, dword [esp + 0x27c]
jmp 0x5537f0
movsd xmm2, qword [edx + 0x54]
movsd xmm1, qword [edx + 0x4c]
movsd xmm0, qword [edx + 0x5c]
movsd qword [esp + 0x210], xmm2
movsd qword [esp + 0x208], xmm1
movsd xmm2, qword [edx + 0x44]
movsd xmm1, qword [edx + 0x3c]
movsd qword [esp + 0x218], xmm0
movsd qword [esp + 0x200], xmm2
movsd qword [esp + 0x1f8], xmm1
movsd xmm2, qword [edx + 0x2c]
movsd xmm1, qword [edx + 0x34]
movsd qword [esp + 0x1f0], xmm1
movsd qword [esp + 0x1e8], xmm2
lea ecx, [esp + 0x38]
lea edx, [esp + 0x1e8]
call fcn.004e6bd0
cmp word [esp + 0x38], 0
je 0x554e89
mov eax, dword [esp + 0x1e8]
movsd xmm0, qword [esp + 0x3a]
mov eax, dword [eax*4 + 0x55a4c4]
add eax, dword [esp + 0x1ac]
jmp eax
movsd xmm1, qword [edx + 0x4c]
movsd xmm2, qword [edx + 0x44]
mov eax, dword [edx + 0x5c]
movsd xmm0, qword [edx + 0x54]
movsd qword [esp + 0x208], xmm1
movsd xmm1, qword [edx + 0x3c]
movsd qword [esp + 0x200], xmm2
movsd xmm2, qword [edx + 0x2c]
mov dword [esp + 0x218], eax
movsd qword [esp + 0x210], xmm0
movsd qword [esp + 0x1f8], xmm1
movsd xmm1, qword [edx + 0x34]
movsd qword [esp + 0x1e8], xmm2
movsd qword [esp + 0x1f0], xmm1
lea ecx, [esp + 0x38]
lea edx, [esp + 0x1e8]
call fcn.004b5c90
cmp dword [esp + 0x38], 0
mov esi, dword [esp + 0x28]
je 0x554e24
movsd xmm0, qword [esp + 0x40]
movss xmm1, dword [esp + 0x3c]
cmp dword [esp + 0x1e8], 3
lea ebx, [esp + 0x128]
jne 0x555157
mov ecx, dword [esp + 0x1f4]
test ecx, ecx
je 0x559e0c
mov eax, dword [esp + 0x1f0]
xor edx, edx
div ecx
mov esi, eax
jmp 0x55517a
mov ecx, 4
xor edx, edx
xor edi, edi
lea ebx, [esp + 0x128]
jmp 0x555529
lea edi, [esp + 0x88]
lea ebx, [esp + 0x128]
movss xmm0, dword [0x574000]
test cl, cl
je 0x554bdc
jmp 0x554be4
lea edi, [esp + 0x88]
lea ebx, [esp + 0x128]
cmp dword [esp + 0x128], 0
jne 0x554a4c
jmp 0x554a60
xor ecx, ecx
mov eax, 2
jmp 0x556001
mov esi, 2
xor edi, edi
xor ebx, ebx
jmp 0x5563bd
mov ecx, dword [esp + 0x248]
test ecx, ecx
je 0x559df8
mov eax, dword [esp + 0x244]
xor edx, edx
div ecx
mov esi, eax
sub esi, dword [esp + 0x258]
cmp edx, 0xc
mov eax, 0xffffffff
sbb esi, 0xffffffff
inc esi
cmove esi, eax
mov eax, 4
cmp esi, 5
cmovb esi, eax
cmp esi, 0xaaaaaaa
ja 0x55a368
lea eax, [esi*4]
lea ebx, [eax + eax*2]
test ebx, ebx
js 0x55a36d
movaps xmmword [esp + 0x2d0], xmm1
movaps xmmword [esp + 0xf0], xmm0
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x554f24
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x55a323
mov dword [0x5970d8], eax
push ebx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x55a323
movaps xmm0, xmmword [esp + 0x2d0]
mov edi, eax
mov ebx, 0x10
xorps xmm0, xmmword [0x573fa0]
movss dword [eax], xmm0
movaps xmm0, xmmword [esp + 0xf0]
movlps qword [eax + 4], xmm0
mov dword [esp + 0x100], esi
mov dword [esp + 0x104], eax
mov esi, 1
mov dword [esp + 0x108], 1
movsd xmm1, qword [esp + 0x248]
movsd xmm2, qword [esp + 0x240]
mov eax, dword [esp + 0x258]
movsd xmm0, qword [esp + 0x250]
movsd qword [esp + 0x58], xmm1
movsd xmm1, qword [esp + 0x238]
movsd qword [esp + 0x50], xmm2
movsd xmm2, qword [esp + 0x228]
mov dword [esp + 0x68], eax
movsd qword [esp + 0x60], xmm0
movsd qword [esp + 0x48], xmm1
movsd xmm1, qword [esp + 0x230]
movsd qword [esp + 0x38], xmm2
movsd qword [esp + 0x40], xmm1
jmp 0x55503d
cmp edx, 0xc
mov ecx, 0xffffffff
sbb eax, 0xffffffff
inc eax
cmove eax, ecx
lea ecx, [esp + 0x100]
mov edx, esi
push eax
call fcn.004b7790
add esp, 4
mov edi, dword [esp + 0x104]
movaps xmm0, xmmword [esp + 0xf0]
movapd xmm1, xmmword [esp + 0x2d0]
nop dword [eax]
xorpd xmm1, xmmword [0x573fa0]
inc esi
movss dword [edi + ebx - 4], xmm1
movlps qword [edi + ebx], xmm0
mov dword [esp + 0x108], esi
add ebx, 0xc
lea ecx, [esp + 0x1b0]
lea edx, [esp + 0x38]
call fcn.004b5c90
cmp dword [esp + 0x1b0], 0
je 0x5550c0
movsd xmm0, qword [esp + 0x1b8]
movss xmm1, dword [esp + 0x1b4]
cmp esi, dword [esp + 0x100]
jne 0x555020
cmp dword [esp + 0x38], 3
movaps xmmword [esp + 0xf0], xmm0
movapd xmmword [esp + 0x2d0], xmm1
jne 0x5550a3
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x559c44
mov eax, dword [esp + 0x40]
xor edx, edx
div ecx
jmp 0x554fe0
mov ecx, dword [esp + 0x58]
test ecx, ecx
je 0x559c1c
mov eax, dword [esp + 0x54]
xor edx, edx
div ecx
sub eax, dword [esp + 0x68]
jmp 0x554fe0
mov eax, dword [esp + 0x104]
mov ecx, dword [esp + 0x100]
test esi, esi
mov dword [esp + 0x2d0], eax
je 0x5553f2
mov eax, esi
mov edx, 0xaaaaaaab
xor ebx, ebx
mov dword [esp + 0x2e4], ecx
mul edx
shr edx, 1
cmp eax, 0x55555556
setae bl
add ebx, edx
je 0x555422
cmp ebx, 0x38e38e3
ja 0x55a3c8
lea eax, [ebx*4]
lea edi, [eax + eax*8]
test edi, edi
js 0x55a3cd
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x555141
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x55a3ad
mov dword [0x5970d8], eax
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
jne 0x555427
jmp 0x55a3ad
mov ecx, dword [esp + 0x208]
test ecx, ecx
je 0x559dd0
mov eax, dword [esp + 0x204]
xor edx, edx
div ecx
mov esi, eax
sub esi, dword [esp + 0x218]
cmp edx, 0xc
mov eax, 0xffffffff
sbb esi, 0xffffffff
inc esi
cmove esi, eax
mov eax, 4
cmp esi, 5
cmovb esi, eax
cmp esi, 0x38e38e3
ja 0x55a372
lea eax, [esi*4]
lea ecx, [eax + eax*8]
test ecx, ecx
js 0x55a377
movaps xmmword [esp + 0x2d0], xmm1
movaps xmmword [esp + 0xf0], xmm0
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
mov dword [esp + 0x260], ecx
test eax, eax
jne 0x5551f2
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x55a32f
mov dword [0x5970d8], eax
mov ecx, dword [esp + 0x260]
push ecx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x55a32f
movaps xmm1, xmmword [esp + 0x2d0]
movaps xmm0, xmmword [esp + 0xf0]
mov edi, eax
mov dword [esp + 0xf0], 1
xorps xmm1, xmmword [0x573fa0]
movss dword [eax], xmm1
movlps qword [eax + 4], xmm0
movss dword [eax + 0xc], xmm1
movlps qword [eax + 0x10], xmm0
movss dword [eax + 0x18], xmm1
movlps qword [eax + 0x1c], xmm0
mov dword [esp + 0x100], esi
mov dword [esp + 0x104], eax
mov esi, 0x40
mov dword [esp + 0x108], 1
movsd xmm1, qword [esp + 0x208]
movsd xmm2, qword [esp + 0x200]
mov eax, dword [esp + 0x218]
movsd xmm0, qword [esp + 0x210]
movsd qword [esp + 0x58], xmm1
movsd xmm1, qword [esp + 0x1f8]
movsd qword [esp + 0x50], xmm2
movsd xmm2, qword [esp + 0x1e8]
mov dword [esp + 0x68], eax
movsd qword [esp + 0x60], xmm0
movsd qword [esp + 0x48], xmm1
movsd xmm1, qword [esp + 0x1f0]
movsd qword [esp + 0x38], xmm2
movsd qword [esp + 0x40], xmm1
jmp 0x55534a
cmp edx, 0xc
mov ecx, 0xffffffff
sbb eax, 0xffffffff
inc eax
cmove eax, ecx
mov edi, dword [esp + 0xf0]
lea ecx, [esp + 0x100]
mov edx, edi
push eax
call fcn.004b7830
mov eax, edi
add esp, 4
mov edi, dword [esp + 0x104]
movaps xmm0, xmmword [esp + 0x2d0]
movapd xmm1, xmmword [esp + 0x260]
nop dword [eax + eax]
xorpd xmm1, xmmword [0x573fa0]
inc eax
mov dword [esp + 0xf0], eax
movss dword [edi + esi - 0x1c], xmm1
movlps qword [edi + esi - 0x18], xmm0
movss dword [edi + esi - 0x10], xmm1
movlps qword [edi + esi - 0xc], xmm0
movss dword [edi + esi - 4], xmm1
movlps qword [edi + esi], xmm0
mov dword [esp + 0x108], eax
add esi, 0x24
lea ecx, [esp + 0x1b0]
lea edx, [esp + 0x38]
call fcn.004b5c90
cmp dword [esp + 0x1b0], 0
je 0x5553d4
mov eax, dword [esp + 0xf0]
movsd xmm0, qword [esp + 0x1b8]
movss xmm1, dword [esp + 0x1b4]
cmp eax, dword [esp + 0x100]
jne 0x555310
cmp dword [esp + 0x38], 3
movaps xmmword [esp + 0x2d0], xmm0
movapd xmmword [esp + 0x260], xmm1
jne 0x5553b7
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x559c30
mov eax, dword [esp + 0x40]
xor edx, edx
div ecx
jmp 0x5552c9
mov ecx, dword [esp + 0x58]
test ecx, ecx
je 0x559c08
mov eax, dword [esp + 0x54]
xor edx, edx
div ecx
sub eax, dword [esp + 0x68]
jmp 0x5552c9
mov edi, dword [esp + 0x100]
mov ecx, dword [esp + 0x104]
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0xf0]
jmp 0x555529
mov dword [esp + 0x1a8], 4
mov dword [esp + 0x260], 0
xor edx, edx
lea ebx, [esp + 0x128]
mov esi, dword [esp + 0x28]
test ecx, ecx
jne 0x555503
jmp 0x55551b
mov eax, 4
mov ecx, dword [esp + 0x2d0]
xor edx, edx
mov dword [esp + 0x260], ebx
mov dword [esp + 0x1a8], eax
nop
mov dword [esp + 0xf0], edx
cmp esi, 3
mov edx, 3
cmovb edx, esi
test edx, edx
je 0x559229
cmp edx, 1
je 0x559237
cmp esi, 2
jbe 0x55924b
mov ebx, dword [ecx + 0x20]
lea edi, [esp + 0x50]
sub esi, edx
mov dword [edi + 8], ebx
movsd xmm0, qword [ecx + 0x18]
movsd qword [edi], xmm0
mov ebx, dword [ecx + 8]
mov dword [esp + 0x40], ebx
movsd xmm0, qword [ecx]
movsd qword [esp + 0x38], xmm0
mov ebx, dword [ecx + 0x14]
mov dword [edi - 4], ebx
lea ebx, [edx + edx*2]
movsd xmm0, qword [ecx + 0xc]
lea ecx, [ecx + ebx*4]
lea ebx, [esp + 0x128]
movsd qword [edi - 0xc], xmm0
mov edx, dword [esp + 0x58]
mov dword [eax + 0x20], edx
mov edx, dword [esp + 0xf0]
movsd xmm0, qword [esp + 0x50]
inc edx
movsd qword [eax + 0x18], xmm0
movsd xmm0, qword [esp + 0x48]
movsd qword [eax + 0x10], xmm0
movsd xmm0, qword [esp + 0x38]
movsd xmm1, qword [esp + 0x40]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
add eax, 0x24
test esi, esi
jne 0x555440
mov ecx, dword [esp + 0x2e4]
mov esi, dword [esp + 0x28]
test ecx, ecx
je 0x55551b
push dword [esp + 0x2d0]
push 0
push dword [0x5970d8]
mov edi, edx
call sub.KERNEL32.dll_HeapFree
mov edx, edi
mov edi, dword [esp + 0x260]
mov ecx, dword [esp + 0x1a8]
movsd xmm0, qword [esp + 0x150]
lea eax, [edx + edx*8]
mov edx, ecx
mov dword [esp + 0x280], esi
movsd xmm1, qword [esp + 0x130]
lea eax, [ecx + eax*4]
lea ecx, [esp + 0x284]
movsd qword [ecx + 0x28], xmm0
movsd xmm0, qword [esp + 0x148]
movsd qword [ecx + 8], xmm1
movsd qword [ecx + 0x20], xmm0
movsd xmm0, qword [esp + 0x140]
movsd qword [ecx + 0x18], xmm0
movsd xmm0, qword [esp + 0x138]
movsd qword [ecx + 0x10], xmm0
movsd xmm0, qword [esp + 0x128]
movsd qword [ecx], xmm0
mov dword [esp + 0x2b4], edx
mov dword [esp + 0x2b8], edi
mov dword [esp + 0x2bc], edx
mov dword [esp + 0x2c0], eax
mov dword [esp + 0x2c4], 0
mov dword [esp + 0x2c8], 0
mov dword [esp + 0x2cc], 0
lea ecx, [esp + 0x280]
call fcn.004b61e0
test eax, eax
je 0x5556c5
mov eax, dword [esp + 0x2bc]
mov ecx, dword [esp + 0x2c0]
cmp eax, ecx
je 0x5556c5
lea esi, [eax + 0x24]
lea edx, [esp + 0x50]
mulss xmm0, dword [0x573f90]
mov dword [esp + 0x2bc], esi
movsd xmm1, qword [eax + 0x10]
mulss xmm0, dword [0x573f94]
movsd qword [esp + 0x48], xmm1
movsd xmm1, qword [eax]
movsd xmm2, qword [eax + 8]
ucomiss xmm0, dword [0x573f98]
cvttss2si ebx, xmm0
movsd qword [esp + 0x40], xmm2
movsd qword [esp + 0x38], xmm1
mov eax, dword [edx - 4]
movsd xmm1, qword [edx - 0xc]
movsd xmm2, qword [edx - 0xc]
mov dword [esp + 0x320], eax
mov eax, dword [edx - 4]
movsd qword [esp + 0x318], xmm1
movsd xmm1, qword [edx - 0xc]
movsd qword [esp + 0x1b0], xmm2
mov dword [esp + 0x1b8], eax
mov eax, dword [edx - 4]
movsd qword [esp + 0x100], xmm1
mov dword [esp + 0x108], eax
mov eax, 0x7fffffff
cmova ebx, eax
ucomiss xmm0, xmm0
mov eax, 0
cmovp ebx, eax
cmp dword [esp + 0x280], 3
jne 0x5556fa
mov edi, dword [esp + 0x28c]
test edi, edi
je 0x559cee
mov eax, dword [esp + 0x288]
xor edx, edx
div edi
mov edi, eax
jmp 0x55571d
cmp dword [esp + 0x2b8], 0
je 0x5556e3
push dword [esp + 0x2b4]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
mov edx, dword [esp]
mov dword [esp + 0x110], 4
xor eax, eax
xor esi, esi
jmp 0x555a5c
mov edi, dword [esp + 0x2a0]
test edi, edi
je 0x559d02
mov eax, dword [esp + 0x29c]
xor edx, edx
div edi
mov edi, eax
sub edi, dword [esp + 0x2b0]
cmp edx, 4
mov edx, 0x38e38e39
sbb edi, 0xffffffff
sub ecx, esi
mov eax, ecx
mul edx
mov eax, 3
mov esi, edx
shr esi, 3
cmp edi, esi
cmovb esi, edi
cmp esi, 4
cmovb esi, eax
cmp esi, 0x3333332
ja 0x55a34f
lea eax, [esi*8 + 8]
lea edi, [eax + eax*4]
test edi, edi
js 0x55a34a
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x555783
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x55a2c8
mov dword [0x5970d8], eax
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x55a2c8
mov dword [eax], ebx
inc esi
mov dword [esp + 0x28], eax
lea edi, [esp + 0x38]
mov ecx, dword [esp + 0x1b8]
mov dword [eax + 0xc], ecx
movsd xmm0, qword [esp + 0x1b0]
movsd qword [eax + 4], xmm0
mov ecx, dword [esp + 0x108]
mov dword [eax + 0x18], ecx
movsd xmm0, qword [esp + 0x100]
movsd qword [eax + 0x10], xmm0
movsd xmm0, qword [esp + 0x318]
movsd qword [eax + 0x1c], xmm0
mov ecx, dword [esp + 0x320]
mov dword [eax + 0x24], ecx
mov dword [esp + 0x300], esi
mov dword [esp + 0x304], eax
mov dword [esp + 0x308], 1
mov ecx, 0x14
lea esi, [esp + 0x280]
rep movsd dword es:[edi], dword [esi]
mov edi, 0x28
mov dword [esp + 0xf0], 1
jmp 0x5558f7
mov eax, dword [esp + 0x58]
test eax, eax
je 0x559da8
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x54]
xor edx, edx
div dword [esp + 0x28]
sub eax, dword [esp + 0x68]
cmp edx, 4
sbb eax, 0xffffffff
sub ecx, esi
mov dword [esp + 0x28], eax
mov eax, ecx
mov ecx, 0x38e38e39
mul ecx
mov ecx, dword [esp + 0x28]
mov eax, edx
shr eax, 3
cmp ecx, eax
cmovb eax, ecx
inc eax
mov esi, dword [esp + 0xf0]
lea ecx, [esp + 0x300]
mov edx, esi
push eax
call fcn.004b7f10
mov edx, esi
add esp, 4
mov eax, dword [esp + 0x304]
mov dword [esp + 0x28], eax
nop dword [eax + eax]
mov ecx, dword [esp + 0x28]
inc edx
mov dword [esp + 0xf0], edx
mov dword [ecx + edi], ebx
mov eax, dword [esp + 0x108]
mov dword [ecx + edi + 0xc], eax
movsd xmm0, qword [esp + 0x100]
movsd qword [ecx + edi + 4], xmm0
mov eax, dword [esp + 0x320]
mov dword [ecx + edi + 0x18], eax
movsd xmm0, qword [esp + 0x318]
movsd qword [ecx + edi + 0x10], xmm0
movsd xmm0, qword [esp + 0x4f0]
movsd qword [ecx + edi + 0x1c], xmm0
mov eax, dword [esp + 0x4f8]
mov dword [ecx + edi + 0x24], eax
mov dword [esp + 0x308], edx
add edi, 0x28
lea ecx, [esp + 0x38]
call fcn.004b61e0
test eax, eax
je 0x555a00
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
cmp eax, ecx
je 0x555a00
lea esi, [eax + 0x24]
lea edx, [esp + 0x1bc]
mulss xmm0, dword [0x573f90]
mov dword [esp + 0x74], esi
movsd xmm1, qword [eax + 0x10]
mulss xmm0, dword [0x573f94]
movsd qword [esp + 0x1c0], xmm1
movsd xmm1, qword [eax]
movsd xmm2, qword [eax + 8]
ucomiss xmm0, dword [0x573f98]
cvttss2si ebx, xmm0
movsd qword [esp + 0x1b8], xmm2
movsd qword [esp + 0x1b0], xmm1
mov eax, dword [edx + 8]
movsd xmm1, qword [edx]
movsd xmm2, qword [edx]
mov dword [esp + 0x4f8], eax
mov eax, dword [edx + 8]
movsd qword [esp + 0x4f0], xmm1
movsd xmm1, qword [edx]
movsd qword [esp + 0x100], xmm2
mov dword [esp + 0x108], eax
mov eax, dword [edx + 8]
mov edx, dword [esp + 0xf0]
movsd qword [esp + 0x318], xmm1
mov dword [esp + 0x320], eax
mov eax, 0x7fffffff
cmova ebx, eax
ucomiss xmm0, xmm0
mov eax, 0
cmovp ebx, eax
cmp edx, dword [esp + 0x300]
jne 0x555890
cmp dword [esp + 0x38], 3
jne 0x555823
mov eax, dword [esp + 0x44]
test eax, eax
je 0x559dbc
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x40]
xor edx, edx
div dword [esp + 0x28]
jmp 0x555841
cmp dword [esp + 0x70], 0
je 0x555a26
push dword [esp + 0x6c]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x308]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0x300]
mov edx, dword [esp]
mov esi, 0
lea ebx, [esp + 0x128]
cmp eax, 0x80000000
je 0x554025
mov ecx, dword [esp + 0x304]
mov esi, dword [esp + 0xf0]
mov dword [esp + 0x110], ecx
mov ecx, esi
mov dword [esp + 0x20], esi
mov esi, eax
jmp 0x554025
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 2
mov dword [esp + 0x40], 0
xor ebx, ebx
mov esi, 2
xor edi, edi
test ecx, ecx
jne 0x5560bb
jmp 0x5563bd
push eax
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x5563bd
mov ecx, dword [esp + 0x20]
movsd xmm0, qword [esp + 0x150]
movsd xmm1, qword [esp + 0x130]
lea eax, [edi + edi*2]
lea eax, [esi + eax*8]
mov dword [esp + 0x280], ecx
lea ecx, [esp + 0x284]
movsd qword [ecx + 0x28], xmm0
movsd xmm0, qword [esp + 0x148]
movsd qword [ecx + 8], xmm1
movsd qword [ecx + 0x20], xmm0
movsd xmm0, qword [esp + 0x140]
movsd qword [ecx + 0x18], xmm0
movsd xmm0, qword [esp + 0x138]
movsd qword [ecx + 0x10], xmm0
movsd xmm0, qword [esp + 0x128]
movsd qword [ecx], xmm0
mov dword [esp + 0x2b4], esi
mov dword [esp + 0x2b8], ebx
mov dword [esp + 0x2bc], esi
mov dword [esp + 0x2c0], eax
mov dword [esp + 0x2c4], 0
mov dword [esp + 0x2c8], 0
mov dword [esp + 0x2cc], 0
lea ecx, [esp + 0x280]
call fcn.004b61e0
test eax, eax
je 0x5564ec
mov eax, dword [esp + 0x2bc]
mov ecx, dword [esp + 0x2c0]
cmp eax, ecx
je 0x5564ec
mulss xmm0, dword [0x573f90]
mov edx, 0x7fffffff
mov esi, 0
mulss xmm0, dword [0x573f94]
ucomiss xmm0, dword [0x573f98]
cvttss2si ebx, xmm0
cmova ebx, edx
ucomiss xmm0, xmm0
cmovp ebx, esi
lea esi, [eax + 0x18]
mov dword [esp + 0x2bc], esi
movsd xmm0, qword [eax + 8]
cmp dword [esp + 0x280], 3
jne 0x55652c
mov edi, dword [esp + 0x28c]
test edi, edi
je 0x559cda
mov eax, dword [esp + 0x288]
xor edx, edx
div edi
mov edi, eax
jmp 0x55654f
cmp dword [esp + 0x2b8], 0
lea edi, [esp + 0x88]
lea ebx, [esp + 0x128]
je 0x556518
push dword [esp + 0x2b4]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
mov edx, dword [esp]
mov dword [esp + 4], 4
xor eax, eax
xor ecx, ecx
jmp 0x5567a7
mov edi, dword [esp + 0x2a0]
test edi, edi
je 0x559cc6
mov eax, dword [esp + 0x29c]
xor edx, edx
div edi
mov edi, eax
sub edi, dword [esp + 0x2b0]
cmp edx, 4
mov edx, 0xaaaaaaab
sbb edi, 0xffffffff
sub ecx, esi
mov eax, ecx
mul edx
mov eax, 3
mov esi, edx
shr esi, 4
cmp edi, esi
cmovb esi, edi
cmp esi, 4
cmovb esi, eax
cmp esi, 0x7fffffe
ja 0x55a345
inc esi
mov edi, esi
shl edi, 4
js 0x55a340
movaps xmmword [esp + 0x110], xmm0
mov dword [esp + 0x20], ebx
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x5565bb
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x55a2bc
mov dword [0x5970d8], eax
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x55a2bc
movaps xmm0, xmmword [esp + 0x110]
mov ecx, dword [esp + 0x20]
mov ebx, eax
lea edi, [esp + 0x38]
movlps qword [eax], xmm0
mov dword [ebx + 8], ecx
mov word [ebx + 0xc], 0
mov dword [esp + 0x1b0], esi
mov dword [esp + 0x1b4], ebx
mov dword [esp + 0x1b8], 1
mov ecx, 0x14
lea esi, [esp + 0x280]
rep movsd dword es:[edi], dword [esi]
mov edi, 0x1d
mov dword [esp + 0x20], 1
jmp 0x556690
cmp edx, 4
sbb ebx, 0xffffffff
sub ecx, dword [esp + 0xf0]
mov eax, ecx
mov ecx, 0xaaaaaaab
mul ecx
mov eax, edx
shr eax, 4
cmp ebx, eax
cmovb eax, ebx
inc eax
mov ebx, dword [esp + 0x20]
lea ecx, [esp + 0x1b0]
mov edx, ebx
push eax
call fcn.004b7b50
mov eax, ebx
add esp, 4
mov ebx, dword [esp + 0x1b4]
movapd xmm1, xmmword [esp + 0x110]
nop dword [eax]
inc eax
movlpd qword [ebx + edi - 0xd], xmm1
mov dword [ebx + edi - 5], esi
mov word [ebx + edi - 1], 0
add edi, 0x10
mov dword [esp + 0x20], eax
mov dword [esp + 0x1b8], eax
lea ecx, [esp + 0x38]
call fcn.004b61e0
test eax, eax
je 0x55674d
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
cmp eax, ecx
je 0x55674d
mulss xmm0, dword [0x573f90]
lea edx, [eax + 0x18]
mov dword [esp + 0x74], edx
movsd xmm1, qword [eax + 8]
mov eax, 0x7fffffff
mulss xmm0, dword [0x573f94]
ucomiss xmm0, dword [0x573f98]
cvttss2si esi, xmm0
cmova esi, eax
ucomiss xmm0, xmm0
mov eax, 0
cmovp esi, eax
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 0x1b0]
jne 0x556670
cmp dword [esp + 0x38], 3
movapd xmmword [esp + 0x110], xmm1
mov dword [esp + 0xf0], edx
jne 0x55672e
mov ebx, dword [esp + 0x44]
test ebx, ebx
je 0x559d80
mov eax, dword [esp + 0x40]
xor edx, edx
div ebx
mov ebx, eax
jmp 0x556620
mov ebx, dword [esp + 0x58]
test ebx, ebx
je 0x559d94
mov eax, dword [esp + 0x54]
xor edx, edx
div ebx
mov ebx, eax
sub ebx, dword [esp + 0x68]
jmp 0x556620
cmp dword [esp + 0x70], 0
je 0x556770
push dword [esp + 0x6c]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x1b8]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1b0]
mov edx, dword [esp]
mov ecx, 0
lea edi, [esp + 0x88]
lea ebx, [esp + 0x128]
cmp eax, 0x80000000
je 0x553c65
mov ecx, dword [esp + 0x1b4]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x190], ecx
mov ecx, eax
jmp 0x553c65
mov eax, dword [esp + 0x27c]
test eax, eax
mov dword [esp + 0x20], eax
je 0x556ba7
mov ecx, dword [esp + 0x278]
xor edx, edx
mov dword [esp], 0
mov dword [esp + 0x24], 0
mov dword [esp + 8], ecx
jmp 0x55680d
mov dword [esp], edx
mov edx, dword [esp + 0x190]
mov ecx, dword [esp + 8]
mov dword [esp + 0x24], edi
inc edx
cmp edx, dword [esp + 0x20]
je 0x556bb6
lea eax, [edx + edx*8]
mov dword [esp + 0x190], edx
lea ebx, [eax + eax*2]
add ebx, edx
mov eax, dword [ecx + ebx + 8]
test eax, eax
je 0x556840
mov esi, dword [ecx + ebx + 4]
xor ecx, ecx
cmp eax, 8
jae 0x556850
mov edi, dword [esp + 0x24]
mov edx, dword [esp]
jmp 0x5569c7
mov edi, dword [esp + 0x24]
mov edx, dword [esp]
jmp 0x5569e2
movd xmm0, dword [esp]
movd xmm1, dword [esp + 0x24]
mov ecx, eax
mov dword [esp + 4], esi
add esi, 0x78
and ecx, 0xfffffff8
mov edi, ecx
pshufd xmm2, xmm1, 0
pshufd xmm0, xmm0, 0
movdqa xmm1, xmm0
movdqa xmm3, xmm2
nop dword [eax + eax]
movd xmm4, dword [esi - 0x40]
movd xmm5, dword [esi - 0x50]
movd xmm6, dword [esi - 0x60]
movd xmm7, dword [esi - 0x20]
punpckldq xmm5, xmm4
movd xmm4, dword [esi - 0x70]
punpckldq xmm4, xmm6
movd xmm6, dword [esi - 0x10]
punpcklqdq xmm4, xmm5
movd xmm5, dword [esi]
punpckldq xmm6, xmm5
movd xmm5, dword [esi - 0x30]
sub esi, 0xffffff80
add edi, 0xfffffff8
punpckldq xmm5, xmm7
movdqa xmm7, xmm0
punpcklqdq xmm5, xmm6
movdqa xmm6, xmm4
pcmpgtd xmm6, xmm0
pand xmm7, xmm6
pandn xmm6, xmm4
movdqa xmm0, xmm6
movdqa xmm6, xmm5
por xmm0, xmm7
pcmpgtd xmm6, xmm1
movdqa xmm7, xmm1
pand xmm7, xmm6
pandn xmm6, xmm5
movdqa xmm1, xmm6
movdqa xmm6, xmm2
pcmpgtd xmm2, xmm4
pand xmm6, xmm2
pandn xmm2, xmm4
por xmm1, xmm7
por xmm2, xmm6
movdqa xmm6, xmm3
pcmpgtd xmm3, xmm5
pand xmm6, xmm3
pandn xmm3, xmm5
por xmm3, xmm6
jne 0x556880
movdqa xmm4, xmm2
mov esi, dword [esp + 4]
cmp eax, ecx
pcmpgtd xmm4, xmm3
pand xmm2, xmm4
pandn xmm4, xmm3
por xmm4, xmm2
pshufd xmm2, xmm4, 0xee
movdqa xmm3, xmm4
pcmpgtd xmm3, xmm2
pand xmm4, xmm3
pandn xmm3, xmm2
por xmm3, xmm4
pshufd xmm2, xmm3, 0x55
movdqa xmm4, xmm3
pcmpgtd xmm4, xmm2
pand xmm3, xmm4
pandn xmm4, xmm2
movdqa xmm2, xmm1
pcmpgtd xmm2, xmm0
por xmm4, xmm3
pand xmm0, xmm2
pandn xmm2, xmm1
movd edi, xmm4
por xmm2, xmm0
pshufd xmm0, xmm2, 0xee
movdqa xmm1, xmm0
pcmpgtd xmm1, xmm2
pand xmm2, xmm1
pandn xmm1, xmm0
por xmm1, xmm2
pshufd xmm0, xmm1, 0x55
movdqa xmm2, xmm0
pcmpgtd xmm2, xmm1
pand xmm1, xmm2
pandn xmm2, xmm0
por xmm2, xmm1
movd edx, xmm2
je 0x5569e2
sub eax, ecx
shl ecx, 4
lea ecx, [esi + ecx + 8]
mov esi, dword [ecx]
cmp edx, esi
cmovge edx, esi
cmp edi, esi
cmovle edi, esi
add ecx, 0x10
dec eax
jne 0x5569d0
mov ecx, dword [esp + 8]
mov eax, dword [ecx + ebx + 0x14]
test eax, eax
je 0x5567f0
mov ecx, dword [ecx + ebx + 0x10]
xor ebx, ebx
cmp eax, 8
jb 0x556b86
mov ebx, eax
movd xmm0, edx
movd xmm1, edi
mov edi, ecx
and ebx, 0xfffffff8
pshufd xmm2, xmm1, 0
pshufd xmm0, xmm0, 0
mov esi, ebx
movdqa xmm1, xmm0
movdqa xmm3, xmm2
nop word cs:[eax + eax]
nop
movd xmm4, dword [edi + 0x78]
movd xmm5, dword [edi + 0x50]
movd xmm6, dword [edi + 0x28]
movd xmm7, dword [edi + 0xc8]
punpckldq xmm5, xmm4
movd xmm4, dword [edi]
punpckldq xmm4, xmm6
movd xmm6, dword [edi + 0xf0]
punpcklqdq xmm4, xmm5
movd xmm5, dword [edi + 0x118]
punpckldq xmm6, xmm5
movd xmm5, dword [edi + 0xa0]
add edi, 0x140
add esi, 0xfffffff8
punpckldq xmm5, xmm7
movdqa xmm7, xmm0
punpcklqdq xmm5, xmm6
movdqa xmm6, xmm4
pcmpgtd xmm6, xmm0
pand xmm7, xmm6
pandn xmm6, xmm4
movdqa xmm0, xmm6
movdqa xmm6, xmm5
por xmm0, xmm7
pcmpgtd xmm6, xmm1
movdqa xmm7, xmm1
pand xmm7, xmm6
pandn xmm6, xmm5
movdqa xmm1, xmm6
movdqa xmm6, xmm2
pcmpgtd xmm2, xmm4
pand xmm6, xmm2
pandn xmm2, xmm4
por xmm1, xmm7
por xmm2, xmm6
movdqa xmm6, xmm3
pcmpgtd xmm3, xmm5
pand xmm6, xmm3
pandn xmm3, xmm5
por xmm3, xmm6
jne 0x556a30
movdqa xmm4, xmm2
cmp eax, ebx
pcmpgtd xmm4, xmm3
pand xmm2, xmm4
pandn xmm4, xmm3
por xmm4, xmm2
pshufd xmm2, xmm4, 0xee
movdqa xmm3, xmm4
pcmpgtd xmm3, xmm2
pand xmm4, xmm3
pandn xmm3, xmm2
por xmm3, xmm4
pshufd xmm2, xmm3, 0x55
movdqa xmm4, xmm3
pcmpgtd xmm4, xmm2
pand xmm3, xmm4
pandn xmm4, xmm2
movdqa xmm2, xmm1
pcmpgtd xmm2, xmm0
por xmm4, xmm3
pand xmm0, xmm2
pandn xmm2, xmm1
movd edi, xmm4
por xmm2, xmm0
pshufd xmm0, xmm2, 0xee
movdqa xmm1, xmm0
pcmpgtd xmm1, xmm2
pand xmm2, xmm1
pandn xmm1, xmm0
por xmm1, xmm2
pshufd xmm0, xmm1, 0x55
movdqa xmm2, xmm0
pcmpgtd xmm2, xmm1
pand xmm1, xmm2
pandn xmm2, xmm0
por xmm2, xmm1
movd edx, xmm2
je 0x5567f0
lea esi, [ebx + ebx*4]
sub eax, ebx
lea ecx, [ecx + esi*8]
nop
mov esi, dword [ecx]
cmp edx, esi
cmovge edx, esi
cmp edi, esi
cmovle edi, esi
add ecx, 0x28
dec eax
jne 0x556b90
jmp 0x5567f0
mov dword [esp + 0x24], 0
mov dword [esp], 0
mov ecx, dword [esp]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x1cc], eax
sub eax, ecx
mov dword [esp + 0x1b0], ecx
mov dword [esp + 0x2d0], eax
mov eax, dword [esp + 0x310]
mov ecx, dword [eax + 0x14]
mov eax, dword [eax + 0x18]
lea eax, [ecx + eax*4]
mov dword [esp + 0x224], eax
jmp 0x556c1c
cmp dword [edx + eax - 4], 0x746f6f72
sete bl
test ecx, ecx
je 0x556c0d
push eax
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
mov ecx, dword [esp + 0x28]
add ecx, 4
test bl, bl
jne 0x55750c
cmp ecx, dword [esp + 0x224]
je 0x5574f8
mov dword [esp + 0x28], ecx
mov eax, dword [ecx]
mov ecx, dword [esp + 0x314]
cmp dword [ecx + 0xc4], eax
jbe 0x55a283
mov ecx, dword [ecx + 0xc0]
lea eax, [eax + eax*2]
xor esi, esi
shl eax, 6
mov dword [esp + 0x2ec], eax
cmp dword [ecx + eax + 0x9c], 0x80000000
mov edx, dword [ecx + eax + 0xa4]
mov ebx, dword [ecx + eax + 0xa0]
mov eax, str.vmesh_src_char_anim.rs
mov dword [esp + 0x2f0], ecx
cmove edx, esi
cmove ebx, eax
test edx, edx
mov dword [esp + 0x110], edx
je 0x556dd0
js 0x55a2a3
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x556cc0
call sub.KERNEL32.dll_GetProcessHeap
mov edi, dword [esp + 0x110]
test eax, eax
je 0x55a297
mov dword [0x5970d8], eax
mov edi, dword [esp + 0x110]
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x55a297
cmp edi, 8
jb 0x556dd5
xor esi, esi
nop word cs:[eax + eax]
nop dword [eax]
movq xmm0, qword [ebx + esi]
movdqa xmm1, xmm0
pand xmm1, xmmword [0x574010]
movd ecx, xmm1
pshufd xmm1, xmm1, 0x55
movd edx, xmm1
or edx, ecx
jne 0x556dd5
movdqa xmm2, xmm0
movd ecx, xmm0
mov edi, esi
mov edx, ecx
mov esi, ecx
shr ecx, 8
shufps xmm2, xmm0, 0x55
movd xmm1, ecx
shr edx, 0x18
movd ecx, xmm2
shr esi, 0x10
movd xmm2, esi
movd xmm3, edx
mov esi, ecx
mov edx, ecx
shr ecx, 8
punpcklqdq xmm1, xmm0
movd xmm4, ecx
shr edx, 0x10
shr esi, 0x18
punpcklqdq xmm3, xmm2
lea ecx, [edi + 8]
shufps xmm4, xmm0, 0xd4
movd xmm0, esi
movd xmm5, edx
shufps xmm1, xmm3, 0x22
mov esi, ecx
punpcklqdq xmm0, xmm5
shufps xmm4, xmm0, 0x22
movaps xmm0, xmmword [0x574020]
andps xmm4, xmm0
andps xmm1, xmm0
packuswb xmm1, xmm4
packuswb xmm1, xmm1
movdqa xmm0, xmm1
paddb xmm0, xmmword [0x574030]
movdqa xmm2, xmm0
pmaxub xmm2, xmmword [0x574040]
pcmpeqb xmm2, xmm0
pandn xmm2, xmmword [0x574050]
por xmm2, xmm1
movq qword [eax + edi], xmm2
add edi, 0x10
cmp edi, dword [esp + 0x110]
jbe 0x556cf0
mov esi, ecx
jmp 0x556dd5
mov eax, 1
mov edx, dword [esp + 0x110]
mov ecx, edx
mov dword [esp + 0x88], edx
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], esi
sub ecx, esi
mov dword [esp + 0x34], ecx
jne 0x556e10
mov ecx, edx
cmp edx, 4
jae 0x556bf0
jmp 0x55746e
add esi, ebx
add edx, ebx
xor ebx, ebx
mov edi, esi
mov dword [esp + 0x110], edx
mov dword [esp + 4], esi
jmp 0x556e66
mov eax, edx
xor ecx, ecx
add al, 0xbf
cmp al, 0x1a
setb cl
shl ecx, 5
or edx, ecx
lea ecx, [esp + 0x88]
call fcn.0042a610
sub ebx, dword [esp + 0xf0]
mov edi, dword [esp + 0x30]
add ebx, edi
cmp edi, dword [esp + 0x110]
je 0x557450
movzx edx, byte [edi]
mov dword [esp + 0xf0], edi
test dl, dl
js 0x556ee0
lea eax, [edi + 1]
mov dword [esp + 0x30], eax
cmp edx, 0x3a3
je 0x556f60
cmp edx, 0x110000
je 0x557450
cmp edx, 0x80
jb 0x556e30
xor eax, eax
mov ecx, 0x57f
mov esi, 0x57f
nop word [eax + eax]
shr ecx, 1
add ecx, eax
mov edi, dword [ecx*8 + 0x57c3e8]
cmp edi, edx
je 0x557168
cmp edi, edx
cmova esi, ecx
lea ecx, [ecx + 1]
cmovb eax, ecx
mov ecx, esi
sub ecx, eax
ja 0x556eb0
jmp 0x5571b2
movzx esi, byte [edi + 1]
mov eax, edx
and eax, 0x1f
and esi, 0x3f
cmp dl, 0xdf
jbe 0x556f3f
movzx ecx, byte [edi + 2]
shl esi, 6
and ecx, 0x3f
or ecx, esi
cmp dl, 0xf0
jb 0x5571bb
movzx edx, byte [edi + 3]
and eax, 7
shl ecx, 6
mov esi, dword [esp + 4]
shl eax, 0x12
and edx, 0x3f
or edx, ecx
or edx, eax
cmp edx, 0x110000
je 0x557450
lea eax, [edi + 4]
mov dword [esp + 0x30], eax
cmp edx, 0x3a3
jne 0x556e87
jmp 0x556f60
shl eax, 6
lea ecx, [edi + 2]
or eax, esi
mov esi, dword [esp + 4]
mov dword [esp + 0x30], ecx
mov edx, eax
cmp edx, 0x3a3
jne 0x556e87
nop dword [eax]
test ebx, ebx
mov dword [esp + 0x190], ebx
je 0x556f82
cmp ebx, dword [esp + 0x34]
jae 0x556f7c
cmp byte [esi + ebx], 0xbf
jg 0x556f82
jmp 0x55a243
jne 0x55a243
lea edx, [esi + ebx]
xor eax, eax
jmp 0x556f9e
mov al, 1
cmp ecx, 0x110000
jne 0x557131
cmp edx, esi
je 0x5573e0
movzx ecx, byte [edx - 1]
test cl, cl
js 0x556fc0
dec edx
jmp 0x557026
movzx ebx, byte [edx - 2]
cmp bl, 0xc0
jge 0x556ff1
mov edi, esi
mov esi, eax
movzx eax, byte [edx - 3]
cmp al, 0xc0
jge 0x556ff9
mov dword [esp + 8], ecx
movzx ecx, byte [edx - 4]
and eax, 0x3f
add edx, 0xfffffffc
and ecx, 7
shl ecx, 6
or eax, ecx
mov ecx, dword [esp + 8]
jmp 0x556fff
add edx, 0xfffffffe
and ebx, 0x1f
jmp 0x55700b
add edx, 0xfffffffd
and eax, 0xf
shl eax, 6
and ebx, 0x3f
or ebx, eax
mov eax, esi
mov esi, edi
shl ebx, 6
and ecx, 0x3f
or ecx, ebx
mov ebx, dword [esp + 0x190]
cmp ecx, 0x110000
je 0x5573e0
test al, al
jne 0x556f90
mov edi, ecx
mov dword [esp + 8], ecx
xor eax, eax
mov ebx, 0x23
mov ecx, 0x23
mov dword [esp + 0x20], edx
shl edi, 0xb
nop word [eax + eax]
shr ebx, 1
add ebx, eax
mov esi, dword [ebx*4 + 0x57b950]
shl esi, 0xb
cmp esi, edi
je 0x557075
cmp esi, edi
lea esi, [ebx + 1]
cmova ecx, ebx
cmovb eax, esi
mov ebx, ecx
sub ebx, eax
ja 0x557050
jmp 0x557078
inc ebx
mov eax, ebx
cmp eax, 0x22
ja 0x558193
jne 0x55708f
mov ecx, 0x21
mov edi, 0x36b
jmp 0x5570a4
mov edi, dword [eax*4 + 0x57b954]
shr edi, 0x15
test eax, eax
je 0x55712d
lea ecx, [eax - 1]
mov esi, dword [ecx*4 + 0x57b950]
mov ecx, 0x1fffff
and esi, ecx
mov ebx, dword [eax*4 + 0x57b950]
mov ecx, dword [esp + 8]
shr ebx, 0x15
mov eax, ebx
not eax
add eax, edi
je 0x557100
sub ecx, esi
cmp ebx, 0x36c
mov eax, 0x36b
cmovae eax, ebx
dec edi
xor esi, esi
nop dword [eax + eax]
cmp eax, ebx
je 0x55747d
movzx edx, byte [ebx + 0x57b9dc]
add esi, edx
cmp esi, ecx
ja 0x5570fc
inc ebx
cmp edi, ebx
jne 0x5570e0
mov ebx, edi
mov ecx, dword [esp + 8]
test bl, 1
mov esi, dword [esp + 4]
mov ebx, dword [esp + 0x190]
mov edx, dword [esp + 0x20]
je 0x556f90
mov ecx, 0x110000
xor eax, eax
cmp ecx, 0x110000
je 0x556f9e
jmp 0x557131
xor esi, esi
jmp 0x5570b2
call fcn.00473540
test al, al
je 0x5573e0
mov edx, dword [esp + 0x34]
mov edi, ebx
add edi, 2
je 0x5571e4
mov edx, dword [esp + 0x34]
sub edx, edi
jbe 0x5571de
cmp byte [esi + edi], 0xc0
jge 0x5571e4
jmp 0x55a2a8
mov edx, dword [ecx*8 + 0x57c3ec]
mov eax, edx
xor eax, 0xd800
add eax, 0xffef0000
cmp eax, 0xffef0800
setb al
cmp edx, 0x110000
sete cl
or cl, al
mov ecx, 0x69
cmovne edx, ecx
je 0x5571b2
lea ecx, [esp + 0x88]
call fcn.0042a610
mov esi, dword [esp + 4]
mov edx, 0x307
jmp 0x556e40
mov esi, dword [esp + 4]
jmp 0x556e40
mov esi, dword [esp + 4]
shl eax, 0xc
lea edx, [edi + 3]
or ecx, eax
mov dword [esp + 0x30], edx
mov edx, ecx
cmp edx, 0x3a3
jne 0x556e87
jmp 0x556f60
jne 0x55a2a8
add edi, esi
xor eax, eax
add edx, edi
mov dword [esp + 0x20], edx
jmp 0x557202
mov al, 1
mov ecx, dword [esp + 8]
cmp ecx, 0x110000
jne 0x5573cb
cmp edi, edx
je 0x55742b
movzx ecx, byte [edi]
test cl, cl
js 0x557220
mov dword [esp + 8], ecx
inc edi
jmp 0x5572a7
mov dword [esp + 0x2c], eax
mov eax, edi
movzx edi, byte [edi + 1]
mov edx, ecx
and edx, 0x1f
and edi, 0x3f
cmp cl, 0xdf
jbe 0x55727f
movzx esi, byte [eax + 2]
shl edi, 6
and esi, 0x3f
or esi, edi
cmp cl, 0xf0
jb 0x55728d
movzx ecx, byte [eax + 3]
and edx, 7
shl esi, 6
mov edi, eax
mov eax, dword [esp + 0x2c]
shl edx, 0x12
and ecx, 0x3f
or ecx, esi
mov esi, dword [esp + 4]
or ecx, edx
mov edx, dword [esp + 0x20]
cmp ecx, 0x110000
mov dword [esp + 8], ecx
je 0x55742b
add edi, 4
jmp 0x5572a7
shl edx, 6
add eax, 2
or edx, edi
mov dword [esp + 8], edx
jmp 0x55729d
shl edx, 0xc
add eax, 3
or esi, edx
mov dword [esp + 8], esi
mov esi, dword [esp + 4]
mov edi, eax
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x2c]
test al, al
jne 0x5571f0
mov edx, dword [esp + 8]
mov ecx, edi
xor eax, eax
mov edi, 0x23
mov esi, 0x23
shl edx, 0xb
nop word cs:[eax + eax]
nop
shr edi, 1
add edi, eax
mov ebx, dword [edi*4 + 0x57b950]
shl ebx, 0xb
cmp ebx, edx
je 0x5572f5
cmp ebx, edx
cmova esi, edi
lea edi, [edi + 1]
cmovb eax, edi
mov edi, esi
sub edi, eax
ja 0x5572d0
jmp 0x5572f8
inc edi
mov eax, edi
cmp eax, 0x22
ja 0x5591e4
mov dword [esp + 0x2c], ecx
jne 0x557317
mov esi, dword [esp + 4]
mov edx, 0x21
mov ecx, 0x36b
jmp 0x557330
mov ecx, dword [eax*4 + 0x57b954]
mov esi, dword [esp + 4]
shr ecx, 0x15
test eax, eax
je 0x5573c4
lea edx, [eax - 1]
mov ebx, dword [edx*4 + 0x57b950]
mov edx, 0x1fffff
and ebx, edx
mov edx, dword [eax*4 + 0x57b950]
shr edx, 0x15
mov eax, edx
not eax
add eax, ecx
je 0x557390
mov esi, dword [esp + 8]
mov eax, 0x36b
sub esi, ebx
cmp edx, 0x36c
cmovae eax, edx
dec ecx
xor ebx, ebx
nop word [eax + eax]
cmp eax, edx
je 0x557716
movzx edi, byte [edx + 0x57b9dc]
add ebx, edi
cmp ebx, esi
ja 0x55738c
inc edx
cmp ecx, edx
jne 0x557370
mov edx, ecx
mov esi, dword [esp + 4]
test dl, 1
mov ebx, dword [esp + 0x190]
mov edi, dword [esp + 0x2c]
mov edx, dword [esp + 0x20]
je 0x5571f0
mov dword [esp + 8], 0x110000
xor eax, eax
mov ecx, dword [esp + 8]
cmp ecx, 0x110000
je 0x557202
jmp 0x5573cb
xor ebx, ebx
jmp 0x55733e
call fcn.00473540
test al, al
je 0x55742b
nop word cs:[eax + eax]
nop
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x90]
mov di, 0x83cf
sub eax, edx
cmp eax, 2
jae 0x557411
lea ecx, [esp + 0x88]
push 2
call fcn.00429f90
add esp, 4
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 0x8c]
mov word [eax + edx], di
add edx, 2
mov dword [esp + 0x90], edx
jmp 0x556e4c
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x90]
mov di, 0x82cf
sub eax, edx
cmp eax, 1
jbe 0x5573f9
jmp 0x557411
mov ecx, dword [esp + 0x88]
mov eax, dword [esp + 0x8c]
mov edx, dword [esp + 0x90]
cmp edx, 4
jae 0x556bf0
xor ebx, ebx
test ecx, ecx
jne 0x556bff
jmp 0x556c0d
mov esi, 0x57893c
mov edx, 0x36b
mov ecx, eax
push esi
call fcn.00469a50
add esp, 4
jmp 0x55a263
mov edx, dword [esp + 0x2e8]
mov ecx, eax
shr ecx, 8
mov word [edx + 1], cx
mov ecx, eax
shr ecx, 0x18
mov byte [edx + 3], cl
mov byte [edx], al
mov dword [edx + 4], esi
cmp dword [esp + 0x324], 0
je 0x5574d2
push dword [esp + 0x328]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x2f4], 0
je 0x5574f0
push dword [esp + 0x2f8]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x38], 0
mov dword [esp + 0x40], 0
xor ebx, ebx
jmp 0x557527
mov edx, dword [esp + 0x2f0]
add edx, dword [esp + 0x2ec]
lea ecx, [esp + 0x38]
call fcn.004ec580
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0x220]
xor edi, edi
mov ecx, str.vmesh_src_char_anim.rs
mov eax, dword [eax + 4]
cmp dword [eax + 0x18], 0x80000000
cmovne ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x88], 0x586724
mov dword [esp + 0x8c], 1
mov dword [esp + 0x98], 0
cmove eax, edi
mov dword [esp + 0x1e8], ecx
mov dword [esp + 0x1ec], eax
mov eax, dword [ebp + 0x10]
mov esi, dword [eax + 8]
movss xmm0, dword [eax + 0xc]
lea eax, [esp + 0x1e8]
mov dword [esp + 0x280], eax
lea eax, [esp + 0x280]
mov dword [esp + 0x284], 0x461c30
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], 1
movss dword [esp + 0x30], xmm0
lea ecx, [esp + 0x128]
lea edx, [esp + 0x88]
call fcn.0042a380
mov eax, dword [esp + 0x12c]
test ebx, ebx
mov dword [esp + 0x190], eax
je 0x55770a
mov eax, dword [esp + 0x130]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x20], eax
mov dword [esp + 0x110], ecx
movzx ecx, word [ebx + 0x192]
lea eax, [ebx + 0x10c]
mov dword [esp + 4], ebx
mov ebx, 0xffffffff
mov dword [esp + 0xf0], ecx
lea ecx, [ecx*4]
lea edi, [ecx + ecx*2]
nop word cs:[eax + eax]
nop
test edi, edi
je 0x557686
lea ecx, [eax + 0xc]
mov edx, dword [esp + 0x20]
mov dword [esp + 8], ecx
mov ecx, dword [eax + 8]
mov esi, edx
sub esi, ecx
cmovb ecx, edx
push ecx
push dword [eax + 4]
push dword [esp + 0x198]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
cmovne esi, eax
xor ecx, ecx
mov eax, 0xff
test esi, esi
setne cl
cmovs ecx, eax
mov eax, dword [esp + 8]
inc ebx
add edi, 0xfffffff4
cmp cl, 1
je 0x557630
movzx eax, cl
test eax, eax
jne 0x55768d
jmp 0x5576b4
mov ebx, dword [esp + 0xf0]
mov eax, dword [esp + 0x110]
sub eax, 1
jb 0x559076
mov ecx, dword [esp + 4]
mov dword [esp + 0x110], eax
mov ebx, dword [ecx + ebx*4 + 0x198]
jmp 0x5575fe
mov ecx, dword [esp + 4]
lea eax, [ebx + ebx*2]
cmp byte [ecx + eax*8], 2
jne 0x557730
lea eax, [ecx + eax*8]
mov esi, dword [esp + 0x2c]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x5582e2
cmp ecx, 1
jne 0x558326
fild qword [eax + 0x10]
fstp qword [esp + 0x510]
mov edi, 1
movsd xmm0, qword [esp + 0x510]
cvtsd2ss xmm0, xmm0
movss dword [esp + 8], xmm0
cmp dword [esp + 0x128], 0
jne 0x55774a
jmp 0x55775e
cmp dword [esp + 0x128], 0
jne 0x55774a
jmp 0x55775e
mov esi, 0x57893c
mov edx, 0x36b
mov ecx, eax
push esi
call fcn.00469a50
add esp, 4
jmp 0x55a263
mov esi, dword [esp + 0x2c]
xor edi, edi
cvtsd2ss xmm0, xmm0
movss dword [esp + 8], xmm0
cmp dword [esp + 0x128], 0
je 0x55775e
push dword [esp + 0x190]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
or esi, edi
jne 0x557799
mov eax, dword [esp + 0x220]
mov ebx, dword [eax + 4]
mov ecx, ebx
call 0x55a560
mov edx, dword [esp + 0x2d0]
test al, al
mov eax, 0x320
mov ecx, 0x1e0
cmovne ecx, eax
mov esi, edx
shr esi, 0x1f
add esi, edx
sar esi, 1
cmp ecx, esi
cmovl esi, ecx
jmp 0x5577e4
test edi, edi
je 0x5577a9
movss xmm0, dword [esp + 8]
movss dword [esp + 0x30], xmm0
movss xmm0, dword [esp + 0x30]
mov ecx, 0x7fffffff
mulss xmm0, dword [0x573f90]
mulss xmm0, dword [0x573f94]
ucomiss xmm0, dword [0x573f98]
cvttss2si eax, xmm0
cmovbe ecx, eax
xor esi, esi
ucomiss xmm0, xmm0
cmovnp esi, ecx
mov ecx, dword [esp + 0x220]
mov ebx, dword [ecx + 4]
mov dword [esp + 0x228], esi
xor edx, edx
mov eax, str.vmesh_src_char_anim.rs
cmp dword [ebx + 0x18], 0x80000000
mov ecx, dword [ebx + 0x20]
cmovne eax, dword [ebx + 0x1c]
cmove ecx, edx
mov dword [esp + 0x88], 0x58673c
mov dword [esp + 0x8c], 1
mov dword [esp + 0x98], 0
mov dword [esp + 0x1e8], eax
lea eax, [esp + 0x1e8]
mov dword [esp + 0x1ec], ecx
mov dword [esp + 0x280], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x284], 0x461c30
movss xmm0, dword [eax + 0x14]
mov edi, dword [eax + 0x10]
lea eax, [esp + 0x280]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], 1
movss dword [esp + 0x34], xmm0
lea ecx, [esp + 0x128]
lea edx, [esp + 0x88]
call fcn.0042a380
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], edi
test ecx, ecx
mov dword [esp + 0x190], eax
je 0x5579cf
mov eax, dword [esp + 0x130]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x20], eax
mov dword [esp + 0x110], edx
lea eax, [ecx + 0x10c]
mov dword [esp + 4], ecx
movzx ecx, word [ecx + 0x192]
mov ebx, 0xffffffff
mov dword [esp + 0xf0], ecx
lea ecx, [ecx*4]
lea edi, [ecx + ecx*2]
nop word [eax + eax]
test edi, edi
je 0x557946
lea ecx, [eax + 0xc]
mov edx, dword [esp + 0x20]
mov dword [esp + 8], ecx
mov ecx, dword [eax + 8]
mov esi, edx
sub esi, ecx
cmovb ecx, edx
push ecx
push dword [eax + 4]
push dword [esp + 0x198]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
cmovne esi, eax
xor ecx, ecx
mov eax, 0xff
test esi, esi
setne cl
cmovs ecx, eax
mov eax, dword [esp + 8]
inc ebx
add edi, 0xfffffff4
cmp cl, 1
je 0x5578f0
movzx eax, cl
test eax, eax
jne 0x55794d
jmp 0x557976
mov ebx, dword [esp + 0xf0]
mov ecx, dword [esp + 0x110]
xor eax, eax
sub ecx, 1
jb 0x55908f
mov dword [esp + 0x110], ecx
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + ebx*4 + 0x198]
jmp 0x5578c0
mov ecx, dword [esp + 4]
lea eax, [ebx + ebx*2]
cmp byte [ecx + eax*8], 2
jne 0x5579e4
lea eax, [ecx + eax*8]
mov edi, dword [esp + 0x24]
mov ebx, dword [esp]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x558304
cmp ecx, 1
jne 0x55834d
fild qword [eax + 0x10]
fstp qword [esp + 0x508]
mov eax, 1
movsd xmm0, qword [esp + 0x508]
cvtsd2ss xmm0, xmm0
movss dword [esp + 8], xmm0
cmp dword [esp + 0x128], 0
jne 0x557a01
jmp 0x557a19
mov edi, dword [esp + 0x24]
mov ebx, dword [esp]
xor eax, eax
cmp dword [esp + 0x128], 0
jne 0x557a01
jmp 0x557a19
mov edi, dword [esp + 0x24]
mov ebx, dword [esp]
xor eax, eax
cvtsd2ss xmm0, xmm0
movss dword [esp + 8], xmm0
cmp dword [esp + 0x128], 0
je 0x557a19
push dword [esp + 0x190]
push 0
push dword [0x5970d8]
mov esi, eax
call sub.KERNEL32.dll_HeapFree
mov eax, esi
or dword [esp + 0x2c], eax
jne 0x557a67
mov eax, dword [esp + 0x220]
mov ecx, dword [eax + 4]
call 0x55a560
mov esi, dword [esp + 0x2d0]
xor ecx, ecx
test al, al
mov eax, 0x1e0
cmovne eax, ecx
mov edx, esi
shr edx, 0x1f
add edx, esi
sar edx, 1
cmp eax, edx
cmovl edx, eax
mov eax, dword [esp + 0x30c]
mov dword [esp + 0x280], edx
cmp eax, 1
ja 0x557abf
jmp 0x557c46
test eax, eax
je 0x557a77
movss xmm0, dword [esp + 8]
movss dword [esp + 0x34], xmm0
movss xmm0, dword [esp + 0x34]
mov ecx, 0x7fffffff
mulss xmm0, dword [0x573f90]
mulss xmm0, dword [0x573f94]
ucomiss xmm0, dword [0x573f98]
cvttss2si eax, xmm0
cmovbe ecx, eax
xor edx, edx
ucomiss xmm0, xmm0
cmovnp edx, ecx
mov eax, dword [esp + 0x30c]
mov dword [esp + 0x280], edx
cmp eax, 1
jbe 0x557c46
lea eax, [esp + 0x1b0]
lea esi, [esp + 0x128]
mov dword [esp + 0x88], 0x5867dc
mov dword [esp + 0x8c], 2
mov dword [esp + 0x98], 0
mov dword [esp + 0x128], eax
mov dword [esp + 0x90], esi
mov dword [esp + 0x12c], 0x473200
mov dword [esp + 0x94], 1
lea ecx, [esp + 0x88]
call fcn.004afa30
lea eax, [esp + 0x1cc]
mov dword [esp + 0x88], 0x5867f8
mov dword [esp + 0x8c], 2
mov dword [esp + 0x98], 0
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], 1
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], 0x473200
lea ecx, [esp + 0x88]
call fcn.004afa30
lea eax, [esp + 0x228]
mov dword [esp + 0x88], 0x586818
mov dword [esp + 0x8c], 2
mov dword [esp + 0x98], 0
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], 1
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], 0x473200
lea ecx, [esp + 0x88]
call fcn.004afa30
lea eax, [esp + 0x280]
mov dword [esp + 0x88], 0x586838
mov dword [esp + 0x8c], 2
mov dword [esp + 0x98], 0
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], 1
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], 0x473200
lea ecx, [esp + 0x88]
call fcn.004afa30
mov eax, dword [esp + 0x228]
mov ebx, dword [esp + 0x1b0]
mov edi, dword [esp + 0x1cc]
mov edx, dword [esp + 0x280]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x27c]
mov dword [esp + 4], edx
mov dword [esp], ebx
test ecx, ecx
mov dword [esp + 8], eax
je 0x557ca1
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], edx
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], ecx
mov ecx, 1
mov dword [esp + 0xa4], edx
jmp 0x557ca5
xor ecx, ecx
xor eax, eax
mov esi, dword [esp + 0x278]
mov edx, dword [esp + 0x274]
lea ebx, [esp + 0x88]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x98], ecx
mov dword [esp + 0xa8], eax
mov dword [esp + 0x190], esi
lea esi, [esp + 0x128]
mov dword [esp + 0x20], edx
nop word cs:[eax + eax]
nop dword [eax + eax]
mov ecx, esi
mov edx, ebx
call fcn.0052f1f0
cmp dword [esp + 0x128], 0
je 0x557d0c
mov ecx, esi
call fcn.0052f3a0
jmp 0x557cf0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x128], 0x46564d56
sub ecx, eax
cmp ecx, 5
jb 0x558cbc
mov ecx, dword [esp + 0x10]
mov ebx, edi
mov dword [ecx + eax], 0x46564d56
add eax, 4
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0xc]
mov edi, dword [esp + 8]
mov dword [esp + 0x128], 8
sub ecx, eax
cmp ecx, 5
jb 0x558cf4
mov ecx, dword [esp + 0x10]
mov dword [ecx + eax], 8
add eax, 4
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x128], 0
sub ecx, eax
cmp ecx, 5
jb 0x558d2a
mov ecx, dword [esp + 0x10]
mov dword [ecx + eax], 0
add eax, 4
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x128], 0
sub ecx, eax
cmp ecx, 5
jb 0x558d60
mov ecx, dword [esp + 0x10]
mov dword [ecx + eax], 0
add eax, 4
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0xc]
mov esi, dword [esp]
sub ecx, eax
mov dword [esp + 0x128], esi
cmp ecx, 5
jb 0x558d96
mov ecx, dword [esp + 0x10]
mov dword [ecx + eax], esi
add eax, 4
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x128], ebx
sub ecx, eax
cmp ecx, 5
jb 0x558dcc
mov ecx, dword [esp + 0x10]
mov dword [ecx + eax], ebx
add eax, 4
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x128], edi
sub ecx, eax
cmp ecx, 5
jb 0x558e02
mov ecx, dword [esp + 0x10]
mov dword [ecx + eax], edi
add eax, 4
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x128], 0
sub ecx, eax
cmp ecx, 5
jb 0x558e38
mov ecx, dword [esp + 0x10]
mov dword [ecx + eax], 0
add eax, 4
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x128], 0
sub ecx, eax
cmp ecx, 5
jb 0x558e6e
mov ecx, dword [esp + 0x10]
mov dword [ecx + eax], 0
add eax, 4
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x30]
sub ecx, eax
mov dword [esp + 0x128], edx
cmp ecx, 5
jb 0x558ea4
mov ecx, dword [esp + 0x10]
mov dword [ecx + eax], edx
add eax, 4
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 4]
sub ecx, eax
mov dword [esp + 0x128], edx
cmp ecx, 5
jb 0x558eda
mov ecx, dword [esp + 0x10]
mov dword [ecx + eax], edx
add eax, 4
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x128], 0
sub ecx, eax
cmp ecx, 5
jb 0x558f60
mov ecx, dword [esp + 0x10]
mov dword [ecx + eax], 0
add eax, 4
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x128], 0
sub ecx, eax
cmp ecx, 4
jbe 0x558f92
mov ecx, dword [esp + 0x10]
mov dword [ecx + eax], 0
add eax, 4
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x128], 0
sub ecx, eax
cmp ecx, 4
jbe 0x558fc1
mov ecx, dword [esp + 0x10]
mov dword [ecx + eax], 0
add eax, 4
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x128], 0x3f800000
sub ecx, eax
cmp ecx, 4
jbe 0x558ff0
mov ecx, dword [esp + 0x10]
mov dword [ecx + eax], 0x3f800000
add eax, 4
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x128], 0
sub ecx, eax
cmp ecx, 4
jbe 0x5590a9
mov ecx, dword [esp + 0x10]
mov dword [ecx + eax], 0
add eax, 4
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x128], 0
sub ecx, eax
cmp ecx, 4
jbe 0x55912f
mov ecx, dword [esp + 0x10]
mov dword [ecx + eax], 0
add eax, 4
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x128], 0
sub ecx, eax
cmp ecx, 4
jbe 0x55915e
mov ecx, dword [esp + 0x10]
mov dword [ecx + eax], 0
add eax, 4
mov dword [esp + 0x14], eax
test edi, edi
je 0x55807e
cmp edi, 0x1fffffff
ja 0x55a469
lea ebx, [edi*4]
test ebx, ebx
js 0x55a46e
mov eax, dword [0x5970d8]
test eax, eax
jne 0x558063
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x558072
mov dword [0x5970d8], eax
push ebx
push 8
push eax
call sub.KERNEL32.dll_HeapAlloc
mov esi, eax
test eax, eax
jne 0x558083
mov ecx, 4
mov edx, ebx
call fcn.00429f40
mov esi, 4
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], esi
mov dword [esp + 0x90], edi
lea edi, [esp + 0x128]
lea ebx, [esp + 0xc]
mov ecx, edi
mov edx, ebx
call fcn.0053c070
movzx ecx, byte [esp + 0x128]
cmp cl, 4
jne 0x558175
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x12c], 0
mov dword [esp + 0x128], 0
push 1
push edi
push 0
push 0
push eax
call sub.KERNEL32.dll_SetFilePointerEx
test eax, eax
je 0x5581a2
mov eax, dword [esp + 0x128]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x2c], eax
lea ecx, [esp + 0x128]
lea edx, [esp + 0x88]
push ebx
call fcn.0055bd30
add esp, 4
movzx eax, byte [esp + 0x128]
mov edi, dword [esp + 8]
cmp al, 4
jne 0x558374
mov ebx, dword [esp + 0x190]
test edi, edi
je 0x5590db
lea eax, [edi + edi*8]
lea edx, [esp + 0xc]
mov dword [esp + 4], ebx
mov dword [esp + 0x110], esi
lea eax, [eax + eax*2]
add eax, edi
add eax, ebx
mov dword [esp], eax
xor eax, eax
jmp 0x558420
movzx eax, byte [esp + 0x12b]
movzx edx, word [esp + 0x129]
shl eax, 0x10
or edx, eax
mov eax, dword [esp + 0x12c]
jmp 0x5581a9
mov esi, 0x57892c
mov edx, 0x23
jmp 0x557487
call sub.KERNEL32.dll_GetLastError
xor ecx, ecx
mov edi, dword [esp + 8]
shl edx, 8
movzx ecx, cl
movd xmm0, eax
or ecx, edx
movd xmm1, ecx
punpckldq xmm1, xmm0
mov ebx, dword [esp + 0x190]
test edi, edi
je 0x5581ec
push esi
push 0
push dword [0x5970d8]
movapd xmmword [esp + 0x19c], xmm1
call sub.KERNEL32.dll_HeapFree
movapd xmm1, xmmword [esp + 0x190]
movd eax, xmm1
cmp al, 4
jne 0x55961d
mov eax, dword [esp + 0x2e8]
test edi, edi
mov byte [eax], 4
je 0x558243
lea esi, [ebx + 0x10]
jmp 0x558216
add esi, 0x1c
dec edi
je 0x558243
cmp dword [esi - 0x10], 0
je 0x55822c
push dword [esi - 0xc]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
cmp dword [esi - 4], 0
je 0x558210
push dword [esi]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x558210
cmp dword [esp + 0x20], 0
je 0x558258
push ebx
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
cmp byte [esp + 0x18], 0
jne 0x558290
lea ecx, [esp + 0x88]
lea edx, [esp + 0xc]
call fcn.0053c070
movzx eax, byte [esp + 0x88]
mov esi, dword [esp + 0x8c]
cmp eax, 4
ja 0x55974b
cmp eax, 3
je 0x55974b
cmp dword [esp + 0xc], 0
je 0x5582a8
push dword [esp + 0x10]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
push dword [esp + 0x1c]
call sub.KERNEL32.dll_CloseHandle
cmp dword [esp + 0x324], 0
je 0x5582cf
push dword [esp + 0x328]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x2f4], 0
je 0x5574f0
jmp 0x5574dc
movsd xmm1, qword [eax + 0x10]
unpcklps xmm1, xmmword [0x573fe0]
subpd xmm1, xmmword [0x573ff0]
movapd xmm0, xmm1
unpckhpd xmm0, xmm1
addsd xmm0, xmm1
jmp 0x55832b
movsd xmm1, qword [eax + 0x10]
unpcklps xmm1, xmmword [0x573fe0]
subpd xmm1, xmmword [0x573ff0]
movapd xmm0, xmm1
unpckhpd xmm0, xmm1
addsd xmm0, xmm1
jmp 0x558352
movsd xmm0, qword [eax + 0x10]
mov edi, 1
cvtsd2ss xmm0, xmm0
movss dword [esp + 8], xmm0
cmp dword [esp + 0x128], 0
jne 0x55774a
jmp 0x55775e
movsd xmm0, qword [eax + 0x10]
mov eax, 1
cvtsd2ss xmm0, xmm0
movss dword [esp + 8], xmm0
cmp dword [esp + 0x128], 0
jne 0x557a01
jmp 0x557a19
movd xmm0, dword [esp + 0x129]
movzx eax, al
pinsrw xmm0, word [esp + 0x12d], 2
movdqa xmmword [esp + 0x410], xmm0
mov ebx, dword [esp + 0x410]
movzx ecx, byte [esp + 0x412]
movzx edx, byte [esp + 0x411]
shl ebx, 8
shl ecx, 8
or ebx, eax
or ecx, edx
movzx eax, byte [esp + 0x413]
movd xmm1, ebx
pinsrw xmm1, ecx, 1
mov ecx, dword [esp + 0x414]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x415]
movzx edx, byte [esp + 0x12f]
pinsrw xmm1, ecx, 2
shl edx, 8
or edx, eax
pinsrw xmm1, edx, 3
jmp 0x5581c1
mov ecx, dword [esp + 4]
mov eax, dword [esp + 0xf0]
mov edi, dword [esp + 8]
mov ebx, dword [esp + 0x190]
lea edx, [esp + 0xc]
add ecx, 0x1c
inc eax
cmp ecx, dword [esp]
mov dword [esp + 4], ecx
je 0x5590db
mov dword [esp + 0xf0], eax
lea esi, [esp + 0x38]
mov ecx, esi
call fcn.0053c070
movzx eax, byte [esp + 0x38]
cmp al, 4
jne 0x559930
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
push 1
push esi
push 0
push 0
push eax
call sub.KERNEL32.dll_SetFilePointerEx
test eax, eax
je 0x55994f
mov ecx, dword [esp + 0xf0]
mov eax, dword [esp + 0x110]
cmp ecx, edi
je 0x55a235
movsd xmm0, qword [esp + 0x38]
lea edx, [esp + 0xc]
movss dword [eax + ecx*4], xmm0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
movss xmm0, dword [eax + 0x18]
mov eax, dword [esp + 0x14]
sub ecx, eax
movss dword [esp + 0x38], xmm0
cmp ecx, 5
jb 0x558bdb
mov ecx, dword [esp + 0x10]
movss dword [ecx + eax], xmm0
add eax, 4
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 4]
mov esi, dword [esp + 0xc]
mov edi, dword [ecx + 8]
sub esi, eax
cmp esi, 3
mov word [esp + 0x38], di
jb 0x558c0e
mov ecx, dword [esp + 0x10]
mov word [ecx + eax], di
add eax, 2
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 4]
mov esi, dword [esp + 0xc]
mov ebx, dword [ecx + 0x14]
sub esi, eax
cmp esi, 3
mov word [esp + 0x38], bx
jb 0x558c41
mov ecx, dword [esp + 0x10]
mov word [ecx + eax], bx
add eax, 2
mov dword [esp + 0x14], eax
test edi, edi
je 0x558805
mov eax, dword [esp + 4]
shl edi, 4
mov esi, dword [eax + 4]
add esi, 0xd
nop dword [eax + eax]
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov eax, dword [esi - 5]
sub edx, ecx
mov dword [esp + 0x38], eax
cmp edx, 5
jb 0x558685
mov edx, dword [esp + 0x10]
mov dword [edx + ecx], eax
add ecx, 4
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
movzx eax, word [esi - 0xd]
sub edx, ecx
mov word [esp + 0x38], ax
cmp edx, 3
jb 0x5586b4
mov edx, dword [esp + 0x10]
mov word [edx + ecx], ax
add ecx, 2
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
movzx eax, word [esi - 0xb]
sub edx, ecx
mov word [esp + 0x38], ax
cmp edx, 2
jbe 0x5586e3
mov edx, dword [esp + 0x10]
mov word [edx + ecx], ax
add ecx, 2
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
movzx eax, word [esi - 9]
sub edx, ecx
mov word [esp + 0x38], ax
cmp edx, 2
jbe 0x558712
mov edx, dword [esp + 0x10]
mov word [edx + ecx], ax
add ecx, 2
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
movzx eax, word [esi - 7]
sub edx, ecx
mov word [esp + 0x38], ax
cmp edx, 2
jbe 0x558741
mov edx, dword [esp + 0x10]
mov word [edx + ecx], ax
add ecx, 2
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
movzx ecx, byte [esi - 1]
sub edx, eax
mov byte [esp + 0x38], cl
cmp edx, 1
jbe 0x558770
mov edx, dword [esp + 0x10]
mov byte [edx + eax], cl
inc eax
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0xc]
movzx ecx, byte [esi]
sub edx, eax
mov byte [esp + 0x38], cl
cmp edx, 2
jb 0x5587a3
mov edx, dword [esp + 0x10]
mov byte [edx + eax], cl
inc eax
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0xc]
mov word [esp + 0x38], 0
sub ecx, eax
cmp ecx, 3
jb 0x5587d6
mov ecx, dword [esp + 0x10]
mov word [ecx + eax], 0
add eax, 2
mov dword [esp + 0x14], eax
add esi, 0x10
add edi, 0xfffffff0
jne 0x558530
jmp 0x558805
lea ecx, [esp + 0x128]
lea edx, [esp + 0xc]
push 4
lea eax, [esp + 0x3c]
push eax
call fcn.0053c220
add esp, 8
movzx eax, byte [esp + 0x128]
cmp al, 4
je 0x558558
jmp 0x559978
lea ecx, [esp + 0x128]
lea edx, [esp + 0xc]
push 2
lea eax, [esp + 0x3c]
push eax
call fcn.0053c220
add esp, 8
movzx eax, byte [esp + 0x128]
cmp al, 4
je 0x558583
jmp 0x559791
lea ecx, [esp + 0x128]
lea edx, [esp + 0xc]
push 2
lea eax, [esp + 0x3c]
push eax
call fcn.0053c220
add esp, 8
movzx eax, byte [esp + 0x128]
cmp al, 4
je 0x5585ae
jmp 0x559791
lea ecx, [esp + 0x128]
lea edx, [esp + 0xc]
push 2
lea eax, [esp + 0x3c]
push eax
call fcn.0053c220
add esp, 8
movzx eax, byte [esp + 0x128]
cmp al, 4
je 0x5585d9
jmp 0x559791
lea ecx, [esp + 0x128]
lea edx, [esp + 0xc]
push 2
lea eax, [esp + 0x3c]
push eax
call fcn.0053c220
add esp, 8
movzx eax, byte [esp + 0x128]
cmp al, 4
je 0x558604
jmp 0x559791
lea ecx, [esp + 0x128]
lea edx, [esp + 0xc]
push 1
lea eax, [esp + 0x3c]
push eax
call fcn.0053c220
add esp, 8
movzx eax, byte [esp + 0x128]
cmp al, 4
jne 0x5599cd
mov eax, dword [esp + 0x14]
jmp 0x55862b
lea ecx, [esp + 0x128]
lea edx, [esp + 0xc]
push 1
lea eax, [esp + 0x3c]
push eax
call fcn.0053c220
add esp, 8
movzx eax, byte [esp + 0x128]
cmp al, 4
jne 0x559a22
mov eax, dword [esp + 0x14]
jmp 0x55864d
lea ecx, [esp + 0x128]
lea edx, [esp + 0xc]
push 2
lea eax, [esp + 0x3c]
push eax
call fcn.0053c220
add esp, 8
movzx eax, byte [esp + 0x128]
cmp al, 4
je 0x558674
jmp 0x559a77
mov esi, dword [esp + 0x110]
test ebx, ebx
je 0x5583f5
mov eax, dword [esp + 4]
mov edi, dword [eax + 0x10]
lea eax, [ebx + ebx*4]
lea ebx, [edi + eax*8]
nop word cs:[eax + eax]
nop dword [eax + eax]
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov eax, dword [edi]
sub edx, ecx
mov dword [esp + 0x38], eax
cmp edx, 5
jb 0x558a05
mov edx, dword [esp + 0x10]
mov dword [edx + ecx], eax
add ecx, 4
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
movss xmm0, dword [edi + 4]
sub ecx, eax
movss dword [esp + 0x38], xmm0
cmp ecx, 5
jb 0x558a34
mov ecx, dword [esp + 0x10]
movss dword [ecx + eax], xmm0
add eax, 4
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
movss xmm0, dword [edi + 8]
sub ecx, eax
movss dword [esp + 0x38], xmm0
cmp ecx, 4
jbe 0x558a63
mov ecx, dword [esp + 0x10]
movss dword [ecx + eax], xmm0
add eax, 4
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
movss xmm0, dword [edi + 0xc]
sub ecx, eax
movss dword [esp + 0x38], xmm0
cmp ecx, 4
jbe 0x558a92
mov ecx, dword [esp + 0x10]
movss dword [ecx + eax], xmm0
add eax, 4
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
movss xmm0, dword [edi + 0x10]
sub ecx, eax
movss dword [esp + 0x38], xmm0
cmp ecx, 4
jbe 0x558ac1
mov ecx, dword [esp + 0x10]
movss dword [ecx + eax], xmm0
add eax, 4
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
movss xmm0, dword [edi + 0x14]
sub ecx, eax
movss dword [esp + 0x38], xmm0
cmp ecx, 4
jbe 0x558af0
mov ecx, dword [esp + 0x10]
movss dword [ecx + eax], xmm0
add eax, 4
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
movss xmm0, dword [edi + 0x18]
sub ecx, eax
movss dword [esp + 0x38], xmm0
cmp ecx, 4
jbe 0x558b1f
mov ecx, dword [esp + 0x10]
movss dword [ecx + eax], xmm0
add eax, 4
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
movss xmm0, dword [edi + 0x1c]
sub ecx, eax
movss dword [esp + 0x38], xmm0
cmp ecx, 4
jbe 0x558b4e
mov ecx, dword [esp + 0x10]
movss dword [ecx + eax], xmm0
add eax, 4
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
movss xmm0, dword [edi + 0x20]
sub ecx, eax
movss dword [esp + 0x38], xmm0
cmp ecx, 4
jbe 0x558b7d
mov ecx, dword [esp + 0x10]
movss dword [ecx + eax], xmm0
add eax, 4
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
movss xmm0, dword [edi + 0x24]
sub ecx, eax
movss dword [esp + 0x38], xmm0
cmp ecx, 4
jbe 0x558bac
mov ecx, dword [esp + 0x10]
movss dword [ecx + eax], xmm0
add eax, 4
mov dword [esp + 0x14], eax
add edi, 0x28
cmp edi, ebx
jne 0x558830
jmp 0x5583f5
lea ecx, [esp + 0x128]
lea edx, [esp + 0xc]
push 4
lea eax, [esp + 0x3c]
push eax
call fcn.0053c220
add esp, 8
movzx eax, byte [esp + 0x128]
cmp al, 4
je 0x558857
jmp 0x559b08
lea ecx, [esp + 0x128]
lea edx, [esp + 0xc]
push 4
lea eax, [esp + 0x3c]
push eax
call fcn.0053c220
add esp, 8
movzx eax, byte [esp + 0x128]
cmp al, 4
je 0x558885
jmp 0x5597e6
lea ecx, [esp + 0x128]
lea edx, [esp + 0xc]
push 4
lea eax, [esp + 0x3c]
push eax
call fcn.0053c220
add esp, 8
movzx eax, byte [esp + 0x128]
cmp al, 4
je 0x5588b3
jmp 0x5597e6
lea ecx, [esp + 0x128]
lea edx, [esp + 0xc]
push 4
lea eax, [esp + 0x3c]
push eax
call fcn.0053c220
add esp, 8
movzx eax, byte [esp + 0x128]
cmp al, 4
je 0x5588e1
jmp 0x5597e6
lea ecx, [esp + 0x128]
lea edx, [esp + 0xc]
push 4
lea eax, [esp + 0x3c]
push eax
call fcn.0053c220
add esp, 8
movzx eax, byte [esp + 0x128]
cmp al, 4
je 0x55890f
jmp 0x55983b
lea ecx, [esp + 0x128]
lea edx, [esp + 0xc]
push 4
lea eax, [esp + 0x3c]
push eax
call fcn.0053c220
add esp, 8
movzx eax, byte [esp + 0x128]
cmp al, 4
je 0x55893d
jmp 0x55983b
lea ecx, [esp + 0x128]
lea edx, [esp + 0xc]
push 4
lea eax, [esp + 0x3c]
push eax
call fcn.0053c220
add esp, 8
movzx eax, byte [esp + 0x128]
cmp al, 4
je 0x55896b
jmp 0x55983b
lea ecx, [esp + 0x128]
lea edx, [esp + 0xc]
push 4
lea eax, [esp + 0x3c]
push eax
call fcn.0053c220
add esp, 8
movzx eax, byte [esp + 0x128]
cmp al, 4
je 0x558999
jmp 0x559890
lea ecx, [esp + 0x128]
lea edx, [esp + 0xc]
push 4
lea eax, [esp + 0x3c]
push eax
call fcn.0053c220
add esp, 8
movzx eax, byte [esp + 0x128]
cmp al, 4
je 0x5589c7
jmp 0x559890
lea ecx, [esp + 0x128]
lea edx, [esp + 0xc]
push 4
lea eax, [esp + 0x3c]
push eax
call fcn.0053c220
add esp, 8
movzx eax, byte [esp + 0x128]
cmp al, 4
je 0x5589f5
jmp 0x559890
lea ecx, [esp + 0x128]
push 4
lea eax, [esp + 0x3c]
push eax
call fcn.0053c220
add esp, 8
movzx eax, byte [esp + 0x128]
cmp al, 4
jne 0x559fb0
mov eax, dword [esp + 0x14]
lea edx, [esp + 0xc]
jmp 0x5584bf
lea ecx, [esp + 0x128]
push 2
lea eax, [esp + 0x3c]
push eax
call fcn.0053c220
add esp, 8
movzx eax, byte [esp + 0x128]
cmp al, 4
jne 0x55a005
mov eax, dword [esp + 0x14]
lea edx, [esp + 0xc]
jmp 0x5584e9
lea ecx, [esp + 0x128]
push 2
lea eax, [esp + 0x3c]
push eax
call fcn.0053c220
add esp, 8
movzx eax, byte [esp + 0x128]
cmp al, 4
je 0x558513
movd xmm0, dword [esp + 0x129]
pinsrw xmm0, word [esp + 0x12d], 2
movdqa xmmword [esp + 0x3e0], xmm0
movzx ecx, byte [esp + 0x12f]
movzx edx, byte [esp + 0x3e5]
mov ah, byte [esp + 0x3e4]
mov ch, byte [esp + 0x3e3]
mov dh, byte [esp + 0x3e2]
movzx ebx, byte [esp + 0x3e0]
mov bh, byte [esp + 0x3e1]
jmp 0x559b58
lea ecx, [esp + 0x88]
lea edx, [esp + 0xc]
push 4
lea eax, [esp + 0x12c]
push eax
call fcn.0053c220
add esp, 8
movzx eax, byte [esp + 0x88]
cmp al, 4
jne 0x55925f
mov eax, dword [esp + 0x14]
mov ebx, edi
jmp 0x557d3e
lea ecx, [esp + 0x88]
lea edx, [esp + 0xc]
push 4
lea eax, [esp + 0x12c]
push eax
call fcn.0053c220
add esp, 8
movzx eax, byte [esp + 0x88]
cmp al, 4
jne 0x5592b8
mov eax, dword [esp + 0x14]
jmp 0x557d6e
lea ecx, [esp + 0x88]
lea edx, [esp + 0xc]
push 4
lea eax, [esp + 0x12c]
push eax
call fcn.0053c220
add esp, 8
movzx eax, byte [esp + 0x88]
cmp al, 4
jne 0x559311
mov eax, dword [esp + 0x14]
jmp 0x557d9a
lea ecx, [esp + 0x88]
lea edx, [esp + 0xc]
push 4
lea eax, [esp + 0x12c]
push eax
call fcn.0053c220
add esp, 8
movzx eax, byte [esp + 0x88]
cmp al, 4
jne 0x55936a
mov eax, dword [esp + 0x14]
jmp 0x557dc6
lea ecx, [esp + 0x88]
lea edx, [esp + 0xc]
push 4
lea eax, [esp + 0x12c]
push eax
call fcn.0053c220
add esp, 8
movzx eax, byte [esp + 0x88]
cmp al, 4
jne 0x5593c3
mov eax, dword [esp + 0x14]
jmp 0x557ded
lea ecx, [esp + 0x88]
lea edx, [esp + 0xc]
push 4
lea eax, [esp + 0x12c]
push eax
call fcn.0053c220
add esp, 8
movzx eax, byte [esp + 0x88]
cmp al, 4
jne 0x55941c
mov eax, dword [esp + 0x14]
jmp 0x557e11
lea ecx, [esp + 0x88]
lea edx, [esp + 0xc]
push 4
lea eax, [esp + 0x12c]
push eax
call fcn.0053c220
add esp, 8
movzx eax, byte [esp + 0x88]
cmp al, 4
jne 0x559475
mov eax, dword [esp + 0x14]
jmp 0x557e35
lea ecx, [esp + 0x88]
lea edx, [esp + 0xc]
push 4
lea eax, [esp + 0x12c]
push eax
call fcn.0053c220
add esp, 8
movzx eax, byte [esp + 0x88]
cmp al, 4
jne 0x5594ce
mov eax, dword [esp + 0x14]
jmp 0x557e61
lea ecx, [esp + 0x88]
lea edx, [esp + 0xc]
push 4
lea eax, [esp + 0x12c]
push eax
call fcn.0053c220
add esp, 8
movzx eax, byte [esp + 0x88]
cmp al, 4
jne 0x559527
mov eax, dword [esp + 0x14]
jmp 0x557e8d
lea ecx, [esp + 0x88]
lea edx, [esp + 0xc]
push 4
lea eax, [esp + 0x12c]
push eax
call fcn.0053c220
add esp, 8
movzx eax, byte [esp + 0x88]
cmp al, 4
jne 0x55957d
mov eax, dword [esp + 0x14]
jmp 0x557eb5
lea ecx, [esp + 0x88]
lea edx, [esp + 0xc]
push 4
lea eax, [esp + 0x12c]
push eax
call fcn.0053c220
add esp, 8
movzx eax, byte [esp + 0x88]
cmp al, 4
je 0x557edd
movd xmm0, dword [esp + 0x89]
pinsrw xmm0, word [esp + 0x8d], 2
movdqa xmmword [esp + 0x440], xmm0
movzx ecx, byte [esp + 0x8f]
mov byte [esp + 4], cl
movzx edx, byte [esp + 0x445]
mov ch, byte [esp + 0x444]
mov dh, byte [esp + 0x443]
movzx ebx, byte [esp + 0x442]
mov bh, byte [esp + 0x440]
mov cl, byte [esp + 0x441]
jmp 0x5595d1
lea ecx, [esp + 0x88]
lea edx, [esp + 0xc]
push 4
lea eax, [esp + 0x12c]
push eax
call fcn.0053c220
add esp, 8
movzx eax, byte [esp + 0x88]
cmp al, 4
je 0x557f0d
jmp 0x55901d
lea ecx, [esp + 0x88]
lea edx, [esp + 0xc]
push 4
lea eax, [esp + 0x12c]
push eax
call fcn.0053c220
add esp, 8
movzx eax, byte [esp + 0x88]
cmp al, 4
je 0x557f3d
jmp 0x55901d
lea ecx, [esp + 0x88]
lea edx, [esp + 0xc]
push 4
lea eax, [esp + 0x12c]
push eax
call fcn.0053c220
add esp, 8
movzx eax, byte [esp + 0x88]
cmp al, 4
je 0x557f6d
jmp 0x55901d
lea ecx, [esp + 0x88]
lea edx, [esp + 0xc]
push 4
lea eax, [esp + 0x12c]
push eax
call fcn.0053c220
add esp, 8
movzx eax, byte [esp + 0x88]
cmp al, 4
je 0x557f9d
movd xmm0, dword [esp + 0x89]
pinsrw xmm0, word [esp + 0x8d], 2
movdqa xmmword [esp + 0x430], xmm0
movzx ecx, byte [esp + 0x8f]
mov byte [esp + 4], cl
movzx edx, byte [esp + 0x435]
mov ch, byte [esp + 0x434]
mov dh, byte [esp + 0x433]
movzx ebx, byte [esp + 0x432]
mov bh, byte [esp + 0x430]
mov cl, byte [esp + 0x431]
jmp 0x5595d1
mov esi, dword [esp + 0x2c]
xor edi, edi
cmp dword [esp + 0x128], 0
jne 0x55774a
jmp 0x55775e
mov edi, dword [esp + 0x24]
mov ebx, dword [esp]
cmp dword [esp + 0x128], 0
jne 0x557a01
jmp 0x557a19
lea ecx, [esp + 0x88]
lea edx, [esp + 0xc]
push 4
lea eax, [esp + 0x12c]
push eax
call fcn.0053c220
add esp, 8
movzx eax, byte [esp + 0x88]
cmp al, 4
je 0x557fcd
jmp 0x55918b
lea ecx, [esp + 0x128]
lea edx, [esp + 0xc]
call fcn.0053bff0
cmp dword [esp + 0x128], 0
jne 0x559121
mov eax, dword [esp + 0x130]
mov dword [esp + 0x94], eax
lea ecx, [esp + 0x128]
lea edx, [esp + 0xc]
call fcn.0053bff0
cmp dword [esp + 0x128], 0
je 0x5598e5
movsd xmm1, qword [esp + 0x12c]
jmp 0x5581c8
lea ecx, [esp + 0x88]
lea edx, [esp + 0xc]
push 4
lea eax, [esp + 0x12c]
push eax
call fcn.0053c220
add esp, 8
movzx eax, byte [esp + 0x88]
cmp al, 4
je 0x557ffd
jmp 0x55918b
lea ecx, [esp + 0x88]
lea edx, [esp + 0xc]
push 4
lea eax, [esp + 0x12c]
push eax
call fcn.0053c220
add esp, 8
movzx eax, byte [esp + 0x88]
cmp al, 4
je 0x55802d
movd xmm0, dword [esp + 0x89]
pinsrw xmm0, word [esp + 0x8d], 2
movdqa xmmword [esp + 0x420], xmm0
movzx ecx, byte [esp + 0x8f]
mov byte [esp + 4], cl
movzx edx, byte [esp + 0x425]
mov ch, byte [esp + 0x424]
mov dh, byte [esp + 0x423]
movzx ebx, byte [esp + 0x422]
mov bh, byte [esp + 0x420]
mov cl, byte [esp + 0x421]
jmp 0x5595d1
mov esi, 0x57892c
mov edx, 0x23
jmp 0x557720
xor ecx, ecx
xor edx, edx
push 0x586fd0
call fcn.00469a50
mov ecx, 1
mov edx, 1
push 0x586fe0
call fcn.00469a50
mov ecx, 2
mov edx, 2
push 0x586ff0
call fcn.00469a50
movd xmm0, dword [esp + 0x89]
pinsrw xmm0, word [esp + 0x8d], 2
movdqa xmmword [esp + 0x4e0], xmm0
movzx ecx, byte [esp + 0x8f]
mov byte [esp + 4], cl
movzx edx, byte [esp + 0x4e5]
mov ch, byte [esp + 0x4e4]
mov dh, byte [esp + 0x4e3]
movzx ebx, byte [esp + 0x4e2]
mov bh, byte [esp + 0x4e0]
mov cl, byte [esp + 0x4e1]
jmp 0x5595d1
movd xmm0, dword [esp + 0x89]
pinsrw xmm0, word [esp + 0x8d], 2
movdqa xmmword [esp + 0x4d0], xmm0
movzx ecx, byte [esp + 0x8f]
mov byte [esp + 4], cl
movzx edx, byte [esp + 0x4d5]
mov ch, byte [esp + 0x4d4]
mov dh, byte [esp + 0x4d3]
movzx ebx, byte [esp + 0x4d2]
mov bh, byte [esp + 0x4d0]
mov cl, byte [esp + 0x4d1]
jmp 0x5595d1
movd xmm0, dword [esp + 0x89]
pinsrw xmm0, word [esp + 0x8d], 2
movdqa xmmword [esp + 0x4c0], xmm0
movzx ecx, byte [esp + 0x8f]
mov byte [esp + 4], cl
movzx edx, byte [esp + 0x4c5]
mov ch, byte [esp + 0x4c4]
mov dh, byte [esp + 0x4c3]
movzx ebx, byte [esp + 0x4c2]
mov bh, byte [esp + 0x4c0]
mov cl, byte [esp + 0x4c1]
jmp 0x5595d1
movd xmm0, dword [esp + 0x89]
pinsrw xmm0, word [esp + 0x8d], 2
movdqa xmmword [esp + 0x4b0], xmm0
movzx ecx, byte [esp + 0x8f]
mov byte [esp + 4], cl
movzx edx, byte [esp + 0x4b5]
mov ch, byte [esp + 0x4b4]
mov dh, byte [esp + 0x4b3]
movzx ebx, byte [esp + 0x4b2]
mov bh, byte [esp + 0x4b0]
mov cl, byte [esp + 0x4b1]
jmp 0x5595d1
movd xmm0, dword [esp + 0x89]
pinsrw xmm0, word [esp + 0x8d], 2
movdqa xmmword [esp + 0x4a0], xmm0
movzx ecx, byte [esp + 0x8f]
mov byte [esp + 4], cl
movzx edx, byte [esp + 0x4a5]
mov ch, byte [esp + 0x4a4]
mov dh, byte [esp + 0x4a3]
movzx ebx, byte [esp + 0x4a2]
mov bh, byte [esp + 0x4a0]
mov cl, byte [esp + 0x4a1]
jmp 0x5595d1
movd xmm0, dword [esp + 0x89]
pinsrw xmm0, word [esp + 0x8d], 2
movdqa xmmword [esp + 0x490], xmm0
movzx ecx, byte [esp + 0x8f]
mov byte [esp + 4], cl
movzx edx, byte [esp + 0x495]
mov ch, byte [esp + 0x494]
mov dh, byte [esp + 0x493]
movzx ebx, byte [esp + 0x492]
mov bh, byte [esp + 0x490]
mov cl, byte [esp + 0x491]
jmp 0x5595d1
movd xmm0, dword [esp + 0x89]
pinsrw xmm0, word [esp + 0x8d], 2
movdqa xmmword [esp + 0x480], xmm0
movzx ecx, byte [esp + 0x8f]
mov byte [esp + 4], cl
movzx edx, byte [esp + 0x485]
mov ch, byte [esp + 0x484]
mov dh, byte [esp + 0x483]
movzx ebx, byte [esp + 0x482]
mov bh, byte [esp + 0x480]
mov cl, byte [esp + 0x481]
jmp 0x5595d1
movd xmm0, dword [esp + 0x89]
pinsrw xmm0, word [esp + 0x8d], 2
movdqa xmmword [esp + 0x470], xmm0
movzx ecx, byte [esp + 0x8f]
mov byte [esp + 4], cl
movzx edx, byte [esp + 0x475]
mov ch, byte [esp + 0x474]
mov dh, byte [esp + 0x473]
movzx ebx, byte [esp + 0x472]
mov bh, byte [esp + 0x470]
mov cl, byte [esp + 0x471]
jmp 0x5595d1
movd xmm0, dword [esp + 0x89]
pinsrw xmm0, word [esp + 0x8d], 2
movdqa xmmword [esp + 0x460], xmm0
movzx ecx, byte [esp + 0x8f]
mov byte [esp + 4], cl
movzx edx, byte [esp + 0x465]
mov ch, byte [esp + 0x464]
mov dh, byte [esp + 0x463]
movzx ebx, byte [esp + 0x462]
mov bh, byte [esp + 0x460]
mov cl, byte [esp + 0x461]
jmp 0x5595d1
movd xmm0, dword [esp + 0x89]
pinsrw xmm0, word [esp + 0x8d], 2
movdqa xmmword [esp + 0x450], xmm0
movzx ecx, byte [esp + 0x8f]
mov byte [esp + 4], cl
movzx edx, byte [esp + 0x455]
mov ch, byte [esp + 0x454]
mov dh, byte [esp + 0x453]
movzx ebx, byte [esp + 0x452]
mov bh, byte [esp + 0x450]
mov cl, byte [esp + 0x451]
movzx esi, bl
movzx ebx, bh
movzx edi, cl
movzx ecx, ch
shl esi, 8
shl ebx, 8
shl ecx, 8
or esi, edi
movzx edi, al
or ebx, edi
mov edi, dword [esp + 8]
movd xmm1, ebx
mov ebx, dword [esp + 0x190]
pinsrw xmm1, esi, 1
movzx esi, dh
movzx edx, dl
or ecx, esi
movzx esi, byte [esp + 4]
pinsrw xmm1, ecx, 2
shl esi, 8
or esi, edx
pinsrw xmm1, esi, 3
movdqa xmmword [esp + 0x520], xmm1
psrlq xmm1, 8
test edi, edi
movzx ecx, byte [esp + 0x527]
mov edx, dword [esp + 0x2e8]
mov byte [edx + 7], cl
pextrw ecx, xmm1, 2
movd dword [edx + 1], xmm1
mov word [edx + 5], cx
mov byte [edx], al
je 0x559693
lea esi, [ebx + 0x10]
jmp 0x559666
add esi, 0x1c
dec edi
je 0x559693
cmp dword [esi - 0x10], 0
je 0x55967c
push dword [esi - 0xc]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
cmp dword [esi - 4], 0
je 0x559660
push dword [esi]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x559660
cmp dword [esp + 0x20], 0
je 0x5596a8
push ebx
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
cmp byte [esp + 0x18], 0
jne 0x5596d8
lea ecx, [esp + 0x88]
lea edx, [esp + 0xc]
call fcn.0053c070
movzx eax, byte [esp + 0x88]
mov esi, dword [esp + 0x8c]
cmp eax, 4
ja 0x55970c
cmp eax, 3
je 0x55970c
cmp dword [esp + 0xc], 0
je 0x5596f0
push dword [esp + 0x10]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
push dword [esp + 0x1c]
call sub.KERNEL32.dll_CloseHandle
cmp dword [esp + 0x324], 0
jne 0x5574be
jmp 0x5574d2
mov edi, dword [esi]
mov ebx, dword [esi + 4]
push edi
call dword [ebx]
add esp, 4
cmp dword [ebx + 4], 0
je 0x559734
cmp dword [ebx + 8], 9
jb 0x559726
mov edi, dword [edi - 4]
push edi
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
push esi
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0xc], 0
jne 0x5596df
jmp 0x5596f0
mov edi, dword [esi]
mov ebx, dword [esi + 4]
push edi
call dword [ebx]
add esp, 4
cmp dword [ebx + 4], 0
je 0x559773
cmp dword [ebx + 8], 9
jb 0x559765
mov edi, dword [edi - 4]
push edi
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
push esi
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0xc], 0
jne 0x558297
jmp 0x5582a8
movd xmm0, dword [esp + 0x129]
pinsrw xmm0, word [esp + 0x12d], 2
movdqa xmmword [esp + 0x3c0], xmm0
movzx ecx, byte [esp + 0x12f]
movzx edx, byte [esp + 0x3c5]
mov ah, byte [esp + 0x3c4]
mov ch, byte [esp + 0x3c3]
mov dh, byte [esp + 0x3c2]
movzx ebx, byte [esp + 0x3c0]
mov bh, byte [esp + 0x3c1]
jmp 0x559b58
movd xmm0, dword [esp + 0x129]
pinsrw xmm0, word [esp + 0x12d], 2
movdqa xmmword [esp + 0x370], xmm0
movzx ecx, byte [esp + 0x12f]
movzx edx, byte [esp + 0x375]
mov ah, byte [esp + 0x374]
mov ch, byte [esp + 0x373]
mov dh, byte [esp + 0x372]
movzx ebx, byte [esp + 0x370]
mov bh, byte [esp + 0x371]
jmp 0x559b58
movd xmm0, dword [esp + 0x129]
pinsrw xmm0, word [esp + 0x12d], 2
movdqa xmmword [esp + 0x360], xmm0
movzx ecx, byte [esp + 0x12f]
movzx edx, byte [esp + 0x365]
mov ah, byte [esp + 0x364]
mov ch, byte [esp + 0x363]
mov dh, byte [esp + 0x362]
movzx ebx, byte [esp + 0x360]
mov bh, byte [esp + 0x361]
jmp 0x559b58
movd xmm0, dword [esp + 0x129]
pinsrw xmm0, word [esp + 0x12d], 2
movdqa xmmword [esp + 0x350], xmm0
movzx ecx, byte [esp + 0x12f]
movzx edx, byte [esp + 0x355]
mov ah, byte [esp + 0x354]
mov ch, byte [esp + 0x353]
mov dh, byte [esp + 0x352]
movzx ebx, byte [esp + 0x350]
mov bh, byte [esp + 0x351]
jmp 0x559b58
mov eax, dword [esp + 0x130]
mov dword [esp + 0x98], eax
lea ebx, [esp + 0xc]
lea ecx, [esp + 0x128]
mov edx, ebx
push dword [esp + 0x2c]
push dword [esp + 0x34]
push 0
push 0
call fcn.0053d8f0
add esp, 0x10
cmp dword [esp + 0x128], 0
je 0x559bae
movq xmm1, qword [esp + 0x12c]
jmp 0x5581c1
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x39]
mov dword [esp + 0x12c], edx
mov dword [esp + 0x129], ecx
mov byte [esp + 0x128], al
jmp 0x559963
call sub.KERNEL32.dll_GetLastError
mov byte [esp + 0x128], 0
mov dword [esp + 0x12c], eax
movsd xmm1, qword [esp + 0x128]
mov esi, dword [esp + 0x110]
jmp 0x5581c8
movd xmm0, dword [esp + 0x129]
pinsrw xmm0, word [esp + 0x12d], 2
movdqa xmmword [esp + 0x3d0], xmm0
movzx ecx, byte [esp + 0x12f]
movzx edx, byte [esp + 0x3d5]
mov ah, byte [esp + 0x3d4]
mov ch, byte [esp + 0x3d3]
mov dh, byte [esp + 0x3d2]
movzx ebx, byte [esp + 0x3d0]
mov bh, byte [esp + 0x3d1]
jmp 0x559b58
movd xmm0, dword [esp + 0x129]
pinsrw xmm0, word [esp + 0x12d], 2
movdqa xmmword [esp + 0x3b0], xmm0
movzx ecx, byte [esp + 0x12f]
movzx edx, byte [esp + 0x3b5]
mov ah, byte [esp + 0x3b4]
mov ch, byte [esp + 0x3b3]
mov dh, byte [esp + 0x3b2]
movzx ebx, byte [esp + 0x3b0]
mov bh, byte [esp + 0x3b1]
jmp 0x559b58
movd xmm0, dword [esp + 0x129]
pinsrw xmm0, word [esp + 0x12d], 2
movdqa xmmword [esp + 0x3a0], xmm0
movzx ecx, byte [esp + 0x12f]
movzx edx, byte [esp + 0x3a5]
mov ah, byte [esp + 0x3a4]
mov ch, byte [esp + 0x3a3]
mov dh, byte [esp + 0x3a2]
movzx ebx, byte [esp + 0x3a0]
mov bh, byte [esp + 0x3a1]
jmp 0x559b58
movd xmm0, dword [esp + 0x129]
pinsrw xmm0, word [esp + 0x12d], 2
movdqa xmmword [esp + 0x390], xmm0
movzx ecx, byte [esp + 0x12f]
movzx edx, byte [esp + 0x395]
mov ah, byte [esp + 0x394]
mov ch, byte [esp + 0x393]
mov dh, byte [esp + 0x392]
movzx ebx, byte [esp + 0x390]
mov bh, byte [esp + 0x391]
jmp 0x559b58
mov ecx, 0x586c6b
mov edx, 0x2b
push 0x57f6b0
call fcn.0046b190
mov ecx, 0x586c6b
mov edx, 0x2b
push 0x57f6b0
call fcn.0046b190
mov ecx, 0x586c6b
mov edx, 0x2b
push 0x57f6b0
call fcn.0046b190
movd xmm0, dword [esp + 0x129]
pinsrw xmm0, word [esp + 0x12d], 2
movdqa xmmword [esp + 0x380], xmm0
movzx ecx, byte [esp + 0x12f]
movzx edx, byte [esp + 0x385]
mov ah, byte [esp + 0x384]
mov ch, byte [esp + 0x383]
mov dh, byte [esp + 0x382]
movzx ebx, byte [esp + 0x380]
mov bh, byte [esp + 0x381]
movzx esi, dh
movzx edi, bh
movzx ebx, bl
movzx edx, dl
shl esi, 8
shl ebx, 8
or esi, edi
movzx edi, al
movzx eax, ah
or ebx, edi
shl eax, 8
mov edi, dword [esp + 8]
movd xmm1, ebx
mov ebx, dword [esp + 0x190]
pinsrw xmm1, esi, 1
movzx esi, ch
movzx ecx, cl
or eax, esi
mov esi, dword [esp + 0x110]
shl ecx, 8
pinsrw xmm1, eax, 2
or ecx, edx
pinsrw xmm1, ecx, 3
jmp 0x5581c8
lea ecx, [esp + 0x128]
lea edx, [esp + 0x88]
push ebx
call fcn.0055bd30
add esp, 4
movzx eax, byte [esp + 0x128]
cmp al, 4
jne 0x559d16
mov ebx, dword [esp + 0x190]
test edi, edi
je 0x559bee
push esi
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
mov eax, 4
movd xmm1, eax
movd eax, xmm1
cmp al, 4
je 0x5581f8
jmp 0x55961d
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display
mov edx, 0x19
push 0x584708
call fcn.0046b190
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display
mov edx, 0x19
push 0x584708
call fcn.0046b190
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display
mov edx, 0x19
push 0x584708
call fcn.0046b190
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display
mov edx, 0x19
push 0x584708
call fcn.0046b190
mov ecx, 0x57f7fc
mov edx, 0x57f884
call fcn.004775c0
mov ecx, 0x586c6b
mov edx, 0x2b
push 0x57f6a0
call fcn.0046b190
mov ecx, 0x586c6b
mov edx, 0x2b
push 0x57f6c0
call fcn.0046b190
mov ecx, 0x57f7fc
mov edx, 0x57f884
call fcn.004775c0
mov ecx, 0x586c6b
mov edx, 0x2b
push 0x57f6a0
call fcn.0046b190
mov ecx, 0x586c6b
mov edx, 0x2b
push 0x57f6c0
call fcn.0046b190
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display
mov edx, 0x19
push 0x584708
call fcn.0046b190
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display
mov edx, 0x19
push 0x584708
call fcn.0046b190
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display
mov edx, 0x19
push 0x584708
call fcn.0046b190
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display
mov edx, 0x19
push 0x584708
call fcn.0046b190
movd xmm0, dword [esp + 0x129]
movzx eax, al
pinsrw xmm0, word [esp + 0x12d], 2
movdqa xmmword [esp + 0x340], xmm0
mov ebx, dword [esp + 0x340]
movzx ecx, byte [esp + 0x342]
movzx edx, byte [esp + 0x341]
shl ebx, 8
shl ecx, 8
or ebx, eax
or ecx, edx
movzx eax, byte [esp + 0x343]
movd xmm1, ebx
pinsrw xmm1, ecx, 1
mov ecx, dword [esp + 0x344]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x345]
jmp 0x5583d9
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display
mov edx, 0x19
push 0x584708
call fcn.0046b190
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display
mov edx, 0x19
push 0x584708
call fcn.0046b190
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display
mov edx, 0x19
push 0x584708
call fcn.0046b190
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display
mov edx, 0x19
push 0x584708
call fcn.0046b190
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display
mov edx, 0x19
push 0x584708
call fcn.0046b190
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display
mov edx, 0x19
push 0x584708
call fcn.0046b190
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display
mov edx, 0x19
push 0x584708
call fcn.0046b190
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display
mov edx, 0x19
push 0x584708
call fcn.0046b190
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display
mov edx, 0x19
push 0x584708
call fcn.0046b190
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display
mov edx, 0x19
push 0x584708
call fcn.0046b190
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display
mov edx, 0x19
push 0x584708
call fcn.0046b190
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display
mov edx, 0x19
push 0x584708
call fcn.0046b190
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display
mov edx, 0x19
push 0x584708
call fcn.0046b190
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display
mov edx, 0x19
push 0x584708
call fcn.0046b190
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display
mov edx, 0x19
push 0x584708
call fcn.0046b190
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display
mov edx, 0x19
push 0x584708
call fcn.0046b190
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display
mov edx, 0x19
push 0x584708
call fcn.0046b190
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display
mov edx, 0x19
push 0x584708
call fcn.0046b190
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display
mov edx, 0x19
push 0x584708
call fcn.0046b190
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display
mov edx, 0x19
push 0x584708
call fcn.0046b190
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display
mov edx, 0x19
push 0x584708
call fcn.0046b190
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display
mov edx, 0x19
push 0x584708
call fcn.0046b190
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display
mov edx, 0x19
push 0x584708
call fcn.0046b190
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display
mov edx, 0x19
push 0x584708
call fcn.0046b190
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display
mov edx, 0x19
push 0x584708
call fcn.0046b190
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display
mov edx, 0x19
push 0x584708
call fcn.0046b190
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display
mov edx, 0x19
push 0x584708
call fcn.0046b190
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display
mov edx, 0x19
push 0x584708
call fcn.0046b190
movd xmm0, dword [esp + 0x129]
pinsrw xmm0, word [esp + 0x12d], 2
movdqa xmmword [esp + 0x400], xmm0
movzx ecx, byte [esp + 0x12f]
movzx edx, byte [esp + 0x405]
mov ah, byte [esp + 0x404]
mov ch, byte [esp + 0x403]
mov dh, byte [esp + 0x402]
movzx ebx, byte [esp + 0x400]
mov bh, byte [esp + 0x401]
jmp 0x559b58
movd xmm0, dword [esp + 0x129]
pinsrw xmm0, word [esp + 0x12d], 2
movdqa xmmword [esp + 0x3f0], xmm0
movzx ecx, byte [esp + 0x12f]
movzx edx, byte [esp + 0x3f5]
mov ah, byte [esp + 0x3f4]
mov ch, byte [esp + 0x3f3]
mov dh, byte [esp + 0x3f2]
movzx ebx, byte [esp + 0x3f0]
mov bh, byte [esp + 0x3f1]
jmp 0x559b58
mov ecx, 0x586c6b
mov edx, 0x2b
push 0x57f39c
call fcn.0046b190
mov ecx, 0x586c6b
mov edx, 0x2b
push 0x57f6d0
call fcn.0046b190
mov ecx, 0x57f7fc
mov edx, 0x57f884
call fcn.004775c0
mov ecx, 0x586c6b
mov edx, 0x2b
push 0x57f6a0
call fcn.0046b190
mov ecx, edi
mov edx, edi
push 0x586bdc
call fcn.00469a50
mov eax, 0x574d0c
xor esi, esi
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 4]
push eax
push dword [esp + 0x194]
push esi
call fcn.0046fcc0
add esp, 0xc
ud2
mov ecx, 0x586c6b
mov edx, 0x2b
push 0x57f39c
call fcn.0046b190
mov ecx, 1
mov edx, edi
call fcn.00429f40
call fcn.00429f00
mov ecx, dword [esp + 0x34]
mov esi, edi
mov eax, 0x574d1c
mov dword [esp + 0x190], ecx
jmp 0x55a24a
mov ecx, 4
mov edx, edi
call fcn.00429f40
mov ecx, 4
mov edx, edi
call fcn.00429f40
mov ecx, str.internal_error:_entered_unreachable_code_home_rafalh_.cargo_registry_src_index.crates.io_6f17d22bba15001f_gltf_1.0.0_src_animation_util_mod.rs
mov edx, 0x28
push 0x585788
call fcn.0046b190
mov ecx, str.internal_error:_entered_unreachable_code_home_rafalh_.cargo_registry_src_index.crates.io_6f17d22bba15001f_gltf_1.0.0_src_animation_util_mod.rs
mov edx, 0x28
push 0x585778
call fcn.0046b190
mov ecx, 1
mov edx, 0x2000
call fcn.00429f40
mov ecx, 2
mov edx, edi
call fcn.00429f40
mov ecx, 2
mov edx, ebx
call fcn.00429f40
mov ecx, 4
mov edx, ebx
call fcn.00429f40
mov edx, dword [esp + 0x260]
mov ecx, 4
call fcn.00429f40
call fcn.00429f00
call fcn.00429f00
call fcn.00429f00
call fcn.00429f00
call fcn.00429f00
call fcn.00429f00
call fcn.00429f00
call fcn.00429f00
call fcn.00429f00
call fcn.00429f00
call fcn.00429f00
call fcn.00429f00
mov ecx, 4
mov edx, esi
call fcn.00429f40
call fcn.00429f00
call fcn.00429f00
mov ecx, 0x57f7fc
mov edx, 0x57f884
call fcn.004775c0
mov ecx, 2
mov edx, edi
call fcn.00429f40
mov ecx, 4
mov edx, edi
call fcn.00429f40
call fcn.00429f00
call fcn.00429f00
call fcn.00429f00
call fcn.00429f00
call fcn.00429f00
mov edx, ebx
push 0x5845cc
call fcn.0046ea80
mov ecx, ebx
push 0x5845cc
call fcn.0046a7e0
mov ecx, 0x57f7fc
mov edx, 0x57f884
call fcn.004775c0
mov edx, eax
push 0x5845ec
call fcn.0046ea80
mov ecx, eax
push 0x5845ec
call fcn.0046a7e0
mov edx, eax
push 0x5845bc
call fcn.0046ea80
mov ecx, eax
push 0x5845bc
call fcn.0046a7e0
mov edx, eax
push 0x5845dc
call fcn.0046ea80
mov ecx, eax
push 0x5845dc
call fcn.0046a7e0
mov ecx, str.internal_error:_entered_unreachable_code_home_rafalh_.cargo_registry_src_index.crates.io_6f17d22bba15001f_gltf_1.0.0_src_animation_util_mod.rs
mov edx, 0x28
push 0x57f120
call fcn.0046b190
mov ecx, str.internal_error:_entered_unreachable_code_home_rafalh_.cargo_registry_src_index.crates.io_6f17d22bba15001f_gltf_1.0.0_src_animation_util_mod.rs
mov edx, 0x28
push 0x57f120
call fcn.0046b190
call fcn.00429f00
call fcn.00429f00
cmp dword [esp + 0x88], 0
mov esi, eax
jne 0x55a4a9
jmp 0x55a4bd
push dword [esp + 0x8c]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
push esi
call fcn.00567e20
nop
xchg ebx, eax
sbb dword [eax], eax
add dl, ah
daa
add byte [eax], al
xor dword [edi], esp
add byte [eax], al
and dword [edi], 0x26e40000
add byte [eax], al
add byte cs:[eax], al
popal
das
add byte [eax], al
sub ch, byte [edi]
add byte [eax], al
das
add byte [eax], al
or ch, byte [edi]
add byte [eax], al
or dword [eax], 0x27b30000
add byte [eax], al
adc esp, dword [edi]
add byte [eax], al
dec edi
daa
add byte [eax], al
mov ch, 0x26
add byte [eax], al
mov ch, 0x2a
add byte [eax], al
and al, 0x2b
add byte [eax], al
in eax, dx
sub al, byte [eax]
add byte [ecx], al
sub eax, dword [eax]
add ch, cl
sub al, byte [eax]
add byte [edi], bl
or eax, 0xdb80000
add byte [eax], al
inc eax
or eax, 0xd820000
add byte [eax], al
mov bl, 0xd
add byte [eax], al
inc ebp
adc byte [eax], al
add byte [ecx], ch
adc byte [eax], al
add byte [ebx], ch
adc byte [eax], al
add byte [eax], ah
outsd dx, dword [esi]
add byte [eax], al
dec ebp
sldt word [eax]
in eax, dx
or eax, 0x107b0000
add byte [eax], al
pop edi
adc byte [eax], al
add byte [ecx + 0x10], ah
add byte [eax], al
xor al, 0x6f
add byte [eax], al
push edx
sldt word [eax]
nop word cs:[eax + eax]
nop
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x60
xor eax, eax
cmp dword [ecx + 0x18], 0x80000000
mov edx, str.vmesh_src_char_anim.rs
cmovne eax, dword [ecx + 0x20]
cmovne edx, dword [ecx + 0x1c]
cmp eax, 5
jbe 0x55a5c5
lea ecx, [esp + 0x18]
push 5
push str.deathrootStart_time:__n
push eax
call fcn.00470590
add esp, 0xc
cmp dword [esp + 0x18], 0
je 0x55a5e6
mov eax, dword [esp + 0x48]
cmp dword [esp + 0x3c], 0xffffffff
mov esi, dword [esp + 0x4c]
mov edi, dword [esp + 0x50]
mov ebx, dword [esp + 0x54]
lea edx, [esp + 0x20]
lea ecx, [esp + 0xc]
je 0x55a61b
push 0
jmp 0x55a61d
jne 0x55a5df
mov eax, 0x74616564
movzx ecx, byte [edx + 4]
xor eax, dword [edx]
xor ecx, 0x68
or ecx, eax
sete al
jmp 0x55a6c5
xor eax, eax
jmp 0x55a6c5
xor esi, esi
cmp byte [esp + 0x26], 0
jne 0x55a6b9
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
movzx ebx, byte [esp + 0x24]
test eax, eax
mov ecx, edi
je 0x55a634
mov ecx, edi
sub ecx, eax
jbe 0x55a62e
cmp byte [edx + eax], 0xc0
jge 0x55a634
jmp 0x55a71f
push 1
push ebx
push edi
push esi
push eax
call fcn.0042aa40
add esp, 0x14
jmp 0x55a6bd
jne 0x55a71f
test ecx, ecx
je 0x55a68d
mov byte [esp + 3], bl
movzx ebx, byte [edx + eax]
test bl, bl
jns 0x55a6ad
mov ecx, edx
movzx edx, byte [edx + eax + 1]
mov dword [esp + 4], edi
mov edi, ebx
and edi, 0x1f
and edx, 0x3f
cmp bl, 0xe0
jb 0x55a693
mov dword [esp + 8], ecx
movzx ecx, byte [ecx + eax + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp bl, 0xf0
jb 0x55a69e
mov edx, dword [esp + 8]
and edi, 7
shl ecx, 6
shl edi, 0x12
movzx ebx, byte [edx + eax + 3]
and ebx, 0x3f
or ebx, ecx
or ebx, edi
jmp 0x55a6a9
test bl, bl
jne 0x55a6b4
jmp 0x55a6b9
shl edi, 6
or edi, edx
mov edx, ecx
mov ebx, edi
jmp 0x55a6a9
mov edx, dword [esp + 8]
shl edi, 0xc
or ecx, edi
mov ebx, ecx
mov edi, dword [esp + 4]
cmp byte [esp + 3], 0
je 0x55a6cd
mov esi, 1
mov dword [esp + 0xc], esi
cmp dword [esp + 0xc], 0
setne al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
cmp ebx, 0x110000
je 0x55a6b9
mov ecx, 1
cmp ebx, 0x80
jb 0x55a6fd
mov ecx, 2
cmp ebx, 0x800
jb 0x55a6fd
cmp ebx, 0x10000
mov ecx, 4
sbb ecx, 0
add eax, ecx
je 0x55a70f
mov ecx, edi
sub ecx, eax
jbe 0x55a713
cmp byte [edx + eax], 0xbf
jg 0x55a715
jmp 0x55a71f
mov ecx, edi
jmp 0x55a715
jne 0x55a71f
test ecx, ecx
je 0x55a6b4
cmp byte [edx + eax], 0
jmp 0x55a6b4
mov ecx, edx
mov edx, edi
push 0x586704
push edi
push eax
call fcn.0046fcc0
nop