Function at 0x52d570
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 0x52d584
pop eax
xor ebx, ebx
mov dword [esp + 0x244], edx
mov dword [esp + 0x1b4], eax
mov eax, dword [edx + 4]
cmp dword [eax + 0x18], 0x80000000
je 0x52d5a4
mov ebx, dword [eax + 0x1c]
mov dword [esp + 0x2ec], ecx
jne 0x52d611
lea eax, [ebp + 8]
lea esi, [esp + 0x148]
mov dword [esp + 0xb8], 0x5803cc
mov dword [esp + 0xbc], 1
mov dword [esp + 0xc8], 0
mov dword [esp + 0x148], eax
mov dword [esp + 0xc0], esi
mov dword [esp + 0x14c], 0x469a20
mov dword [esp + 0xc4], 1
lea ecx, [esp + 0x2f4]
lea edx, [esp + 0xb8]
call fcn.0042a3a0
jmp 0x52d67c
mov esi, dword [eax + 0x20]
test esi, esi
je 0x52d657
js 0x5345cf
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x52d63c
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x52d64b
mov dword [0x5920d8], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov edi, eax
test eax, eax
jne 0x52d65c
mov ecx, 1
mov edx, esi
call fcn.00429f60
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 + 0xb8], 0x580380
mov dword [esp + 0xbc], 2
mov dword [esp + 0xc8], 0
mov esi, dword [eax + 0x4c]
mov edi, dword [eax + 0x50]
lea eax, [esp + 0x2f4]
mov dword [esp + 0x148], eax
lea eax, [esp + 0x148]
mov dword [esp + 0x14c], 0x4325d0
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], 1
lea ecx, [esp + 0x4fc]
lea edx, [esp + 0xb8]
call fcn.0042a3a0
mov ebx, dword [esp + 0x500]
lea ecx, [esp + 0x324]
mov edx, esi
push dword [esp + 0x504]
push ebx
push edi
call fcn.004b0500
add esp, 0xc
cmp dword [esp + 0x4fc], 0
je 0x52d724
push ebx
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x38]
test eax, eax
mov dword [esp + 0x30c], eax
je 0x52d7c6
mov esi, dword [esp + 0x328]
mov edi, dword [esp + 0x32c]
lea eax, [esp + 0x2f4]
mov dword [esp + 0xb8], 0x5803ac
mov dword [esp + 0xbc], 3
mov dword [esp + 0xc8], 0
mov dword [esp + 0x148], eax
lea eax, [esp + 0x50]
mov dword [esp + 0x14c], 0x4325d0
mov dword [esp + 0x150], eax
lea eax, [esp + 0x148]
mov dword [esp + 0x154], 0x4b1030
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], 2
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], edi
lea ecx, [esp + 0xb8]
call fcn.004afe90
jmp 0x52d7d4
mov esi, dword [esp + 0x328]
mov edi, dword [esp + 0x32c]
mov dword [esp + 0xb8], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 7
mov dword [esp + 0xd2], 0
mov dword [esp + 0xd6], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xcc], 0
mov byte [esp + 0xd5], 1
mov word [esp + 0xd7], 0x101
lea eax, [esp + 0xb8]
lea ecx, [esp + 0x148]
mov edx, esi
push eax
push edi
call fcn.004aca00
add esp, 8
cmp byte [esp + 0x148], 4
jne 0x52d86b
mov esi, dword [esp + 0x14c]
jmp 0x52d881
mov eax, dword [esp + 0x148]
mov esi, dword [esp + 0x14c]
cmp al, 4
jne 0x531677
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x52d8a3
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x534517
mov dword [0x5920d8], eax
push 0x2000
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x534517
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x18], 0x2000
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], 0
mov byte [esp + 0x24], 0
mov dword [esp + 0x28], 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 0x52d953
cmp edi, 0x4924924
ja 0x53459e
lea eax, [edi + edi*8]
lea esi, [eax + eax*2]
add esi, edi
js 0x5345a3
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x52d938
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x534592
mov dword [0x5920d8], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x534592
mov edx, dword [esp + 0x310]
mov ecx, dword [edx + 0x18]
mov dword [esp + 0x28c], edi
mov dword [esp + 0x290], eax
mov dword [esp + 0x294], 0
lea edi, [esp + 0xb8]
mov edx, dword [edx + 0x14]
lea eax, [edx + ecx*4]
mov dword [esp + 0x33c], eax
mov eax, dword [esp + 0x244]
mov ecx, dword [eax]
mov esi, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x24c], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x34], esi
movss xmm0, dword [eax + 4]
mov eax, dword [eax]
movss dword [esp + 0x338], xmm0
mov dword [esp + 0x334], eax
jmp 0x52da1e
mov ecx, dword [esp + 0x290]
mov ebx, dword [esp + 0x288]
lea eax, [edx + edx*8]
movss xmm0, dword [esp + 0xc]
lea eax, [eax + eax*2]
add eax, edx
inc edx
mov dword [ecx + eax], ebx
mov dword [ecx + eax + 4], esi
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x30]
mov dword [ecx + eax + 8], esi
mov esi, dword [esp + 0x248]
mov dword [ecx + eax + 0xc], esi
mov esi, dword [esp + 0x130]
mov dword [ecx + eax + 0x10], esi
mov dword [ecx + eax + 0x14], ebx
movss dword [ecx + eax + 0x18], xmm0
mov dword [esp + 0x294], edx
mov edx, dword [esp + 0x2f0]
cmp edx, dword [esp + 0x33c]
mov eax, dword [esp + 0x314]
je 0x53098c
mov ecx, dword [edx]
cmp dword [eax + 0xc4], ecx
jbe 0x534405
mov eax, dword [eax + 0xc0]
add edx, 4
mov esi, dword [esp + 0x34]
mov ebx, ecx
mov dword [esp + 0x2f0], edx
lea edx, [ecx + ecx*2]
mov dword [esp + 0xc], ebx
shl edx, 6
mov dword [esp + 0x38], edx
mov dword [esp + 0x40], eax
add eax, edx
mov edx, dword [esp + 0x10]
mov ecx, dword [esi + 8]
mov dword [esp + 0x3c], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x1d4], edx
mov dword [esp + 0x1d8], esi
mov edx, dword [esp + 0x24c]
mov esi, dword [ebp + 0x10]
shl ecx, 5
add ecx, eax
mov dword [esp + 0x1dc], edx
mov dword [esp + 0x1e4], ecx
mov dword [esp + 0x1e8], ebx
mov dword [esp + 0x1ec], esi
jmp 0x52dace
mov eax, dword [esp + 0x1e0]
mov ecx, dword [esp + 0x1e4]
cmp eax, ecx
je 0x52de30
lea ecx, [eax + 0x20]
mov dword [esp + 0x1e0], ecx
mov edx, dword [esp + 0x1d4]
mov ecx, dword [eax + 0x14]
cmp dword [edx + 0xc4], ecx
jbe 0x533aa3
cmp ecx, dword [esp + 0x1e8]
jne 0x52dac0
mov ecx, dword [esp + 0x1d8]
mov esi, dword [esp + 0x1dc]
mov dword [esp + 0x208], edx
mov dword [esp + 0x14], 0
mov dword [esp + 8], 4
mov dword [esp + 0x20c], ecx
mov dword [esp + 0x210], esi
lea esi, [esp + 0x1ec]
mov dword [esp + 0x214], eax
mov dword [esp + 0x218], esi
mov esi, dword [eax + 8]
cmp dword [ecx + 0x14], esi
jbe 0x533e74
mov eax, dword [ecx + 0x10]
lea ecx, [esi + esi*4]
movzx ebx, byte [eax + ecx*4 + 0x10]
test bl, bl
je 0x533e65
mov eax, dword [eax + ecx*4 + 8]
cmp dword [edx + 0x10], eax
jbe 0x533e88
lea eax, [eax + eax*8]
shl eax, 4
add eax, dword [edx + 0xc]
lea esi, [esp + 0x1ec]
lea ecx, [esp + 0x148]
push esi
push eax
call fcn.004b5370
add esp, 8
mov esi, dword [esp + 0x148]
cmp esi, 4
je 0x52dac0
mov ecx, edi
lea edx, [esp + 0x208]
call fcn.00546e40
mov eax, dword [esp + 0xb8]
cmp eax, 4
je 0x52dac0
lea edx, [esp + 0xbc]
lea ecx, [esp + 0x14c]
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 + 0x70], xmm1
movsd xmm1, qword [edx + 0x10]
movsd qword [esp + 0x78], xmm2
movsd xmm2, qword [edx + 0x18]
movsd qword [esp + 0x80], xmm0
movsd qword [esp + 0x50], xmm3
movsd qword [esp + 0x60], xmm1
movsd xmm1, qword [edx + 8]
movsd qword [esp + 0x68], xmm2
movsd xmm2, qword [ecx + 0x28]
movsd qword [esp + 0x58], xmm1
movsd xmm1, qword [ecx + 0x20]
movsd qword [esp + 0x2c0], xmm2
movsd xmm2, qword [ecx + 0x18]
movsd qword [esp + 0x2b8], xmm1
movsd xmm1, qword [ecx + 0x10]
movsd qword [esp + 0x2b0], xmm2
movsd xmm2, qword [ecx]
movsd qword [esp + 0x2a8], xmm1
movsd xmm1, qword [ecx + 8]
movsd qword [esp + 0x298], xmm2
movsd qword [esp + 0x2a0], xmm1
jne 0x52dac0
movsd xmm0, qword [esp + 0x80]
movsd xmm1, qword [esp + 0x58]
mov eax, edi
mov dword [esp + 0x30], esi
mov ecx, 0x1a
lea edi, [esp + 0x148]
cmp bl, 3
mov esi, eax
movsd qword [edx + 0x5c], xmm0
movsd xmm0, qword [esp + 0x78]
movsd qword [edx + 0x34], xmm1
movsd xmm1, qword [esp + 0x2a0]
movsd qword [edx + 0x54], xmm0
movsd xmm0, qword [esp + 0x70]
movsd qword [edx + 0x4c], xmm0
movsd xmm0, qword [esp + 0x68]
movsd qword [edx + 0x44], xmm0
movsd xmm0, qword [esp + 0x60]
movsd qword [edx + 0x3c], xmm0
movsd xmm0, qword [esp + 0x50]
movsd qword [edx + 0x2c], xmm0
movsd xmm0, qword [esp + 0x298]
movsd qword [esp + 0xc0], xmm1
movsd qword [esp + 0xb8], xmm0
movsd xmm0, qword [esp + 0x2a8]
movsd qword [esp + 0xc8], xmm0
movsd xmm0, qword [esp + 0x2b0]
movsd qword [esp + 0xd0], xmm0
movsd xmm0, qword [esp + 0x2b8]
movsd qword [esp + 0xd8], xmm0
movsd xmm0, qword [esp + 0x2c0]
movsd qword [esp + 0xe0], xmm0
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x1a
mov edi, eax
lea esi, [esp + 0x148]
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 + 0x278], xmm2
movsd qword [esp + 0x270], xmm1
movsd xmm2, qword [edx + 0x44]
movsd xmm1, qword [edx + 0x3c]
movsd qword [esp + 0x280], xmm0
movsd qword [esp + 0x268], xmm2
movsd qword [esp + 0x260], xmm1
movsd xmm2, qword [edx + 0x2c]
movsd xmm1, qword [edx + 0x34]
movsd qword [esp + 0x258], xmm1
movsd qword [esp + 0x250], xmm2
jne 0x52eea2
lea ecx, [esp + 0x50]
lea edx, [esp + 0x250]
call fcn.004e7420
cmp word [esp + 0x50], 0
je 0x52f057
mov eax, dword [esp + 0x250]
movsd xmm0, qword [esp + 0x52]
mov eax, dword [eax*4 + 0x534704]
add eax, dword [esp + 0x1b4]
jmp eax
mov edx, dword [esp + 0x10]
mov dword [esp + 0x14], 0
mov dword [esp + 8], 4
xor ecx, ecx
mov esi, dword [esp + 0x34]
mov dword [esp + 0x288], ecx
mov ebx, dword [esp + 0xc]
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
mov dword [esp + 0x1d4], edx
mov dword [esp + 0x1d8], esi
mov esi, dword [esp + 0x24c]
mov dword [esp + 0x1dc], esi
mov esi, dword [ebp + 0x10]
shl ecx, 5
add ecx, eax
mov dword [esp + 0x1e4], ecx
mov dword [esp + 0x1e8], ebx
mov dword [esp + 0x1ec], esi
jmp 0x52deae
mov eax, dword [esp + 0x1e0]
mov ecx, dword [esp + 0x1e4]
cmp eax, ecx
je 0x52e200
lea ecx, [eax + 0x20]
mov dword [esp + 0x1e0], ecx
mov edx, dword [esp + 0x1d4]
mov ecx, dword [eax + 0x14]
cmp dword [edx + 0xc4], ecx
jbe 0x533ab7
cmp ecx, dword [esp + 0x1e8]
jne 0x52dea0
mov ecx, dword [esp + 0x1d8]
mov esi, dword [esp + 0x1dc]
mov dword [esp + 0x208], edx
mov dword [esp + 0x30], 0
mov dword [esp + 0x130], 4
mov dword [esp + 0x20c], ecx
mov dword [esp + 0x210], esi
lea esi, [esp + 0x1ec]
mov dword [esp + 0x214], eax
mov dword [esp + 0x218], esi
mov esi, dword [eax + 8]
cmp dword [ecx + 0x14], esi
jbe 0x533eab
mov eax, dword [ecx + 0x10]
lea ecx, [esi + esi*4]
movzx ebx, byte [eax + ecx*4 + 0x10]
test bl, bl
je 0x533e9c
mov eax, dword [eax + ecx*4 + 8]
cmp dword [edx + 0x10], eax
jbe 0x533ebf
lea eax, [eax + eax*8]
shl eax, 4
add eax, dword [edx + 0xc]
lea esi, [esp + 0x1ec]
lea ecx, [esp + 0x148]
push esi
push eax
call fcn.004b5370
add esp, 8
mov esi, dword [esp + 0x148]
cmp esi, 4
je 0x52dea0
mov ecx, edi
lea edx, [esp + 0x208]
call fcn.00546e40
mov eax, dword [esp + 0xb8]
cmp eax, 4
je 0x52dea0
lea edx, [esp + 0xbc]
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 + 0x70], xmm1
movsd xmm1, qword [edx + 0x10]
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x14c]
movsd qword [esp + 0x68], xmm2
movsd qword [esp + 0x78], xmm0
movsd qword [esp + 0x50], xmm3
movsd xmm2, qword [ecx + 0x28]
movsd qword [esp + 0x60], xmm1
movsd xmm1, qword [edx + 8]
movsd qword [esp + 0x2c0], xmm2
movsd xmm2, qword [ecx + 0x18]
movsd qword [esp + 0x58], xmm1
movsd xmm1, qword [ecx + 0x20]
movsd qword [esp + 0x2b0], xmm2
movsd xmm2, qword [ecx]
movsd qword [esp + 0x2b8], xmm1
movsd xmm1, qword [ecx + 0x10]
movsd qword [esp + 0x298], xmm2
movsd qword [esp + 0x2a8], xmm1
movsd xmm1, qword [ecx + 8]
movsd qword [esp + 0x2a0], xmm1
jne 0x52dea0
movsd xmm0, qword [esp + 0x78]
mov eax, dword [esp + 0x80]
movsd xmm1, qword [esp + 0x58]
mov dword [esp + 0x2c], esi
mov ecx, 0x19
cmp bl, 3
movsd qword [edx + 0x54], xmm0
movsd xmm0, qword [esp + 0x70]
mov dword [edx + 0x5c], eax
movsd qword [edx + 0x34], xmm1
movsd xmm1, qword [esp + 0x2a0]
mov eax, edi
lea edi, [esp + 0x148]
mov esi, eax
movsd qword [edx + 0x4c], xmm0
movsd xmm0, qword [esp + 0x68]
movsd qword [edx + 0x44], xmm0
movsd xmm0, qword [esp + 0x60]
movsd qword [edx + 0x3c], xmm0
movsd xmm0, qword [esp + 0x50]
movsd qword [edx + 0x2c], xmm0
movsd xmm0, qword [esp + 0x298]
movsd qword [esp + 0xc0], xmm1
movsd qword [esp + 0xb8], xmm0
movsd xmm0, qword [esp + 0x2a8]
movsd qword [esp + 0xc8], xmm0
movsd xmm0, qword [esp + 0x2b0]
movsd qword [esp + 0xd0], xmm0
movsd xmm0, qword [esp + 0x2b8]
movsd qword [esp + 0xd8], xmm0
movsd xmm0, qword [esp + 0x2c0]
movsd qword [esp + 0xe0], xmm0
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x19
mov edi, eax
lea esi, [esp + 0x148]
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 + 0x270], xmm1
movsd xmm1, qword [edx + 0x3c]
movsd qword [esp + 0x268], xmm2
movsd xmm2, qword [edx + 0x2c]
mov dword [esp + 0x280], eax
movsd qword [esp + 0x278], xmm0
movsd qword [esp + 0x260], xmm1
movsd xmm1, qword [edx + 0x34]
movsd qword [esp + 0x250], xmm2
movsd qword [esp + 0x258], xmm1
jne 0x52ef5f
lea ecx, [esp + 0x50]
lea edx, [esp + 0x250]
call fcn.004b6af0
cmp dword [esp + 0x50], 0
mov esi, dword [esp + 0x2c]
je 0x52f013
movsd xmm0, qword [esp + 0x58]
movss xmm1, dword [esp + 0x54]
cmp dword [esp + 0x250], 3
jne 0x52f071
mov ecx, dword [esp + 0x25c]
test ecx, ecx
je 0x533f87
mov eax, dword [esp + 0x258]
xor edx, edx
div ecx
mov esi, eax
jmp 0x52f094
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x30], 0
mov dword [esp + 0x130], 4
xor esi, esi
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x248], esi
mov esi, dword [esp + 0x40]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x1d4], eax
mov eax, dword [esp + 0x34]
lea esi, [esi + ebx + 0x9c]
mov dword [esp + 0x38], esi
mov esi, dword [eax + 8]
mov edi, dword [eax + 4]
shl esi, 5
add esi, edi
cmp edi, esi
je 0x52ea20
mov eax, dword [edi + 0x14]
cmp dword [edx + 0xc4], eax
jbe 0x533a8f
add edi, 0x20
cmp eax, ecx
jne 0x52e250
mov eax, dword [edi - 0x18]
mov ecx, dword [esp + 0x34]
cmp dword [ecx + 0x14], eax
jbe 0x53443c
mov ecx, dword [ecx + 0x10]
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 + 0xc]
cmp dword [edx + 0x10], eax
jbe 0x534419
movzx ecx, byte [edi - 8]
mov dword [esp + 0x40], esi
test ecx, ecx
je 0x53442d
dec ecx
mov esi, dword [edx + 0xc]
lea ebx, [eax + eax*8]
mov ecx, dword [ecx*4 + 0x53472c]
shl ebx, 4
lea eax, [esi + ebx]
add ecx, dword [esp + 0x1b4]
jmp ecx
mov edx, dword [esp + 0x3c]
lea ecx, [esp + 0x50]
call fcn.004ec910
mov edx, dword [esp + 0x34]
mov eax, str.PathTryFromIntErrornumber_of_bones_should_fit_in_i32vmesh_src_v3mc.rs
mov ecx, 0
cmp dword [edx + 0x18], 0x80000000
je 0x52ea4a
mov eax, dword [edx + 0x1c]
mov ecx, dword [edx + 0x20]
mov dword [esp + 0x208], eax
lea eax, [esp + 0x208]
lea ebx, [esp + 0x298]
mov dword [esp + 0xb8], 0x580280
mov dword [esp + 0xbc], 1
mov dword [esp + 0xc8], 0
mov dword [esp + 0x1f0], 0
mov dword [esp + 0x20c], ecx
mov dword [esp + 0x298], eax
mov dword [esp + 0xc0], ebx
mov dword [esp + 0x29c], 0x461c20
mov dword [esp + 0xc4], 1
lea edi, [esp + 0xb8]
lea ecx, [esp + 0x148]
mov edx, edi
call fcn.0042a3a0
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x14c]
mov esi, dword [esp + 8]
test ecx, ecx
mov dword [esp + 0x40], eax
je 0x52ec00
mov eax, dword [esp + 0x150]
mov edx, dword [esp + 0x54]
mov dword [esp + 0x38], eax
mov dword [esp + 0xa0], edx
lea eax, [ecx + 0x10c]
mov dword [esp + 0x3c], ecx
movzx ecx, word [ecx + 0x192]
mov ebx, 0xffffffff
mov dword [esp + 0x2c], ecx
lea ecx, [ecx*4]
lea edi, [ecx + ecx*2]
test edi, edi
je 0x52eb80
lea ecx, [eax + 0xc]
mov edx, dword [esp + 0x38]
mov dword [esp + 0xc], ecx
mov ecx, dword [eax + 8]
mov esi, edx
sub esi, ecx
cmovb ecx, edx
push ecx
push dword [eax + 4]
push dword [esp + 0x48]
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 + 0xc]
inc ebx
add edi, 0xfffffff4
cmp cl, 1
je 0x52eb20
movzx eax, cl
test eax, eax
jne 0x52eb84
jmp 0x52ebb0
mov ebx, dword [esp + 0x2c]
mov eax, dword [esp + 0xa0]
mov esi, dword [esp + 8]
mov ecx, dword [esp + 0x3c]
sub eax, 1
jb 0x52f03d
mov ecx, dword [ecx + ebx*4 + 0x198]
mov dword [esp + 0xa0], eax
jmp 0x52eafc
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 8]
lea edi, [esp + 0xb8]
test ecx, ecx
je 0x52ec49
lea eax, [ebx + ebx*2]
lea eax, [ecx + eax*8]
xor ecx, ecx
cmp byte [eax], 2
jne 0x52ec38
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x52ec0c
cmp ecx, 1
jne 0x52ec2e
fild qword [eax + 0x10]
fstp qword [esp + 0x518]
mov ecx, 1
movsd xmm0, qword [esp + 0x518]
jmp 0x52ec38
cmp dword [esp + 0x148], 0
jne 0x52ec53
jmp 0x52ec64
movsd xmm1, qword [eax + 0x10]
unpcklps xmm1, xmmword [0x56ee20]
subpd xmm1, xmmword [0x56ee30]
movapd xmm0, xmm1
unpckhpd xmm0, xmm1
addsd xmm0, xmm1
jmp 0x52ec33
movsd xmm0, qword [eax + 0x10]
mov ecx, 1
cvtsd2ss xmm0, xmm0
mov dword [esp + 0x1f0], ecx
movss dword [esp + 0xc], xmm0
cmp dword [esp + 0x148], 0
je 0x52ec64
push dword [esp + 0x40]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x1f0]
movss xmm0, dword [esp + 0x338]
test eax, eax
je 0x52ece0
movss xmm0, dword [esp + 0xc]
or eax, dword [esp + 0x334]
je 0x52ece9
mov ecx, dword [esp + 0x50]
movss dword [esp + 0xc], xmm0
test ecx, ecx
je 0x52ee56
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x58]
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], edx
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], ecx
mov ecx, 1
mov dword [esp + 0xd4], edx
jmp 0x52ee5a
or eax, dword [esp + 0x334]
jne 0x52ec87
cmp dword [esp + 0x14], 0
je 0x52ecfd
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [esp + 0xc], eax
mov dword [esp + 0x40], ecx
cmp dword [esp + 0x30], 0
je 0x52ed28
mov edx, dword [esp + 0x130]
lea ecx, [esp + 0x14c]
mov eax, dword [edx + 0xc]
mov dword [ecx + 8], eax
mov eax, 1
movsd xmm0, qword [edx + 4]
movsd qword [ecx], xmm0
jmp 0x52ed2a
xor eax, eax
cmp dword [esp + 0x14], 0
mov dword [esp + 0x148], eax
mov cl, 1
mov al, 1
je 0x52ed6e
mov edi, dword [esp + 0x14]
mov ebx, esi
shl edi, 4
nop word cs:[eax + eax]
nop
test edi, edi
sete al
je 0x52ed6e
mov edx, dword [ebx]
mov esi, dword [ebx + 4]
add edi, 0xfffffff0
add ebx, 0x10
xor edx, dword [esp + 0xc]
xor esi, dword [esp + 0x40]
or esi, edx
je 0x52ed50
cmp dword [esp + 0x30], 0
lea edi, [esp + 0xb8]
je 0x52ee20
mov ecx, dword [esp + 0x30]
movss xmm0, dword [esp + 0x14c]
movss xmm1, dword [esp + 0x150]
movss xmm2, dword [esp + 0x154]
mov esi, dword [esp + 0x130]
lea ecx, [ecx*8]
lea edx, [ecx + ecx*4]
test edx, edx
sete cl
je 0x52ee20
mov edi, dword [esi + 0xc]
lea ebx, [esp + 0xbc]
mov dword [ebx + 8], edi
movsd xmm3, qword [esi + 4]
movsd qword [ebx], xmm3
movss xmm3, dword [esp + 0xbc]
ucomiss xmm3, xmm0
jne 0x52f021
jp 0x52f021
movss xmm3, dword [esp + 0xc0]
lea edi, [esp + 0xb8]
ucomiss xmm3, xmm1
jne 0x52ee20
jp 0x52ee20
movss xmm3, dword [esp + 0xc4]
add esi, 0x28
add edx, 0xffffffd8
ucomiss xmm3, xmm2
jne 0x52ee20
jnp 0x52edb0
nop word cs:[eax + eax]
nop dword [eax]
movss xmm0, dword [0x56ee40]
test cl, cl
jne 0x52ee34
movss xmm0, dword [0x56ee44]
test al, al
jne 0x52ee40
movss xmm0, dword [0x56ee44]
mov esi, dword [esp + 8]
mov ecx, dword [esp + 0x50]
movss dword [esp + 0xc], xmm0
test ecx, ecx
jne 0x52ec99
xor ecx, ecx
xor eax, eax
mov dword [esp + 0xb8], ecx
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xd8], eax
mov ecx, edi
call fcn.00559420
mov edx, dword [esp + 0x294]
cmp edx, dword [esp + 0x28c]
jne 0x52d9c0
lea ecx, [esp + 0x28c]
call fcn.004b7000
mov edx, dword [esp + 0x294]
jmp 0x52d9c0
movsd xmm2, qword [edx + 0x54]
movsd xmm1, qword [edx + 0x4c]
movsd xmm0, qword [edx + 0x5c]
movsd qword [esp + 0x230], xmm2
movsd qword [esp + 0x228], xmm1
movsd xmm2, qword [edx + 0x44]
movsd xmm1, qword [edx + 0x3c]
movsd qword [esp + 0x238], xmm0
movsd qword [esp + 0x220], xmm2
movsd qword [esp + 0x218], xmm1
movsd xmm2, qword [edx + 0x2c]
movsd xmm1, qword [edx + 0x34]
movsd qword [esp + 0x210], xmm1
movsd qword [esp + 0x208], xmm2
lea ecx, [esp + 0x50]
lea edx, [esp + 0x208]
call fcn.004e7420
cmp word [esp + 0x50], 0
je 0x52f063
mov eax, dword [esp + 0x208]
movsd xmm0, qword [esp + 0x52]
mov eax, dword [eax*4 + 0x5346dc]
add eax, dword [esp + 0x1b4]
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 + 0x228], xmm1
movsd xmm1, qword [edx + 0x3c]
movsd qword [esp + 0x220], xmm2
movsd xmm2, qword [edx + 0x2c]
mov dword [esp + 0x238], eax
movsd qword [esp + 0x230], xmm0
movsd qword [esp + 0x218], xmm1
movsd xmm1, qword [edx + 0x34]
movsd qword [esp + 0x208], xmm2
movsd qword [esp + 0x210], xmm1
lea ecx, [esp + 0x50]
lea edx, [esp + 0x208]
call fcn.004b6af0
cmp dword [esp + 0x50], 0
mov esi, dword [esp + 0x2c]
je 0x52f013
movsd xmm0, qword [esp + 0x58]
movss xmm1, dword [esp + 0x54]
cmp dword [esp + 0x208], 3
jne 0x52f33f
mov ecx, dword [esp + 0x214]
test ecx, ecx
je 0x533faf
mov eax, dword [esp + 0x210]
xor edx, edx
div ecx
mov esi, eax
jmp 0x52f362
mov ecx, 4
xor ebx, ebx
xor edx, edx
jmp 0x52f6d2
lea edi, [esp + 0xb8]
movss xmm0, dword [0x56ee40]
test cl, cl
je 0x52ee2c
jmp 0x52ee34
lea edi, [esp + 0xb8]
cmp dword [esp + 0x148], 0
jne 0x52ec53
jmp 0x52ec64
xor ecx, ecx
mov eax, 2
jmp 0x5301ca
mov esi, 2
xor edi, edi
xor ebx, ebx
jmp 0x530596
mov ecx, dword [esp + 0x270]
test ecx, ecx
je 0x533f9b
mov eax, dword [esp + 0x26c]
xor edx, edx
div ecx
mov esi, eax
sub esi, dword [esp + 0x280]
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 0x53457e
lea eax, [esi*4]
lea ebx, [eax + eax*2]
test ebx, ebx
js 0x534583
movaps xmmword [esp + 0x1f0], xmm1
movaps xmmword [esp + 0xa0], xmm0
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x52f0fe
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x53453e
mov dword [0x5920d8], eax
push ebx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x53453e
movaps xmm0, xmmword [esp + 0x1f0]
mov edi, eax
mov ebx, 0x10
xorps xmm0, xmmword [0x56ede0]
movss dword [eax], xmm0
movaps xmm0, xmmword [esp + 0xa0]
movlps qword [eax + 4], xmm0
mov dword [esp + 0x120], esi
mov dword [esp + 0x124], eax
mov esi, 1
mov dword [esp + 0x128], 1
movsd xmm1, qword [esp + 0x270]
movsd xmm2, qword [esp + 0x268]
mov eax, dword [esp + 0x280]
movsd xmm0, qword [esp + 0x278]
movsd qword [esp + 0x70], xmm1
movsd xmm1, qword [esp + 0x260]
movsd qword [esp + 0x68], xmm2
movsd xmm2, qword [esp + 0x250]
mov dword [esp + 0x80], eax
movsd qword [esp + 0x78], xmm0
movsd qword [esp + 0x60], xmm1
movsd xmm1, qword [esp + 0x258]
movsd qword [esp + 0x50], xmm2
movsd qword [esp + 0x58], xmm1
jmp 0x52f21c
cmp edx, 0xc
mov ecx, 0xffffffff
sbb eax, 0xffffffff
inc eax
cmove eax, ecx
lea ecx, [esp + 0x120]
mov edx, esi
push eax
call fcn.004b7be0
add esp, 4
mov edi, dword [esp + 0x124]
movaps xmm0, xmmword [esp + 0xa0]
movaps xmm1, xmmword [esp + 0x1f0]
nop word cs:[eax + eax]
nop
xorps xmm1, xmmword [0x56ede0]
inc esi
movss dword [edi + ebx - 4], xmm1
movlps qword [edi + ebx], xmm0
mov dword [esp + 0x128], esi
add ebx, 0xc
lea ecx, [esp + 0x1b8]
lea edx, [esp + 0x50]
call fcn.004b6af0
cmp dword [esp + 0x1b8], 0
je 0x52f2a1
movsd xmm0, qword [esp + 0x1c0]
movss xmm1, dword [esp + 0x1bc]
cmp esi, dword [esp + 0x120]
jne 0x52f200
cmp dword [esp + 0x50], 3
movaps xmmword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x1f0], xmm1
jne 0x52f281
mov ecx, dword [esp + 0x5c]
test ecx, ecx
je 0x533e51
mov eax, dword [esp + 0x58]
xor edx, edx
div ecx
jmp 0x52f1bd
mov ecx, dword [esp + 0x70]
test ecx, ecx
je 0x533e29
mov eax, dword [esp + 0x6c]
xor edx, edx
div ecx
sub eax, dword [esp + 0x80]
jmp 0x52f1bd
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x120]
test esi, esi
mov dword [esp + 0x1f0], eax
je 0x52f5ae
mov dword [esp + 0x2e8], ecx
mov eax, esi
mov ecx, 0xaaaaaaab
mul ecx
xor ecx, ecx
shr edx, 1
cmp eax, 0x55555556
setae cl
add ecx, edx
mov dword [esp + 0x240], ecx
je 0x52f5ce
cmp ecx, 0x38e38e3
ja 0x5345de
lea eax, [ecx*4]
lea edi, [eax + eax*8]
test edi, edi
js 0x5345e3
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x52f329
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x5345c3
mov dword [0x5920d8], eax
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
jne 0x52f5d3
jmp 0x5345c3
mov ecx, dword [esp + 0x228]
test ecx, ecx
je 0x533f73
mov eax, dword [esp + 0x224]
xor edx, edx
div ecx
mov esi, eax
sub esi, dword [esp + 0x238]
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 0x534588
lea eax, [esi*4]
lea ebx, [eax + eax*8]
test ebx, ebx
js 0x53458d
movaps xmmword [esp + 0x1f0], xmm1
movaps xmmword [esp + 0xa0], xmm0
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x52f3cc
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x53454a
mov dword [0x5920d8], eax
push ebx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x53454a
movaps xmm1, xmmword [esp + 0x1f0]
movaps xmm0, xmmword [esp + 0xa0]
mov edi, eax
mov ebx, 1
xorps xmm1, xmmword [0x56ede0]
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 + 0x120], esi
mov dword [esp + 0x124], eax
mov esi, 0x40
mov dword [esp + 0x128], 1
movsd xmm1, qword [esp + 0x228]
movsd xmm2, qword [esp + 0x220]
mov eax, dword [esp + 0x238]
movsd xmm0, qword [esp + 0x230]
movsd qword [esp + 0x70], xmm1
movsd xmm1, qword [esp + 0x218]
movsd qword [esp + 0x68], xmm2
movsd xmm2, qword [esp + 0x208]
mov dword [esp + 0x80], eax
movsd qword [esp + 0x78], xmm0
movsd qword [esp + 0x60], xmm1
movsd xmm1, qword [esp + 0x210]
movsd qword [esp + 0x50], xmm2
movsd qword [esp + 0x58], xmm1
jmp 0x52f512
cmp edx, 0xc
mov ecx, 0xffffffff
sbb eax, 0xffffffff
inc eax
cmove eax, ecx
lea ecx, [esp + 0x120]
mov edx, ebx
push eax
call fcn.004b8210
add esp, 4
mov edi, dword [esp + 0x124]
movaps xmm0, xmmword [esp + 0xa0]
movaps xmm1, xmmword [esp + 0x1f0]
nop word cs:[eax + eax]
nop
xorps xmm1, xmmword [0x56ede0]
inc ebx
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 + 0x128], ebx
add esi, 0x24
lea ecx, [esp + 0x1b8]
lea edx, [esp + 0x50]
call fcn.004b6af0
cmp dword [esp + 0x1b8], 0
je 0x52f597
movsd xmm0, qword [esp + 0x1c0]
movss xmm1, dword [esp + 0x1bc]
cmp ebx, dword [esp + 0x120]
jne 0x52f4e0
cmp dword [esp + 0x50], 3
movaps xmmword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x1f0], xmm1
jne 0x52f577
mov ecx, dword [esp + 0x5c]
test ecx, ecx
je 0x533e3d
mov eax, dword [esp + 0x58]
xor edx, edx
div ecx
jmp 0x52f49d
mov ecx, dword [esp + 0x70]
test ecx, ecx
je 0x533e15
mov eax, dword [esp + 0x6c]
xor edx, edx
div ecx
sub eax, dword [esp + 0x80]
jmp 0x52f49d
mov edx, dword [esp + 0x120]
mov ecx, dword [esp + 0x124]
mov esi, dword [esp + 0x2c]
jmp 0x52f6d2
mov dword [esp + 0x248], 4
xor edx, edx
xor ebx, ebx
mov esi, dword [esp + 0x2c]
test ecx, ecx
jne 0x52f6b3
jmp 0x52f6cb
mov eax, 4
mov ecx, dword [esp + 0x1f0]
xor ebx, ebx
mov dword [esp + 0x248], eax
nop word cs:[eax + eax]
nop dword [eax]
cmp esi, 3
mov edx, 3
cmovb edx, esi
test edx, edx
je 0x5331dc
cmp edx, 1
je 0x5331ea
cmp esi, 2
jbe 0x5331fe
mov dword [esp + 0xa0], ebx
mov ebx, dword [ecx + 0x20]
lea edi, [esp + 0x68]
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 + 0x58], ebx
movsd xmm0, qword [ecx]
movsd qword [esp + 0x50], 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]
mov ebx, dword [esp + 0xa0]
movsd qword [edi - 0xc], xmm0
inc ebx
mov edx, dword [esp + 0x70]
mov dword [eax + 0x20], edx
movsd xmm0, qword [esp + 0x68]
movsd qword [eax + 0x18], xmm0
movsd xmm0, qword [esp + 0x60]
movsd qword [eax + 0x10], xmm0
movsd xmm0, qword [esp + 0x50]
movsd xmm1, qword [esp + 0x58]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
add eax, 0x24
test esi, esi
jne 0x52f5f0
mov edx, dword [esp + 0x240]
mov ecx, dword [esp + 0x2e8]
mov esi, dword [esp + 0x2c]
test ecx, ecx
je 0x52f6cb
push dword [esp + 0x1f0]
push 0
push dword [0x5920d8]
mov edi, edx
call sub.KERNEL32.dll_HeapFree
mov edx, edi
mov ecx, dword [esp + 0x248]
movsd xmm0, qword [esp + 0x170]
lea eax, [ebx + ebx*8]
mov dword [esp + 0x298], esi
mov esi, ecx
movsd xmm1, qword [esp + 0x150]
lea eax, [ecx + eax*4]
lea ecx, [esp + 0x29c]
movsd qword [ecx + 0x28], xmm0
movsd xmm0, qword [esp + 0x168]
movsd qword [ecx + 8], xmm1
movsd qword [ecx + 0x20], xmm0
movsd xmm0, qword [esp + 0x160]
movsd qword [ecx + 0x18], xmm0
movsd xmm0, qword [esp + 0x158]
movsd qword [ecx + 0x10], xmm0
movsd xmm0, qword [esp + 0x148]
movsd qword [ecx], xmm0
mov dword [esp + 0x2cc], esi
mov dword [esp + 0x2d0], edx
mov dword [esp + 0x2d4], esi
mov dword [esp + 0x2d8], eax
mov dword [esp + 0x2dc], 0
mov dword [esp + 0x2e0], 0
mov dword [esp + 0x2e4], 0
lea ecx, [esp + 0x298]
call fcn.004b6dc0
test eax, eax
je 0x52f86e
mov eax, dword [esp + 0x2d4]
mov ecx, dword [esp + 0x2d8]
cmp eax, ecx
je 0x52f86e
lea esi, [eax + 0x24]
lea edx, [esp + 0x68]
mulss xmm0, dword [0x56edd0]
mov dword [esp + 0x2d4], esi
movsd xmm1, qword [eax + 0x10]
mulss xmm0, dword [0x56edd4]
movsd qword [esp + 0x60], xmm1
movsd xmm1, qword [eax]
movsd xmm2, qword [eax + 8]
ucomiss xmm0, dword [0x56edd8]
cvttss2si ebx, xmm0
movsd qword [esp + 0x58], xmm2
movsd qword [esp + 0x50], 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 + 0x1b8], xmm2
mov dword [esp + 0x1c0], eax
mov eax, dword [edx - 4]
movsd qword [esp + 0x120], xmm1
mov dword [esp + 0x128], eax
mov eax, 0x7fffffff
cmova ebx, eax
ucomiss xmm0, xmm0
mov eax, 0
cmovp ebx, eax
cmp dword [esp + 0x298], 3
jne 0x52f8a8
mov edi, dword [esp + 0x2a4]
test edi, edi
je 0x533efb
mov eax, dword [esp + 0x2a0]
xor edx, edx
div edi
mov edi, eax
jmp 0x52f8cb
cmp dword [esp + 0x2d0], 0
je 0x52f88c
push dword [esp + 0x2cc]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x130], 4
xor eax, eax
xor esi, esi
jmp 0x52fc19
mov edi, dword [esp + 0x2b8]
test edi, edi
je 0x533f0f
mov eax, dword [esp + 0x2b4]
xor edx, edx
div edi
mov edi, eax
sub edi, dword [esp + 0x2c8]
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 0x534565
lea eax, [esi*8 + 8]
lea edi, [eax + eax*4]
test edi, edi
js 0x534560
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x52f931
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x5344e3
mov dword [0x5920d8], eax
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x5344e3
mov dword [eax], ebx
inc esi
mov dword [esp + 0x2c], eax
lea edi, [esp + 0x50]
mov ecx, dword [esp + 0x1c0]
mov dword [eax + 0xc], ecx
movsd xmm0, qword [esp + 0x1b8]
movsd qword [eax + 4], xmm0
mov ecx, dword [esp + 0x128]
mov dword [eax + 0x18], ecx
movsd xmm0, qword [esp + 0x120]
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 + 0x298]
rep movsd dword es:[edi], dword [esi]
mov edi, 0x28
mov dword [esp + 0xa0], 1
jmp 0x52faa7
mov eax, dword [esp + 0x70]
test eax, eax
je 0x533f4b
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x6c]
xor edx, edx
div dword [esp + 0x2c]
sub eax, dword [esp + 0x80]
cmp edx, 4
sbb eax, 0xffffffff
sub ecx, esi
mov dword [esp + 0x2c], eax
mov eax, ecx
mov ecx, 0x38e38e39
mul ecx
mov ecx, dword [esp + 0x2c]
mov eax, edx
shr eax, 3
cmp ecx, eax
cmovb eax, ecx
inc eax
mov esi, dword [esp + 0xa0]
lea ecx, [esp + 0x300]
mov edx, esi
push eax
call fcn.004b7e50
mov edx, esi
add esp, 4
mov eax, dword [esp + 0x304]
mov dword [esp + 0x2c], eax
nop dword [eax]
mov ecx, dword [esp + 0x2c]
inc edx
mov dword [esp + 0xa0], edx
mov dword [ecx + edi], ebx
mov eax, dword [esp + 0x128]
mov dword [ecx + edi + 0xc], eax
movsd xmm0, qword [esp + 0x120]
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 + 0x50]
call fcn.004b6dc0
test eax, eax
je 0x52fbb9
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
cmp eax, ecx
je 0x52fbb9
lea esi, [eax + 0x24]
lea edx, [esp + 0x1c4]
mulss xmm0, dword [0x56edd0]
mov dword [esp + 0x8c], esi
movsd xmm1, qword [eax + 0x10]
mulss xmm0, dword [0x56edd4]
movsd qword [esp + 0x1c8], xmm1
movsd xmm1, qword [eax]
movsd xmm2, qword [eax + 8]
ucomiss xmm0, dword [0x56edd8]
cvttss2si ebx, xmm0
movsd qword [esp + 0x1c0], xmm2
movsd qword [esp + 0x1b8], 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 + 0x120], xmm2
mov dword [esp + 0x128], eax
mov eax, dword [edx + 8]
mov edx, dword [esp + 0xa0]
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 0x52fa40
cmp dword [esp + 0x50], 3
jne 0x52f9d1
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x533f5f
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x58]
xor edx, edx
div dword [esp + 0x2c]
jmp 0x52f9f2
cmp dword [esp + 0x88], 0
je 0x52fbe5
push dword [esp + 0x84]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x308]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x300]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov esi, 0
cmp eax, 0x80000000
je 0x52e21d
mov esi, dword [esp + 0x304]
mov dword [esp + 0x130], esi
mov esi, dword [esp + 0xa0]
mov dword [esp + 0x30], esi
mov esi, eax
jmp 0x52e21d
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 2
mov dword [esp + 0x58], 0
xor ebx, ebx
mov esi, 2
xor edi, edi
test ecx, ecx
jne 0x53028b
jmp 0x530596
push eax
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x530596
mov ecx, dword [esp + 0x30]
movsd xmm0, qword [esp + 0x170]
movsd xmm1, qword [esp + 0x150]
lea eax, [edi + edi*2]
lea eax, [esi + eax*8]
mov dword [esp + 0x298], ecx
lea ecx, [esp + 0x29c]
movsd qword [ecx + 0x28], xmm0
movsd xmm0, qword [esp + 0x168]
movsd qword [ecx + 8], xmm1
movsd qword [ecx + 0x20], xmm0
movsd xmm0, qword [esp + 0x160]
movsd qword [ecx + 0x18], xmm0
movsd xmm0, qword [esp + 0x158]
movsd qword [ecx + 0x10], xmm0
movsd xmm0, qword [esp + 0x148]
movsd qword [ecx], xmm0
mov dword [esp + 0x2cc], esi
mov dword [esp + 0x2d0], ebx
mov dword [esp + 0x2d4], esi
mov dword [esp + 0x2d8], eax
mov dword [esp + 0x2dc], 0
mov dword [esp + 0x2e0], 0
mov dword [esp + 0x2e4], 0
lea ecx, [esp + 0x298]
call fcn.004b6dc0
test eax, eax
je 0x5306c5
mov eax, dword [esp + 0x2d4]
mov ecx, dword [esp + 0x2d8]
cmp eax, ecx
je 0x5306c5
mulss xmm0, dword [0x56edd0]
mov edx, 0x7fffffff
mov esi, 0
mulss xmm0, dword [0x56edd4]
ucomiss xmm0, dword [0x56edd8]
cvttss2si ebx, xmm0
cmova ebx, edx
ucomiss xmm0, xmm0
cmovp ebx, esi
lea esi, [eax + 0x18]
mov dword [esp + 0x2d4], esi
movsd xmm0, qword [eax + 8]
cmp dword [esp + 0x298], 3
jne 0x5306ff
mov edi, dword [esp + 0x2a4]
test edi, edi
je 0x533ee7
mov eax, dword [esp + 0x2a0]
xor edx, edx
div edi
mov edi, eax
jmp 0x530722
cmp dword [esp + 0x2d0], 0
lea edi, [esp + 0xb8]
je 0x5306ea
push dword [esp + 0x2cc]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov edx, dword [esp + 0x10]
mov dword [esp + 8], 4
xor eax, eax
xor ecx, ecx
jmp 0x530981
mov edi, dword [esp + 0x2b8]
test edi, edi
je 0x533ed3
mov eax, dword [esp + 0x2b4]
xor edx, edx
div edi
mov edi, eax
sub edi, dword [esp + 0x2c8]
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 0x53455b
inc esi
mov edi, esi
shl edi, 4
js 0x534556
movaps xmmword [esp + 0x130], xmm0
mov dword [esp + 0x30], ebx
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x53078e
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x5344d7
mov dword [0x5920d8], eax
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x5344d7
movaps xmm0, xmmword [esp + 0x130]
mov ecx, dword [esp + 0x30]
mov ebx, eax
lea edi, [esp + 0x50]
movlps qword [eax], xmm0
mov dword [ebx + 8], ecx
mov word [ebx + 0xc], 0
mov dword [esp + 0x1b8], esi
mov dword [esp + 0x1bc], ebx
mov dword [esp + 0x1c0], 1
mov ecx, 0x14
lea esi, [esp + 0x298]
rep movsd dword es:[edi], dword [esi]
mov edi, 0x1d
mov dword [esp + 0x30], 1
jmp 0x53085f
cmp edx, 4
sbb ebx, 0xffffffff
sub ecx, dword [esp + 0xa0]
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 + 0x30]
lea ecx, [esp + 0x1b8]
mov edx, ebx
push eax
call fcn.004b7c80
mov eax, ebx
add esp, 4
mov ebx, dword [esp + 0x1bc]
movaps xmm1, xmmword [esp + 0x130]
nop dword [eax + eax]
inc eax
movlps qword [ebx + edi - 0xd], xmm1
mov dword [ebx + edi - 5], esi
mov word [ebx + edi - 1], 0
add edi, 0x10
mov dword [esp + 0x30], eax
mov dword [esp + 0x1c0], eax
lea ecx, [esp + 0x50]
call fcn.004b6dc0
test eax, eax
je 0x530927
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
cmp eax, ecx
je 0x530927
mulss xmm0, dword [0x56edd0]
lea edx, [eax + 0x18]
mov dword [esp + 0x8c], edx
movsd xmm1, qword [eax + 8]
mov eax, 0x7fffffff
mulss xmm0, dword [0x56edd4]
ucomiss xmm0, dword [0x56edd8]
cvttss2si esi, xmm0
cmova esi, eax
ucomiss xmm0, xmm0
mov eax, 0
cmovp esi, eax
mov eax, dword [esp + 0x30]
cmp eax, dword [esp + 0x1b8]
jne 0x530840
cmp dword [esp + 0x50], 3
movaps xmmword [esp + 0x130], xmm1
mov dword [esp + 0xa0], edx
jne 0x530905
mov ebx, dword [esp + 0x5c]
test ebx, ebx
je 0x533f23
mov eax, dword [esp + 0x58]
xor edx, edx
div ebx
mov ebx, eax
jmp 0x5307f3
mov ebx, dword [esp + 0x70]
test ebx, ebx
je 0x533f37
mov eax, dword [esp + 0x6c]
xor edx, edx
div ebx
mov ebx, eax
sub ebx, dword [esp + 0x80]
jmp 0x5307f3
cmp dword [esp + 0x88], 0
je 0x530950
push dword [esp + 0x84]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x1c0]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x1b8]
mov edx, dword [esp + 0x10]
mov ecx, 0
lea edi, [esp + 0xb8]
cmp eax, 0x80000000
je 0x52de46
mov ecx, dword [esp + 0x1bc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x14], ecx
mov ecx, eax
jmp 0x52de46
mov eax, dword [esp + 0x294]
test eax, eax
mov dword [esp + 0x38], eax
je 0x530d77
mov ecx, dword [esp + 0x290]
xor edx, edx
mov dword [esp + 0x3c], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], ecx
jmp 0x5309db
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x10], edi
inc edx
cmp edx, dword [esp + 0x38]
je 0x530d87
lea eax, [edx + edx*8]
mov dword [esp + 0x40], edx
lea ebx, [eax + eax*2]
add ebx, edx
mov eax, dword [ecx + ebx + 8]
test eax, eax
je 0x530a10
mov esi, dword [ecx + ebx + 4]
xor ecx, ecx
cmp eax, 8
jae 0x530a20
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x3c]
jmp 0x530b97
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x3c]
jmp 0x530bb2
movd xmm0, dword [esp + 0x3c]
movd xmm1, dword [esp + 0x10]
mov ecx, eax
mov dword [esp + 8], 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]
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 0x530a50
movdqa xmm4, xmm2
mov esi, dword [esp + 8]
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 0x530bb2
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 0x530ba0
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + ebx + 0x14]
test eax, eax
je 0x5309c0
mov ecx, dword [ecx + ebx + 0x10]
xor ebx, ebx
cmp eax, 8
jb 0x530d56
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 0x530c00
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 0x5309c0
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 0x530d60
jmp 0x5309c0
mov dword [esp + 0x10], 0
mov dword [esp + 0x3c], 0
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1d4], eax
sub eax, ecx
mov dword [esp + 0x1b8], ecx
mov dword [esp + 0x288], eax
mov eax, dword [esp + 0x310]
mov ecx, dword [eax + 0x14]
mov eax, dword [eax + 0x18]
lea eax, [ecx + eax*4]
mov dword [esp + 0x1f0], eax
jmp 0x530dec
cmp dword [edx + eax - 4], 0x746f6f72
sete bl
test ecx, ecx
je 0x530ddd
push eax
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov ecx, dword [esp + 0x2c]
add ecx, 4
test bl, bl
jne 0x5316ec
cmp ecx, dword [esp + 0x1f0]
je 0x5316d8
mov dword [esp + 0x2c], ecx
mov eax, dword [ecx]
mov ecx, dword [esp + 0x314]
cmp dword [ecx + 0xc4], eax
jbe 0x53449e
mov ecx, dword [ecx + 0xc0]
lea eax, [eax + eax*2]
xor esi, esi
shl eax, 6
mov dword [esp + 0x2f0], eax
cmp dword [ecx + eax + 0x9c], 0x80000000
mov edx, dword [ecx + eax + 0xa4]
mov ebx, dword [ecx + eax + 0xa0]
mov eax, str.PathTryFromIntErrornumber_of_bones_should_fit_in_i32vmesh_src_v3mc.rs
mov dword [esp + 0x24c], ecx
cmove edx, esi
cmove ebx, eax
test edx, edx
mov dword [esp + 0x14], edx
je 0x530f90
js 0x5344be
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x530e8a
call sub.KERNEL32.dll_GetProcessHeap
mov edi, dword [esp + 0x14]
test eax, eax
je 0x5344b2
mov dword [0x5920d8], eax
mov edi, dword [esp + 0x14]
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x5344b2
cmp edi, 8
jb 0x530f95
xor esi, esi
nop word [eax + eax]
movq xmm0, qword [ebx + esi]
movdqa xmm1, xmm0
pand xmm1, xmmword [0x56ee50]
movd ecx, xmm1
pshufd xmm1, xmm1, 0x55
movd edx, xmm1
or edx, ecx
jne 0x530f95
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 [0x56ee60]
andps xmm4, xmm0
andps xmm1, xmm0
packuswb xmm1, xmm4
packuswb xmm1, xmm1
movdqa xmm0, xmm1
paddb xmm0, xmmword [0x56ee70]
movdqa xmm2, xmm0
pmaxub xmm2, xmmword [0x56ee80]
pcmpeqb xmm2, xmm0
pandn xmm2, xmmword [0x56ee90]
por xmm2, xmm1
movq qword [eax + edi], xmm2
add edi, 0x10
cmp edi, dword [esp + 0x14]
jbe 0x530eb0
mov esi, ecx
jmp 0x530f95
mov eax, 1
mov edx, dword [esp + 0x14]
mov ecx, edx
mov dword [esp + 0xb8], edx
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], esi
sub ecx, esi
mov dword [esp + 0xa0], ecx
jne 0x530fd0
mov ecx, edx
cmp edx, 4
jae 0x530dc0
jmp 0x53164e
add esi, ebx
add edx, ebx
xor ebx, ebx
mov edi, esi
mov dword [esp + 0x14], edx
mov dword [esp + 8], esi
jmp 0x531023
mov eax, edx
xor ecx, ecx
add al, 0xbf
cmp al, 0x1a
setb cl
shl ecx, 5
or edx, ecx
lea ecx, [esp + 0xb8]
call fcn.0042a630
sub ebx, dword [esp + 0x30]
mov edi, dword [esp + 0x130]
add ebx, edi
cmp edi, dword [esp + 0x14]
je 0x531630
movzx edx, byte [edi]
mov dword [esp + 0x30], edi
test dl, dl
js 0x5310a0
lea eax, [edi + 1]
mov dword [esp + 0x130], eax
cmp edx, 0x3a3
je 0x531130
cmp edx, 0x110000
je 0x531630
cmp edx, 0x80
jb 0x530ff0
xor eax, eax
mov ecx, 0x57f
mov esi, 0x57f
nop word cs:[eax + eax]
nop
shr ecx, 1
add ecx, eax
mov edi, dword [ecx*8 + 0x577360]
cmp edi, edx
je 0x53133b
cmp edi, edx
cmova esi, ecx
lea ecx, [ecx + 1]
cmovb eax, ecx
mov ecx, esi
sub ecx, eax
ja 0x531070
jmp 0x531385
movzx esi, byte [edi + 1]
mov eax, edx
and eax, 0x1f
and esi, 0x3f
cmp dl, 0xdf
jbe 0x531102
movzx ecx, byte [edi + 2]
shl esi, 6
and ecx, 0x3f
or ecx, esi
cmp dl, 0xf0
jb 0x53138e
movzx edx, byte [edi + 3]
and eax, 7
shl ecx, 6
mov esi, dword [esp + 8]
shl eax, 0x12
and edx, 0x3f
or edx, ecx
or edx, eax
cmp edx, 0x110000
je 0x531630
lea eax, [edi + 4]
mov dword [esp + 0x130], eax
cmp edx, 0x3a3
jne 0x531044
jmp 0x531130
shl eax, 6
lea ecx, [edi + 2]
or eax, esi
mov esi, dword [esp + 8]
mov dword [esp + 0x130], ecx
mov edx, eax
cmp edx, 0x3a3
jne 0x531044
nop word cs:[eax + eax]
nop dword [eax]
test ebx, ebx
mov dword [esp + 0x40], ebx
je 0x531152
cmp ebx, dword [esp + 0xa0]
jae 0x53114c
cmp byte [esi + ebx], 0xbf
jg 0x531152
jmp 0x53445e
jne 0x53445e
lea edx, [esi + ebx]
xor eax, eax
jmp 0x53116e
mov al, 1
cmp ecx, 0x110000
jne 0x5312fe
cmp edx, esi
je 0x5315c0
movzx ecx, byte [edx - 1]
test cl, cl
js 0x531190
dec edx
jmp 0x5311f3
movzx ebx, byte [edx - 2]
cmp bl, 0xc0
jge 0x5311c1
mov edi, esi
mov esi, eax
movzx eax, byte [edx - 3]
cmp al, 0xc0
jge 0x5311c9
mov dword [esp + 0xc], 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 + 0xc]
jmp 0x5311cf
add edx, 0xfffffffe
and ebx, 0x1f
jmp 0x5311db
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 + 0x40]
cmp ecx, 0x110000
je 0x5315c0
test al, al
jne 0x531160
mov edi, ecx
mov dword [esp + 0xc], ecx
xor eax, eax
mov ebx, 0x23
mov ecx, 0x23
mov dword [esp + 0x38], edx
shl edi, 0xb
nop word cs:[eax + eax]
nop
shr ebx, 1
add ebx, eax
mov esi, dword [ebx*4 + 0x5768c8]
shl esi, 0xb
cmp esi, edi
je 0x531245
cmp esi, edi
lea esi, [ebx + 1]
cmova ecx, ebx
cmovb eax, esi
mov ebx, ecx
sub ebx, eax
ja 0x531220
jmp 0x531248
inc ebx
mov eax, ebx
cmp eax, 0x22
ja 0x5318dd
jne 0x53125f
mov ecx, 0x21
mov edi, 0x36b
jmp 0x531274
mov edi, dword [eax*4 + 0x5768cc]
shr edi, 0x15
test eax, eax
je 0x5312fa
lea ecx, [eax - 1]
mov esi, dword [ecx*4 + 0x5768c8]
mov ecx, 0x1fffff
and esi, ecx
mov ebx, dword [eax*4 + 0x5768c8]
mov ecx, dword [esp + 0xc]
shr ebx, 0x15
mov eax, ebx
not eax
add eax, edi
je 0x5312d0
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 0x53165d
movzx edx, byte [ebx + 0x576954]
add esi, edx
cmp esi, ecx
ja 0x5312cc
inc ebx
cmp edi, ebx
jne 0x5312b0
mov ebx, edi
mov ecx, dword [esp + 0xc]
test bl, 1
mov esi, dword [esp + 8]
mov ebx, dword [esp + 0x40]
mov edx, dword [esp + 0x38]
je 0x531160
mov ecx, 0x110000
xor eax, eax
cmp ecx, 0x110000
je 0x53116e
jmp 0x5312fe
xor esi, esi
jmp 0x531282
call fcn.00473540
test al, al
je 0x5315c0
mov edx, dword [esp + 0xa0]
mov edi, ebx
add edi, 2
je 0x5313ba
mov edx, dword [esp + 0xa0]
sub edx, edi
jbe 0x5313b4
cmp byte [esi + edi], 0xc0
jge 0x5313ba
jmp 0x5344c3
mov edx, dword [ecx*8 + 0x577364]
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 0x531385
lea ecx, [esp + 0xb8]
call fcn.0042a630
mov esi, dword [esp + 8]
mov edx, 0x307
jmp 0x531000
mov esi, dword [esp + 8]
jmp 0x531000
mov esi, dword [esp + 8]
shl eax, 0xc
lea edx, [edi + 3]
or ecx, eax
mov dword [esp + 0x130], edx
mov edx, ecx
cmp edx, 0x3a3
jne 0x531044
jmp 0x531130
jne 0x5344c3
add edi, esi
xor eax, eax
add edx, edi
mov dword [esp + 0x38], edx
jmp 0x5313e2
mov al, 1
mov ecx, dword [esp + 0xc]
cmp ecx, 0x110000
jne 0x5315a8
cmp edi, edx
je 0x53160b
movzx ecx, byte [edi]
test cl, cl
js 0x531400
mov dword [esp + 0xc], ecx
inc edi
jmp 0x531487
mov dword [esp + 0x34], eax
mov eax, edi
movzx edi, byte [edi + 1]
mov edx, ecx
and edx, 0x1f
and edi, 0x3f
cmp cl, 0xdf
jbe 0x53145f
movzx esi, byte [eax + 2]
shl edi, 6
and esi, 0x3f
or esi, edi
cmp cl, 0xf0
jb 0x53146d
movzx ecx, byte [eax + 3]
and edx, 7
shl esi, 6
mov edi, eax
mov eax, dword [esp + 0x34]
shl edx, 0x12
and ecx, 0x3f
or ecx, esi
mov esi, dword [esp + 8]
or ecx, edx
mov edx, dword [esp + 0x38]
cmp ecx, 0x110000
mov dword [esp + 0xc], ecx
je 0x53160b
add edi, 4
jmp 0x531487
shl edx, 6
add eax, 2
or edx, edi
mov dword [esp + 0xc], edx
jmp 0x53147d
shl edx, 0xc
add eax, 3
or esi, edx
mov dword [esp + 0xc], esi
mov esi, dword [esp + 8]
mov edi, eax
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
test al, al
jne 0x5313d0
mov edx, dword [esp + 0xc]
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 + 0x5768c8]
shl ebx, 0xb
cmp ebx, edx
je 0x5314d5
cmp ebx, edx
cmova esi, edi
lea edi, [edi + 1]
cmovb eax, edi
mov edi, esi
sub edi, eax
ja 0x5314b0
jmp 0x5314d8
inc edi
mov eax, edi
cmp eax, 0x22
ja 0x533197
mov dword [esp + 0x34], ecx
jne 0x5314f7
mov esi, dword [esp + 8]
mov edx, 0x21
mov ecx, 0x36b
jmp 0x531510
mov ecx, dword [eax*4 + 0x5768cc]
mov esi, dword [esp + 8]
shr ecx, 0x15
test eax, eax
je 0x5315a1
lea edx, [eax - 1]
mov ebx, dword [edx*4 + 0x5768c8]
mov edx, 0x1fffff
and ebx, edx
mov edx, dword [eax*4 + 0x5768c8]
shr edx, 0x15
mov eax, edx
not eax
add eax, ecx
je 0x531570
mov esi, dword [esp + 0xc]
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 0x5318b3
movzx edi, byte [edx + 0x576954]
add ebx, edi
cmp ebx, esi
ja 0x53156c
inc edx
cmp ecx, edx
jne 0x531550
mov edx, ecx
mov esi, dword [esp + 8]
test dl, 1
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
je 0x5313d0
mov dword [esp + 0xc], 0x110000
xor eax, eax
mov ecx, dword [esp + 0xc]
cmp ecx, 0x110000
je 0x5313e2
jmp 0x5315a8
xor ebx, ebx
jmp 0x53151e
call fcn.00473540
test al, al
je 0x53160b
nop word cs:[eax + eax]
nop dword [eax + eax]
mov eax, dword [esp + 0xb8]
mov edx, dword [esp + 0xc0]
mov di, 0x83cf
sub eax, edx
cmp eax, 2
jae 0x5315f1
lea ecx, [esp + 0xb8]
push 2
call fcn.00429fb0
add esp, 4
mov edx, dword [esp + 0xc0]
mov eax, dword [esp + 0xbc]
mov word [eax + edx], di
add edx, 2
mov dword [esp + 0xc0], edx
jmp 0x53100c
mov eax, dword [esp + 0xb8]
mov edx, dword [esp + 0xc0]
mov di, 0x82cf
sub eax, edx
cmp eax, 1
jbe 0x5315d9
jmp 0x5315f1
mov ecx, dword [esp + 0xb8]
mov eax, dword [esp + 0xbc]
mov edx, dword [esp + 0xc0]
cmp edx, 4
jae 0x530dc0
xor ebx, ebx
test ecx, ecx
jne 0x530dcf
jmp 0x530ddd
mov esi, 0x5738b4
mov edx, 0x36b
mov ecx, eax
push esi
call fcn.004699c0
add esp, 4
jmp 0x53447e
mov edx, dword [esp + 0x2ec]
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 0x5316b2
push dword [esp + 0x328]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x2f4], 0
je 0x5316d0
push dword [esp + 0x2f8]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x50], 0
mov dword [esp + 0x58], 0
xor ebx, ebx
jmp 0x531707
mov edx, dword [esp + 0x24c]
add edx, dword [esp + 0x2f0]
lea ecx, [esp + 0x50]
call fcn.004ec910
mov ebx, dword [esp + 0x50]
mov eax, dword [esp + 0x244]
xor edi, edi
mov ecx, str.PathTryFromIntErrornumber_of_bones_should_fit_in_i32vmesh_src_v3mc.rs
mov eax, dword [eax + 4]
cmp dword [eax + 0x18], 0x80000000
cmovne ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x20]
mov dword [esp + 0xb8], 0x580258
mov dword [esp + 0xbc], 1
mov dword [esp + 0xc8], 0
cmove eax, edi
mov dword [esp + 0x208], ecx
mov dword [esp + 0x20c], eax
mov eax, dword [ebp + 0x10]
mov esi, dword [eax + 8]
movss xmm0, dword [eax + 0xc]
lea eax, [esp + 0x208]
mov dword [esp + 0x298], eax
lea eax, [esp + 0x298]
mov dword [esp + 0x29c], 0x461c20
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], 1
movss dword [esp + 0x130], xmm0
lea ecx, [esp + 0x148]
lea edx, [esp + 0xb8]
call fcn.0042a3a0
mov eax, dword [esp + 0x14c]
test ebx, ebx
mov dword [esp + 0x40], eax
je 0x5318b1
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], eax
mov dword [esp + 0x14], ecx
movzx ecx, word [ebx + 0x192]
lea eax, [ebx + 0x10c]
mov dword [esp + 8], ebx
mov ebx, 0xffffffff
mov dword [esp + 0x30], ecx
lea ecx, [ecx*4]
lea edi, [ecx + ecx*2]
nop
test edi, edi
je 0x531853
lea ecx, [eax + 0xc]
mov edx, dword [esp + 0x38]
mov dword [esp + 0xc], ecx
mov ecx, dword [eax + 8]
mov esi, edx
sub esi, ecx
cmovb ecx, edx
push ecx
push dword [eax + 4]
push dword [esp + 0x48]
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 + 0xc]
inc ebx
add edi, 0xfffffff4
cmp cl, 1
je 0x531800
movzx eax, cl
test eax, eax
jne 0x531857
jmp 0x531874
mov ebx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
sub eax, 1
jb 0x5318cd
mov ecx, dword [esp + 8]
mov dword [esp + 0x14], eax
mov ebx, dword [ecx + ebx*4 + 0x198]
jmp 0x5317db
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x5318cd
lea eax, [ebx + ebx*2]
lea eax, [ecx + eax*8]
cmp byte [eax], 2
jne 0x5318d5
mov ecx, dword [eax + 8]
mov esi, dword [esp + 0x34]
test ecx, ecx
je 0x5318ec
cmp ecx, 1
jne 0x53190e
fild qword [eax + 0x10]
fstp qword [esp + 0x510]
mov edi, 1
movsd xmm0, qword [esp + 0x510]
jmp 0x531918
jmp 0x531922
mov esi, 0x5738b4
mov edx, 0x36b
mov ecx, eax
push esi
call fcn.004699c0
add esp, 4
jmp 0x53447e
mov esi, dword [esp + 0x34]
xor edi, edi
jmp 0x531922
mov esi, dword [esp + 0x34]
xor edi, edi
jmp 0x531918
mov esi, 0x5738a4
mov edx, 0x23
jmp 0x531667
movsd xmm1, qword [eax + 0x10]
unpcklps xmm1, xmmword [0x56ee20]
subpd xmm1, xmmword [0x56ee30]
movapd xmm0, xmm1
unpckhpd xmm0, xmm1
addsd xmm0, xmm1
jmp 0x531913
movsd xmm0, qword [eax + 0x10]
mov edi, 1
cvtsd2ss xmm0, xmm0
movss dword [esp + 0xc], xmm0
cmp dword [esp + 0x148], 0
je 0x53193d
push dword [esp + 0x40]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
or esi, edi
jne 0x531978
mov eax, dword [esp + 0x244]
mov ebx, dword [eax + 4]
mov ecx, ebx
call fcn.00534770
mov edx, dword [esp + 0x288]
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 0x5319c9
test edi, edi
je 0x53198b
movss xmm0, dword [esp + 0xc]
movss dword [esp + 0x130], xmm0
movss xmm0, dword [esp + 0x130]
mov ecx, 0x7fffffff
mulss xmm0, dword [0x56edd0]
mulss xmm0, dword [0x56edd4]
ucomiss xmm0, dword [0x56edd8]
cvttss2si eax, xmm0
cmovbe ecx, eax
xor esi, esi
ucomiss xmm0, xmm0
cmovnp esi, ecx
mov ecx, dword [esp + 0x244]
mov ebx, dword [ecx + 4]
mov dword [esp + 0x250], esi
xor edx, edx
mov eax, str.PathTryFromIntErrornumber_of_bones_should_fit_in_i32vmesh_src_v3mc.rs
cmp dword [ebx + 0x18], 0x80000000
mov ecx, dword [ebx + 0x20]
cmovne eax, dword [ebx + 0x1c]
cmove ecx, edx
mov dword [esp + 0xb8], 0x580270
mov dword [esp + 0xbc], 1
mov dword [esp + 0xc8], 0
mov dword [esp + 0x208], eax
lea eax, [esp + 0x208]
mov dword [esp + 0x20c], ecx
mov dword [esp + 0x298], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x29c], 0x461c20
movss xmm0, dword [eax + 0x14]
mov ebx, dword [eax + 0x10]
lea eax, [esp + 0x298]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], 1
movss dword [esp + 0xa0], xmm0
lea ecx, [esp + 0x148]
lea edx, [esp + 0xb8]
call fcn.0042a3a0
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x14c]
mov dword [esp + 0x34], esi
test ecx, ecx
mov dword [esp + 0x40], eax
je 0x531b9f
mov eax, dword [esp + 0x150]
mov edx, dword [esp + 0x54]
mov dword [esp + 0x130], 0
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x38], eax
mov dword [esp + 0x14], edx
lea eax, [ecx + 0x10c]
mov dword [esp + 8], ecx
movzx ecx, word [ecx + 0x192]
mov ebx, 0xffffffff
mov dword [esp + 0x30], ecx
lea ecx, [ecx*4]
lea edi, [ecx + ecx*2]
nop word cs:[eax + eax]
nop dword [eax + eax]
test edi, edi
je 0x531b33
lea ecx, [eax + 0xc]
mov edx, dword [esp + 0x38]
mov dword [esp + 0xc], ecx
mov ecx, dword [eax + 8]
mov esi, edx
sub esi, ecx
cmovb ecx, edx
push ecx
push dword [eax + 4]
push dword [esp + 0x48]
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 + 0xc]
inc ebx
add edi, 0xfffffff4
cmp cl, 1
je 0x531ae0
movzx eax, cl
test eax, eax
jne 0x531b37
jmp 0x531b54
mov ebx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 8]
sub eax, 1
jb 0x531bb4
mov ecx, dword [ecx + ebx*4 + 0x198]
mov dword [esp + 0x14], eax
jmp 0x531aad
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x531bb4
lea eax, [ebx + ebx*2]
lea eax, [ecx + eax*8]
cmp byte [eax], 2
jne 0x531bc2
mov ecx, dword [eax + 8]
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x2c]
test ecx, ecx
je 0x531bdb
cmp ecx, 1
jne 0x531bfd
fild qword [eax + 0x10]
fstp qword [esp + 0x508]
mov dword [esp + 0x130], 1
movsd xmm0, qword [esp + 0x508]
jmp 0x531c0d
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x130], 0
jmp 0x531c17
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x2c]
jmp 0x531c17
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x130], 0
jmp 0x531c0d
movsd xmm1, qword [eax + 0x10]
unpcklps xmm1, xmmword [0x56ee20]
subpd xmm1, xmmword [0x56ee30]
movapd xmm0, xmm1
unpckhpd xmm0, xmm1
addsd xmm0, xmm1
jmp 0x531c02
movsd xmm0, qword [eax + 0x10]
mov dword [esp + 0x130], 1
cvtsd2ss xmm0, xmm0
movss dword [esp + 0xc], xmm0
cmp dword [esp + 0x148], 0
je 0x531c32
push dword [esp + 0x40]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x130]
or ebx, eax
jne 0x531c85
mov eax, dword [esp + 0x244]
mov ecx, dword [eax + 4]
call fcn.00534770
mov ebx, dword [esp + 0x288]
xor ecx, ecx
test al, al
mov eax, 0x1e0
cmovne eax, ecx
mov edx, ebx
shr edx, 0x1f
add edx, ebx
sar edx, 1
cmp eax, edx
cmovl edx, eax
mov eax, dword [esp + 0x30c]
mov dword [esp + 0x298], edx
cmp eax, 1
ja 0x531ce3
jmp 0x531e6a
test eax, eax
je 0x531c98
movss xmm0, dword [esp + 0xc]
movss dword [esp + 0xa0], xmm0
movss xmm0, dword [esp + 0xa0]
mov ecx, 0x7fffffff
mulss xmm0, dword [0x56edd0]
mulss xmm0, dword [0x56edd4]
ucomiss xmm0, dword [0x56edd8]
cvttss2si eax, xmm0
cmovbe ecx, eax
xor edx, edx
ucomiss xmm0, xmm0
cmovnp edx, ecx
mov eax, dword [esp + 0x30c]
mov dword [esp + 0x298], edx
cmp eax, 1
jbe 0x531e6a
lea eax, [esp + 0x1b8]
lea esi, [esp + 0x148]
mov dword [esp + 0xb8], 0x580310
mov dword [esp + 0xbc], 2
mov dword [esp + 0xc8], 0
mov dword [esp + 0x148], eax
mov dword [esp + 0xc0], esi
mov dword [esp + 0x14c], 0x473200
mov dword [esp + 0xc4], 1
lea ecx, [esp + 0xb8]
call fcn.004afe90
lea eax, [esp + 0x1d4]
mov dword [esp + 0xb8], 0x58032c
mov dword [esp + 0xbc], 2
mov dword [esp + 0xc8], 0
mov dword [esp + 0xc0], esi
mov dword [esp + 0xc4], 1
mov dword [esp + 0x148], eax
mov dword [esp + 0x14c], 0x473200
lea ecx, [esp + 0xb8]
call fcn.004afe90
lea eax, [esp + 0x250]
mov dword [esp + 0xb8], 0x58034c
mov dword [esp + 0xbc], 2
mov dword [esp + 0xc8], 0
mov dword [esp + 0xc0], esi
mov dword [esp + 0xc4], 1
mov dword [esp + 0x148], eax
mov dword [esp + 0x14c], 0x473200
lea ecx, [esp + 0xb8]
call fcn.004afe90
lea eax, [esp + 0x298]
mov dword [esp + 0xb8], 0x58036c
mov dword [esp + 0xbc], 2
mov dword [esp + 0xc8], 0
mov dword [esp + 0xc0], esi
mov dword [esp + 0xc4], 1
mov dword [esp + 0x148], eax
mov dword [esp + 0x14c], 0x473200
lea ecx, [esp + 0xb8]
call fcn.004afe90
mov eax, dword [esp + 0x250]
mov esi, dword [esp + 0x1b8]
mov edi, dword [esp + 0x1d4]
mov edx, dword [esp + 0x298]
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x40], edx
test ecx, ecx
je 0x531eb7
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x58]
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], edx
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], ecx
mov ecx, 1
mov dword [esp + 0xd4], edx
jmp 0x531ebb
xor ecx, ecx
xor eax, eax
mov edx, dword [esp + 0x28c]
mov ebx, dword [esp + 0x294]
mov dword [esp + 0xb8], ecx
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xd8], eax
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x290]
mov dword [esp + 0xc], edx
lea ecx, [esp + 0xb8]
call fcn.00559420
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x148], 0x46564d56
sub ecx, eax
cmp ecx, 5
jb 0x532cab
mov ecx, dword [esp + 0x1c]
mov dword [ecx + eax], 0x46564d56
add eax, 4
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x40]
mov dword [esp + 0x148], 8
sub ecx, eax
cmp ecx, 5
jb 0x532ce1
mov ecx, dword [esp + 0x1c]
mov dword [ecx + eax], 8
add eax, 4
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x148], 0
sub ecx, eax
cmp ecx, 5
jb 0x532d1b
mov ecx, dword [esp + 0x1c]
mov dword [ecx + eax], 0
add eax, 4
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x148], 0
sub ecx, eax
cmp ecx, 5
jb 0x532d55
mov ecx, dword [esp + 0x1c]
mov dword [ecx + eax], 0
add eax, 4
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x148], esi
sub ecx, eax
cmp ecx, 5
jb 0x532d8f
mov ecx, dword [esp + 0x1c]
mov dword [ecx + eax], esi
add eax, 4
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x148], edi
sub ecx, eax
cmp ecx, 5
jb 0x532dc9
mov ecx, dword [esp + 0x1c]
mov dword [ecx + eax], edi
add eax, 4
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x34]
mov dword [esp + 0x148], ebx
sub ecx, eax
cmp ecx, 5
jb 0x532e03
mov ecx, dword [esp + 0x1c]
mov dword [ecx + eax], ebx
add eax, 4
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x148], 0
sub ecx, eax
cmp ecx, 5
jb 0x532e3d
mov ecx, dword [esp + 0x1c]
mov dword [ecx + eax], 0
add eax, 4
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x148], 0
sub ecx, eax
cmp ecx, 5
jb 0x532e77
mov ecx, dword [esp + 0x1c]
mov dword [ecx + eax], 0
add eax, 4
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x148], esi
sub ecx, eax
cmp ecx, 5
jb 0x532eb1
mov ecx, dword [esp + 0x1c]
mov dword [ecx + eax], esi
add eax, 4
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x148], edx
sub ecx, eax
cmp ecx, 5
jb 0x532eeb
mov ecx, dword [esp + 0x1c]
mov dword [ecx + eax], edx
add eax, 4
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x148], 0
sub ecx, eax
cmp ecx, 5
jb 0x532f21
mov ecx, dword [esp + 0x1c]
mov dword [ecx + eax], 0
add eax, 4
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x148], 0
sub ecx, eax
cmp ecx, 4
jbe 0x532f57
mov ecx, dword [esp + 0x1c]
mov dword [ecx + eax], 0
add eax, 4
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x148], 0
sub ecx, eax
cmp ecx, 4
jbe 0x532f89
mov ecx, dword [esp + 0x1c]
mov dword [ecx + eax], 0
add eax, 4
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x148], 0x3f800000
sub ecx, eax
cmp ecx, 4
jbe 0x532fbb
mov ecx, dword [esp + 0x1c]
mov dword [ecx + eax], 0x3f800000
add eax, 4
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x148], 0
sub ecx, eax
cmp ecx, 5
jb 0x53304a
mov ecx, dword [esp + 0x1c]
mov dword [ecx + eax], 0
add eax, 4
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x148], 0
sub ecx, eax
cmp ecx, 4
jbe 0x5330d9
mov ecx, dword [esp + 0x1c]
mov dword [ecx + eax], 0
add eax, 4
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x148], 0
sub ecx, eax
cmp ecx, 4
jbe 0x533108
mov ecx, dword [esp + 0x1c]
mov dword [ecx + eax], 0
add eax, 4
mov dword [esp + 0x20], eax
test ebx, ebx
je 0x532250
cmp ebx, 0x1fffffff
ja 0x53467f
lea esi, [ebx*4]
test esi, esi
js 0x534684
mov eax, dword [0x5920d8]
test eax, eax
jne 0x532237
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x532244
mov dword [0x5920d8], eax
push esi
push 8
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
jne 0x532255
mov ecx, 4
mov edx, esi
call fcn.00429f60
mov eax, 4
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0xc0], ebx
lea esi, [esp + 0x50]
lea edi, [esp + 0x18]
mov ecx, esi
mov edx, edi
call fcn.00551040
movzx eax, byte [esp + 0x50]
cmp al, 4
jne 0x53232e
mov eax, dword [esp + 0x28]
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
push 1
push esi
push 0
push 0
push eax
call sub.KERNEL32.dll_SetFilePointerEx
test eax, eax
je 0x532365
mov eax, dword [esp + 0x50]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x34], eax
lea ecx, [esp + 0x148]
lea edx, [esp + 0xb8]
push edi
call fcn.00557d80
add esp, 4
movzx eax, byte [esp + 0x148]
cmp al, 4
jne 0x532393
test ebx, ebx
je 0x53307c
mov ecx, dword [esp + 0xc]
lea eax, [ebx + ebx*8]
xor edi, edi
lea edx, [eax + eax*2]
mov dword [esp + 8], ecx
add edx, ecx
add edx, ebx
mov dword [esp + 0x10], edx
lea edx, [esp + 0x18]
jmp 0x53242c
mov ecx, dword [esp + 0x51]
mov edx, dword [esp + 0x54]
mov dword [esp + 0x14c], edx
mov dword [esp + 0x149], ecx
mov byte [esp + 0x148], al
movsd xmm0, qword [esp + 0x148]
mov eax, dword [esp + 0x40]
test ebx, ebx
jne 0x533b6d
jmp 0x533b86
call sub.KERNEL32.dll_GetLastError
mov byte [esp + 0x148], 0
mov dword [esp + 0x14c], eax
movsd xmm0, qword [esp + 0x148]
mov eax, dword [esp + 0x40]
test ebx, ebx
jne 0x533b6d
jmp 0x533b86
movd xmm0, dword [esp + 0x149]
movzx eax, al
pinsrw xmm0, word [esp + 0x14d], 2
movdqa xmmword [esp + 0x410], xmm0
mov esi, dword [esp + 0x410]
movzx ecx, byte [esp + 0x412]
movzx edx, byte [esp + 0x411]
shl esi, 8
shl ecx, 8
or esi, eax
or ecx, edx
movzx eax, byte [esp + 0x413]
movd xmm0, esi
pinsrw xmm0, ecx, 1
mov ecx, dword [esp + 0x414]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x415]
pinsrw xmm0, ecx, 2
movzx ecx, byte [esp + 0x14f]
jmp 0x533b5b
mov eax, dword [esp + 8]
mov edi, dword [esp + 0x30]
lea esi, [esp + 0x50]
lea edx, [esp + 0x18]
add eax, 0x1c
inc edi
cmp eax, dword [esp + 0x10]
mov dword [esp + 8], eax
je 0x53307c
mov ecx, esi
call fcn.00551040
movzx eax, byte [esp + 0x50]
cmp al, 4
jne 0x53390c
mov eax, dword [esp + 0x28]
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
push 1
push esi
push 0
push 0
push eax
call sub.KERNEL32.dll_SetFilePointerEx
test eax, eax
je 0x53391a
cmp edi, ebx
je 0x534450
movsd xmm0, qword [esp + 0x50]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x30], edi
movss dword [eax + edi*4], xmm0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x18]
movss xmm0, dword [eax + 0x18]
mov eax, dword [esp + 0x20]
sub ecx, eax
movss dword [esp + 0x50], xmm0
cmp ecx, 5
jb 0x532bcb
mov ecx, dword [esp + 0x1c]
movss dword [ecx + eax], xmm0
add eax, 4
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x18]
mov edi, dword [ecx + 8]
sub edx, eax
cmp edx, 3
mov word [esp + 0x50], di
jb 0x532bfa
mov ecx, dword [esp + 0x1c]
mov word [ecx + eax], di
add eax, 2
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 8]
mov edx, dword [ecx + 0x14]
mov ecx, dword [esp + 0x18]
sub ecx, eax
mov word [esp + 0x50], dx
mov dword [esp + 0x14], edx
cmp ecx, 3
jb 0x532c29
mov ecx, dword [esp + 0x1c]
mov word [ecx + eax], dx
add eax, 2
mov dword [esp + 0x20], eax
test edi, edi
je 0x532805
mov eax, dword [esp + 8]
shl edi, 4
mov esi, dword [eax + 4]
add esi, 0xd
nop word cs:[eax + eax]
nop dword [eax]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov ecx, dword [esi - 5]
sub edx, eax
mov dword [esp + 0x50], ecx
cmp edx, 5
jb 0x532671
mov edx, dword [esp + 0x1c]
mov dword [edx + eax], ecx
add eax, 4
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x18]
movzx ecx, word [esi - 0xd]
sub edx, eax
mov word [esp + 0x50], cx
cmp edx, 3
jb 0x5326a4
mov edx, dword [esp + 0x1c]
mov word [edx + eax], cx
add eax, 2
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x18]
movzx ecx, word [esi - 0xb]
sub edx, eax
mov word [esp + 0x50], cx
cmp edx, 2
jbe 0x5326d7
mov edx, dword [esp + 0x1c]
mov word [edx + eax], cx
add eax, 2
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x18]
movzx ecx, word [esi - 9]
sub edx, eax
mov word [esp + 0x50], cx
cmp edx, 2
jbe 0x53270a
mov edx, dword [esp + 0x1c]
mov word [edx + eax], cx
add eax, 2
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x18]
movzx ecx, word [esi - 7]
sub edx, eax
mov word [esp + 0x50], cx
cmp edx, 2
jbe 0x53273d
mov edx, dword [esp + 0x1c]
mov word [edx + eax], cx
add eax, 2
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x18]
movzx ecx, byte [esi - 1]
sub edx, eax
mov byte [esp + 0x50], cl
cmp edx, 2
jb 0x532770
mov edx, dword [esp + 0x1c]
mov byte [edx + eax], cl
inc eax
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x18]
movzx ecx, byte [esi]
sub edx, eax
mov byte [esp + 0x50], cl
cmp edx, 2
jb 0x5327a3
mov edx, dword [esp + 0x1c]
mov byte [edx + eax], cl
inc eax
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x18]
mov word [esp + 0x50], 0
sub ecx, eax
cmp ecx, 3
jb 0x5327d6
mov ecx, dword [esp + 0x1c]
mov word [ecx + eax], 0
add eax, 2
mov dword [esp + 0x20], eax
add esi, 0x10
add edi, 0xfffffff0
jne 0x532530
jmp 0x532805
lea ecx, [esp + 0x148]
lea edx, [esp + 0x18]
push 4
lea eax, [esp + 0x54]
push eax
call fcn.00551420
add esp, 8
movzx eax, byte [esp + 0x148]
cmp al, 4
jne 0x53391f
mov eax, dword [esp + 0x20]
jmp 0x532558
lea ecx, [esp + 0x148]
lea edx, [esp + 0x18]
push 2
lea eax, [esp + 0x54]
push eax
call fcn.00551420
add esp, 8
movzx eax, byte [esp + 0x148]
cmp al, 4
jne 0x53368a
mov eax, dword [esp + 0x20]
jmp 0x53257f
lea ecx, [esp + 0x148]
lea edx, [esp + 0x18]
push 2
lea eax, [esp + 0x54]
push eax
call fcn.00551420
add esp, 8
movzx eax, byte [esp + 0x148]
cmp al, 4
jne 0x53368a
mov eax, dword [esp + 0x20]
jmp 0x5325a6
lea ecx, [esp + 0x148]
lea edx, [esp + 0x18]
push 2
lea eax, [esp + 0x54]
push eax
call fcn.00551420
add esp, 8
movzx eax, byte [esp + 0x148]
cmp al, 4
jne 0x53368a
mov eax, dword [esp + 0x20]
jmp 0x5325cd
lea ecx, [esp + 0x148]
lea edx, [esp + 0x18]
push 2
lea eax, [esp + 0x54]
push eax
call fcn.00551420
add esp, 8
movzx eax, byte [esp + 0x148]
cmp al, 4
jne 0x53368a
mov eax, dword [esp + 0x20]
jmp 0x5325f4
lea ecx, [esp + 0x148]
lea edx, [esp + 0x18]
push 1
lea eax, [esp + 0x54]
push eax
call fcn.00551420
add esp, 8
movzx eax, byte [esp + 0x148]
cmp al, 4
jne 0x53397b
mov eax, dword [esp + 0x20]
jmp 0x532617
lea ecx, [esp + 0x148]
lea edx, [esp + 0x18]
push 1
lea eax, [esp + 0x54]
push eax
call fcn.00551420
add esp, 8
movzx eax, byte [esp + 0x148]
cmp al, 4
jne 0x5339d7
mov eax, dword [esp + 0x20]
jmp 0x532639
lea ecx, [esp + 0x148]
lea edx, [esp + 0x18]
push 2
lea eax, [esp + 0x54]
push eax
call fcn.00551420
add esp, 8
movzx eax, byte [esp + 0x148]
cmp al, 4
je 0x532660
jmp 0x533a33
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x53240a
mov eax, dword [esp + 8]
mov edi, dword [eax + 0x10]
lea eax, [ecx + ecx*4]
lea esi, [edi + eax*8]
nop
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov ecx, dword [edi]
sub edx, eax
mov dword [esp + 0x50], ecx
cmp edx, 5
jb 0x5329d1
mov edx, dword [esp + 0x1c]
mov dword [edx + eax], ecx
add eax, 4
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x18]
movss xmm0, dword [edi + 4]
sub ecx, eax
movss dword [esp + 0x50], xmm0
cmp ecx, 5
jb 0x532a04
mov ecx, dword [esp + 0x1c]
movss dword [ecx + eax], xmm0
add eax, 4
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x18]
movss xmm0, dword [edi + 8]
sub ecx, eax
movss dword [esp + 0x50], xmm0
cmp ecx, 4
jbe 0x532a37
mov ecx, dword [esp + 0x1c]
movss dword [ecx + eax], xmm0
add eax, 4
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x18]
movss xmm0, dword [edi + 0xc]
sub ecx, eax
movss dword [esp + 0x50], xmm0
cmp ecx, 4
jbe 0x532a6a
mov ecx, dword [esp + 0x1c]
movss dword [ecx + eax], xmm0
add eax, 4
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x18]
movss xmm0, dword [edi + 0x10]
sub ecx, eax
movss dword [esp + 0x50], xmm0
cmp ecx, 4
jbe 0x532a9d
mov ecx, dword [esp + 0x1c]
movss dword [ecx + eax], xmm0
add eax, 4
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x18]
movss xmm0, dword [edi + 0x14]
sub ecx, eax
movss dword [esp + 0x50], xmm0
cmp ecx, 4
jbe 0x532ad0
mov ecx, dword [esp + 0x1c]
movss dword [ecx + eax], xmm0
add eax, 4
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x18]
movss xmm0, dword [edi + 0x18]
sub ecx, eax
movss dword [esp + 0x50], xmm0
cmp ecx, 4
jbe 0x532b03
mov ecx, dword [esp + 0x1c]
movss dword [ecx + eax], xmm0
add eax, 4
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x18]
movss xmm0, dword [edi + 0x1c]
sub ecx, eax
movss dword [esp + 0x50], xmm0
cmp ecx, 4
jbe 0x532b36
mov ecx, dword [esp + 0x1c]
movss dword [ecx + eax], xmm0
add eax, 4
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x18]
movss xmm0, dword [edi + 0x20]
sub ecx, eax
movss dword [esp + 0x50], xmm0
cmp ecx, 4
jbe 0x532b69
mov ecx, dword [esp + 0x1c]
movss dword [ecx + eax], xmm0
add eax, 4
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x18]
movss xmm0, dword [edi + 0x24]
sub ecx, eax
movss dword [esp + 0x50], xmm0
cmp ecx, 4
jbe 0x532b9c
mov ecx, dword [esp + 0x1c]
movss dword [ecx + eax], xmm0
add eax, 4
mov dword [esp + 0x20], eax
add edi, 0x28
cmp edi, esi
jne 0x532820
jmp 0x53240a
lea ecx, [esp + 0x148]
lea edx, [esp + 0x18]
push 4
lea eax, [esp + 0x54]
push eax
call fcn.00551420
add esp, 8
movzx eax, byte [esp + 0x148]
cmp al, 4
jne 0x533acb
mov eax, dword [esp + 0x20]
jmp 0x532847
lea ecx, [esp + 0x148]
lea edx, [esp + 0x18]
push 4
lea eax, [esp + 0x54]
push eax
call fcn.00551420
add esp, 8
movzx eax, byte [esp + 0x148]
cmp al, 4
jne 0x5337f8
mov eax, dword [esp + 0x20]
jmp 0x532871
lea ecx, [esp + 0x148]
lea edx, [esp + 0x18]
push 4
lea eax, [esp + 0x54]
push eax
call fcn.00551420
add esp, 8
movzx eax, byte [esp + 0x148]
cmp al, 4
jne 0x5337f8
mov eax, dword [esp + 0x20]
jmp 0x53289b
lea ecx, [esp + 0x148]
lea edx, [esp + 0x18]
push 4
lea eax, [esp + 0x54]
push eax
call fcn.00551420
add esp, 8
movzx eax, byte [esp + 0x148]
cmp al, 4
jne 0x5337f8
mov eax, dword [esp + 0x20]
jmp 0x5328c5
lea ecx, [esp + 0x148]
lea edx, [esp + 0x18]
push 4
lea eax, [esp + 0x54]
push eax
call fcn.00551420
add esp, 8
movzx eax, byte [esp + 0x148]
cmp al, 4
jne 0x533854
mov eax, dword [esp + 0x20]
jmp 0x5328ef
lea ecx, [esp + 0x148]
lea edx, [esp + 0x18]
push 4
lea eax, [esp + 0x54]
push eax
call fcn.00551420
add esp, 8
movzx eax, byte [esp + 0x148]
cmp al, 4
jne 0x533854
mov eax, dword [esp + 0x20]
jmp 0x532919
lea ecx, [esp + 0x148]
lea edx, [esp + 0x18]
push 4
lea eax, [esp + 0x54]
push eax
call fcn.00551420
add esp, 8
movzx eax, byte [esp + 0x148]
cmp al, 4
jne 0x533854
mov eax, dword [esp + 0x20]
jmp 0x532943
lea ecx, [esp + 0x148]
lea edx, [esp + 0x18]
push 4
lea eax, [esp + 0x54]
push eax
call fcn.00551420
add esp, 8
movzx eax, byte [esp + 0x148]
cmp al, 4
jne 0x5338b0
mov eax, dword [esp + 0x20]
jmp 0x53296d
lea ecx, [esp + 0x148]
lea edx, [esp + 0x18]
push 4
lea eax, [esp + 0x54]
push eax
call fcn.00551420
add esp, 8
movzx eax, byte [esp + 0x148]
cmp al, 4
jne 0x5338b0
mov eax, dword [esp + 0x20]
jmp 0x532997
lea ecx, [esp + 0x148]
lea edx, [esp + 0x18]
push 4
lea eax, [esp + 0x54]
push eax
call fcn.00551420
add esp, 8
movzx eax, byte [esp + 0x148]
cmp al, 4
je 0x5329c1
jmp 0x5338b0
lea ecx, [esp + 0x148]
lea edx, [esp + 0x18]
push 4
push esi
call fcn.00551420
add esp, 8
movzx eax, byte [esp + 0x148]
cmp al, 4
jne 0x5341bd
mov eax, dword [esp + 0x20]
jmp 0x5324b6
lea ecx, [esp + 0x148]
lea edx, [esp + 0x18]
push 2
push esi
call fcn.00551420
add esp, 8
movzx eax, byte [esp + 0x148]
cmp al, 4
jne 0x534219
mov eax, dword [esp + 0x20]
jmp 0x5324e0
lea ecx, [esp + 0x148]
lea edx, [esp + 0x18]
push 2
push esi
call fcn.00551420
add esp, 8
movzx eax, byte [esp + 0x148]
cmp al, 4
je 0x53250e
movd xmm0, dword [esp + 0x149]
pinsrw xmm0, word [esp + 0x14d], 2
movdqa xmmword [esp + 0x3e0], xmm0
movzx ecx, byte [esp + 0x14f]
mov byte [esp + 8], cl
movzx ecx, byte [esp + 0x3e5]
mov byte [esp + 0x14], cl
mov ah, byte [esp + 0x3e4]
mov ch, byte [esp + 0x3e3]
mov dh, byte [esp + 0x3e2]
mov cl, byte [esp + 0x3e0]
mov dl, byte [esp + 0x3e1]
jmp 0x533b22
lea ecx, [esp + 0xb8]
lea edx, [esp + 0x18]
push 4
lea eax, [esp + 0x14c]
push eax
call fcn.00551420
add esp, 8
movzx eax, byte [esp + 0xb8]
cmp al, 4
jne 0x533212
mov eax, dword [esp + 0x20]
jmp 0x531f29
lea ecx, [esp + 0xb8]
lea edx, [esp + 0x18]
push 4
lea eax, [esp + 0x14c]
push eax
call fcn.00551420
add esp, 8
movzx eax, byte [esp + 0xb8]
cmp al, 4
jne 0x533274
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x40]
jmp 0x531f59
lea ecx, [esp + 0xb8]
lea edx, [esp + 0x18]
push 4
lea eax, [esp + 0x14c]
push eax
call fcn.00551420
add esp, 8
movzx eax, byte [esp + 0xb8]
cmp al, 4
jne 0x5332d6
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x40]
jmp 0x531f85
lea ecx, [esp + 0xb8]
lea edx, [esp + 0x18]
push 4
lea eax, [esp + 0x14c]
push eax
call fcn.00551420
add esp, 8
movzx eax, byte [esp + 0xb8]
cmp al, 4
jne 0x533338
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x40]
jmp 0x531fb1
lea ecx, [esp + 0xb8]
lea edx, [esp + 0x18]
push 4
lea eax, [esp + 0x14c]
push eax
call fcn.00551420
add esp, 8
movzx eax, byte [esp + 0xb8]
cmp al, 4
jne 0x53339a
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x40]
jmp 0x531fd5
lea ecx, [esp + 0xb8]
lea edx, [esp + 0x18]
push 4
lea eax, [esp + 0x14c]
push eax
call fcn.00551420
add esp, 8
movzx eax, byte [esp + 0xb8]
cmp al, 4
jne 0x5333fc
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x40]
jmp 0x531ff9
lea ecx, [esp + 0xb8]
lea edx, [esp + 0x18]
push 4
lea eax, [esp + 0x14c]
push eax
call fcn.00551420
add esp, 8
movzx eax, byte [esp + 0xb8]
cmp al, 4
jne 0x53345e
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x40]
jmp 0x532021
lea ecx, [esp + 0xb8]
lea edx, [esp + 0x18]
push 4
lea eax, [esp + 0x14c]
push eax
call fcn.00551420
add esp, 8
movzx eax, byte [esp + 0xb8]
cmp al, 4
jne 0x5334c0
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x40]
jmp 0x53204d
lea ecx, [esp + 0xb8]
lea edx, [esp + 0x18]
push 4
lea eax, [esp + 0x14c]
push eax
call fcn.00551420
add esp, 8
movzx eax, byte [esp + 0xb8]
cmp al, 4
jne 0x533522
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x40]
jmp 0x532079
lea ecx, [esp + 0xb8]
lea edx, [esp + 0x18]
push 4
lea eax, [esp + 0x14c]
push eax
call fcn.00551420
add esp, 8
movzx eax, byte [esp + 0xb8]
cmp al, 4
jne 0x533584
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x40]
jmp 0x53209d
lea ecx, [esp + 0xb8]
lea edx, [esp + 0x18]
push 4
lea eax, [esp + 0x14c]
push eax
call fcn.00551420
add esp, 8
movzx eax, byte [esp + 0xb8]
cmp al, 4
jne 0x5335e3
mov eax, dword [esp + 0x20]
jmp 0x5320c1
lea ecx, [esp + 0xb8]
lea edx, [esp + 0x18]
push 4
lea eax, [esp + 0x14c]
push eax
call fcn.00551420
add esp, 8
movzx eax, byte [esp + 0xb8]
cmp al, 4
jne 0x532fe8
mov eax, dword [esp + 0x20]
jmp 0x5320ed
lea ecx, [esp + 0xb8]
lea edx, [esp + 0x18]
push 4
lea eax, [esp + 0x14c]
push eax
call fcn.00551420
add esp, 8
movzx eax, byte [esp + 0xb8]
cmp al, 4
jne 0x532fe8
mov eax, dword [esp + 0x20]
jmp 0x532119
lea ecx, [esp + 0xb8]
lea edx, [esp + 0x18]
push 4
lea eax, [esp + 0x14c]
push eax
call fcn.00551420
add esp, 8
movzx eax, byte [esp + 0xb8]
cmp al, 4
jne 0x532fe8
mov eax, dword [esp + 0x20]
jmp 0x532145
lea ecx, [esp + 0xb8]
lea edx, [esp + 0x18]
push 4
lea eax, [esp + 0x14c]
push eax
call fcn.00551420
add esp, 8
movzx eax, byte [esp + 0xb8]
cmp al, 4
je 0x532171
movd xmm0, dword [esp + 0xb9]
pinsrw xmm0, word [esp + 0xbd], 2
movdqa xmmword [esp + 0x430], xmm0
movzx ecx, byte [esp + 0xbf]
mov byte [esp + 0x40], cl
movzx ecx, byte [esp + 0x435]
mov byte [esp + 8], cl
movzx ecx, byte [esp + 0x434]
mov byte [esp + 0x14], cl
mov dh, byte [esp + 0x433]
movzx ecx, byte [esp + 0x432]
mov dl, byte [esp + 0x430]
mov ch, byte [esp + 0x431]
jmp 0x533640
lea ecx, [esp + 0xb8]
lea edx, [esp + 0x18]
push 4
lea eax, [esp + 0x14c]
push eax
call fcn.00551420
add esp, 8
movzx eax, byte [esp + 0xb8]
cmp al, 4
je 0x5321a1
jmp 0x533135
lea ecx, [esp + 0x50]
lea edx, [esp + 0x18]
call fcn.00551040
movzx eax, byte [esp + 0x50]
cmp al, 4
jne 0x5337c1
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0x148]
push 0
push 0
push 0
push 2
call fcn.004ae530
add esp, 0x10
cmp dword [esp + 0x148], 0
je 0x5336e6
movsd xmm0, qword [esp + 0x14c]
mov eax, dword [esp + 0x40]
test ebx, ebx
jne 0x533b6d
jmp 0x533b86
lea ecx, [esp + 0xb8]
lea edx, [esp + 0x18]
push 4
lea eax, [esp + 0x14c]
push eax
call fcn.00551420
add esp, 8
movzx eax, byte [esp + 0xb8]
cmp al, 4
je 0x5321d1
jmp 0x533135
lea ecx, [esp + 0xb8]
lea edx, [esp + 0x18]
push 4
lea eax, [esp + 0x14c]
push eax
call fcn.00551420
add esp, 8
movzx eax, byte [esp + 0xb8]
cmp al, 4
je 0x532201
movd xmm0, dword [esp + 0xb9]
pinsrw xmm0, word [esp + 0xbd], 2
movdqa xmmword [esp + 0x420], xmm0
movzx ecx, byte [esp + 0xbf]
mov byte [esp + 0x40], cl
movzx ecx, byte [esp + 0x425]
mov byte [esp + 8], cl
movzx ecx, byte [esp + 0x424]
mov byte [esp + 0x14], cl
mov dh, byte [esp + 0x423]
movzx ecx, byte [esp + 0x422]
mov dl, byte [esp + 0x420]
mov ch, byte [esp + 0x421]
jmp 0x533640
mov esi, 0x5738a4
mov edx, 0x23
jmp 0x5318bd
xor ecx, ecx
xor edx, edx
push 0x580870
call fcn.004699c0
mov ecx, 1
mov edx, 1
push 0x580880
call fcn.004699c0
mov ecx, 2
mov edx, 2
push 0x580890
call fcn.004699c0
movd xmm0, dword [esp + 0xb9]
pinsrw xmm0, word [esp + 0xbd], 2
movdqa xmmword [esp + 0x4e0], xmm0
movzx ecx, byte [esp + 0xbf]
mov byte [esp + 0x40], cl
movzx ecx, byte [esp + 0x4e5]
mov byte [esp + 8], cl
movzx ecx, byte [esp + 0x4e4]
mov byte [esp + 0x14], cl
mov dh, byte [esp + 0x4e3]
movzx ecx, byte [esp + 0x4e2]
mov dl, byte [esp + 0x4e0]
mov ch, byte [esp + 0x4e1]
jmp 0x533640
movd xmm0, dword [esp + 0xb9]
pinsrw xmm0, word [esp + 0xbd], 2
movdqa xmmword [esp + 0x4d0], xmm0
movzx ecx, byte [esp + 0xbf]
mov byte [esp + 0x40], cl
movzx ecx, byte [esp + 0x4d5]
mov byte [esp + 8], cl
movzx ecx, byte [esp + 0x4d4]
mov byte [esp + 0x14], cl
mov dh, byte [esp + 0x4d3]
movzx ecx, byte [esp + 0x4d2]
mov dl, byte [esp + 0x4d0]
mov ch, byte [esp + 0x4d1]
jmp 0x533640
movd xmm0, dword [esp + 0xb9]
pinsrw xmm0, word [esp + 0xbd], 2
movdqa xmmword [esp + 0x4c0], xmm0
movzx ecx, byte [esp + 0xbf]
mov byte [esp + 0x40], cl
movzx ecx, byte [esp + 0x4c5]
mov byte [esp + 8], cl
movzx ecx, byte [esp + 0x4c4]
mov byte [esp + 0x14], cl
mov dh, byte [esp + 0x4c3]
movzx ecx, byte [esp + 0x4c2]
mov dl, byte [esp + 0x4c0]
mov ch, byte [esp + 0x4c1]
jmp 0x533640
movd xmm0, dword [esp + 0xb9]
pinsrw xmm0, word [esp + 0xbd], 2
movdqa xmmword [esp + 0x4b0], xmm0
movzx ecx, byte [esp + 0xbf]
mov byte [esp + 0x40], cl
movzx ecx, byte [esp + 0x4b5]
mov byte [esp + 8], cl
movzx ecx, byte [esp + 0x4b4]
mov byte [esp + 0x14], cl
mov dh, byte [esp + 0x4b3]
movzx ecx, byte [esp + 0x4b2]
mov dl, byte [esp + 0x4b0]
mov ch, byte [esp + 0x4b1]
jmp 0x533640
movd xmm0, dword [esp + 0xb9]
pinsrw xmm0, word [esp + 0xbd], 2
movdqa xmmword [esp + 0x4a0], xmm0
movzx ecx, byte [esp + 0xbf]
mov byte [esp + 0x40], cl
movzx ecx, byte [esp + 0x4a5]
mov byte [esp + 8], cl
movzx ecx, byte [esp + 0x4a4]
mov byte [esp + 0x14], cl
mov dh, byte [esp + 0x4a3]
movzx ecx, byte [esp + 0x4a2]
mov dl, byte [esp + 0x4a0]
mov ch, byte [esp + 0x4a1]
jmp 0x533640
movd xmm0, dword [esp + 0xb9]
pinsrw xmm0, word [esp + 0xbd], 2
movdqa xmmword [esp + 0x490], xmm0
movzx ecx, byte [esp + 0xbf]
mov byte [esp + 0x40], cl
movzx ecx, byte [esp + 0x495]
mov byte [esp + 8], cl
movzx ecx, byte [esp + 0x494]
mov byte [esp + 0x14], cl
mov dh, byte [esp + 0x493]
movzx ecx, byte [esp + 0x492]
mov dl, byte [esp + 0x490]
mov ch, byte [esp + 0x491]
jmp 0x533640
movd xmm0, dword [esp + 0xb9]
pinsrw xmm0, word [esp + 0xbd], 2
movdqa xmmword [esp + 0x480], xmm0
movzx ecx, byte [esp + 0xbf]
mov byte [esp + 0x40], cl
movzx ecx, byte [esp + 0x485]
mov byte [esp + 8], cl
movzx ecx, byte [esp + 0x484]
mov byte [esp + 0x14], cl
mov dh, byte [esp + 0x483]
movzx ecx, byte [esp + 0x482]
mov dl, byte [esp + 0x480]
mov ch, byte [esp + 0x481]
jmp 0x533640
movd xmm0, dword [esp + 0xb9]
pinsrw xmm0, word [esp + 0xbd], 2
movdqa xmmword [esp + 0x470], xmm0
movzx ecx, byte [esp + 0xbf]
mov byte [esp + 0x40], cl
movzx ecx, byte [esp + 0x475]
mov byte [esp + 8], cl
movzx ecx, byte [esp + 0x474]
mov byte [esp + 0x14], cl
mov dh, byte [esp + 0x473]
movzx ecx, byte [esp + 0x472]
mov dl, byte [esp + 0x470]
mov ch, byte [esp + 0x471]
jmp 0x533640
movd xmm0, dword [esp + 0xb9]
pinsrw xmm0, word [esp + 0xbd], 2
movdqa xmmword [esp + 0x460], xmm0
movzx ecx, byte [esp + 0xbf]
mov byte [esp + 0x40], cl
movzx ecx, byte [esp + 0x465]
mov byte [esp + 8], cl
movzx ecx, byte [esp + 0x464]
mov byte [esp + 0x14], cl
mov dh, byte [esp + 0x463]
movzx ecx, byte [esp + 0x462]
mov dl, byte [esp + 0x460]
mov ch, byte [esp + 0x461]
jmp 0x533640
movd xmm0, dword [esp + 0xb9]
pinsrw xmm0, word [esp + 0xbd], 2
movdqa xmmword [esp + 0x450], xmm0
movzx ecx, byte [esp + 0xbf]
mov byte [esp + 0x40], cl
movzx ecx, byte [esp + 0x455]
mov byte [esp + 8], cl
movzx ecx, byte [esp + 0x454]
mov byte [esp + 0x14], cl
mov dh, byte [esp + 0x453]
movzx ecx, byte [esp + 0x452]
mov dl, byte [esp + 0x450]
mov ch, byte [esp + 0x451]
jmp 0x533640
movd xmm0, dword [esp + 0xb9]
pinsrw xmm0, word [esp + 0xbd], 2
movdqa xmmword [esp + 0x440], xmm0
movzx ecx, byte [esp + 0xbf]
mov byte [esp + 0x40], cl
movzx ecx, byte [esp + 0x445]
mov byte [esp + 8], cl
movzx ecx, byte [esp + 0x444]
mov byte [esp + 0x14], cl
mov dh, byte [esp + 0x443]
movzx ecx, byte [esp + 0x442]
mov dl, byte [esp + 0x440]
mov ch, byte [esp + 0x441]
movzx esi, ch
movzx ecx, cl
movzx edi, dl
shl ecx, 8
shl edi, 8
or ecx, esi
movzx esi, al
or edi, esi
movzx esi, byte [esp + 0x40]
movd xmm0, edi
movzx edi, byte [esp + 0x14]
pinsrw xmm0, ecx, 1
movzx ecx, dh
shl esi, 8
shl edi, 8
or edi, ecx
movzx ecx, byte [esp + 8]
pinsrw xmm0, edi, 2
or esi, ecx
pinsrw xmm0, esi, 3
jmp 0x533be7
movd xmm0, dword [esp + 0x149]
pinsrw xmm0, word [esp + 0x14d], 2
movdqa xmmword [esp + 0x3c0], xmm0
movzx ecx, byte [esp + 0x14f]
mov byte [esp + 8], cl
movzx ecx, byte [esp + 0x3c5]
mov byte [esp + 0x14], cl
mov ah, byte [esp + 0x3c4]
mov ch, byte [esp + 0x3c3]
mov dh, byte [esp + 0x3c2]
mov cl, byte [esp + 0x3c0]
mov dl, byte [esp + 0x3c1]
jmp 0x533b22
mov eax, dword [esp + 0x150]
mov dword [esp + 0xc4], eax
lea ecx, [esp + 0x50]
lea edx, [esp + 0x18]
call fcn.00551040
movzx eax, byte [esp + 0x50]
cmp al, 4
jne 0x5337c1
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0x148]
push 0
push 0
push 0
push 2
call fcn.004ae530
add esp, 0x10
cmp dword [esp + 0x148], 0
jne 0x5330bf
mov eax, dword [esp + 0x150]
mov dword [esp + 0xc8], eax
lea edi, [esp + 0x18]
lea ecx, [esp + 0x148]
mov edx, edi
push dword [esp + 0x34]
push dword [esp + 0x134]
push 0
push 0
call fcn.00551a30
add esp, 0x10
cmp dword [esp + 0x148], 0
jne 0x5330bf
lea ecx, [esp + 0x148]
lea edx, [esp + 0xb8]
push edi
call fcn.00557d80
add esp, 4
movzx eax, byte [esp + 0x148]
cmp al, 4
jne 0x534153
test ebx, ebx
je 0x5337b3
push dword [esp + 0x40]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov eax, 4
movd xmm0, eax
jmp 0x533b86
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x51]
mov dword [esp + 0x150], edx
mov dword [esp + 0x14d], ecx
mov byte [esp + 0x14c], al
movsd xmm0, qword [esp + 0x14c]
mov eax, dword [esp + 0x40]
test ebx, ebx
jne 0x533b6d
jmp 0x533b86
movd xmm0, dword [esp + 0x149]
pinsrw xmm0, word [esp + 0x14d], 2
movdqa xmmword [esp + 0x370], xmm0
movzx ecx, byte [esp + 0x14f]
mov byte [esp + 8], cl
movzx ecx, byte [esp + 0x375]
mov byte [esp + 0x14], cl
mov ah, byte [esp + 0x374]
mov ch, byte [esp + 0x373]
mov dh, byte [esp + 0x372]
mov cl, byte [esp + 0x370]
mov dl, byte [esp + 0x371]
jmp 0x533b22
movd xmm0, dword [esp + 0x149]
pinsrw xmm0, word [esp + 0x14d], 2
movdqa xmmword [esp + 0x360], xmm0
movzx ecx, byte [esp + 0x14f]
mov byte [esp + 8], cl
movzx ecx, byte [esp + 0x365]
mov byte [esp + 0x14], cl
mov ah, byte [esp + 0x364]
mov ch, byte [esp + 0x363]
mov dh, byte [esp + 0x362]
mov cl, byte [esp + 0x360]
mov dl, byte [esp + 0x361]
jmp 0x533b22
movd xmm0, dword [esp + 0x149]
pinsrw xmm0, word [esp + 0x14d], 2
movdqa xmmword [esp + 0x350], xmm0
movzx ecx, byte [esp + 0x14f]
mov byte [esp + 8], cl
movzx ecx, byte [esp + 0x355]
mov byte [esp + 0x14], cl
mov ah, byte [esp + 0x354]
mov ch, byte [esp + 0x353]
mov dh, byte [esp + 0x352]
mov cl, byte [esp + 0x350]
mov dl, byte [esp + 0x351]
jmp 0x533b22
lea edx, [esp + 0x51]
mov ecx, dword [edx]
mov edx, dword [edx + 3]
jmp 0x532336
jmp 0x532365
movd xmm0, dword [esp + 0x149]
pinsrw xmm0, word [esp + 0x14d], 2
movdqa xmmword [esp + 0x3d0], xmm0
movzx ecx, byte [esp + 0x14f]
mov byte [esp + 8], cl
movzx ecx, byte [esp + 0x3d5]
mov byte [esp + 0x14], cl
mov ah, byte [esp + 0x3d4]
mov ch, byte [esp + 0x3d3]
mov dh, byte [esp + 0x3d2]
mov cl, byte [esp + 0x3d0]
mov dl, byte [esp + 0x3d1]
jmp 0x533b22
movd xmm0, dword [esp + 0x149]
pinsrw xmm0, word [esp + 0x14d], 2
movdqa xmmword [esp + 0x3b0], xmm0
movzx ecx, byte [esp + 0x14f]
mov byte [esp + 8], cl
movzx ecx, byte [esp + 0x3b5]
mov byte [esp + 0x14], cl
mov ah, byte [esp + 0x3b4]
mov ch, byte [esp + 0x3b3]
mov dh, byte [esp + 0x3b2]
mov cl, byte [esp + 0x3b0]
mov dl, byte [esp + 0x3b1]
jmp 0x533b22
movd xmm0, dword [esp + 0x149]
pinsrw xmm0, word [esp + 0x14d], 2
movdqa xmmword [esp + 0x3a0], xmm0
movzx ecx, byte [esp + 0x14f]
mov byte [esp + 8], cl
movzx ecx, byte [esp + 0x3a5]
mov byte [esp + 0x14], cl
mov ah, byte [esp + 0x3a4]
mov ch, byte [esp + 0x3a3]
mov dh, byte [esp + 0x3a2]
mov cl, byte [esp + 0x3a0]
mov dl, byte [esp + 0x3a1]
jmp 0x533b22
movd xmm0, dword [esp + 0x149]
pinsrw xmm0, word [esp + 0x14d], 2
movdqa xmmword [esp + 0x390], xmm0
movzx ecx, byte [esp + 0x14f]
mov byte [esp + 8], cl
movzx ecx, byte [esp + 0x395]
mov byte [esp + 0x14], cl
mov ah, byte [esp + 0x394]
mov ch, byte [esp + 0x393]
mov dh, byte [esp + 0x392]
mov cl, byte [esp + 0x390]
mov dl, byte [esp + 0x391]
jmp 0x533b22
mov ecx, str.called__Option::unwrap____on_a__None__value_home_rafalh_.cargo_registry_src_index.crates.io_6f17d22bba15001f_serde_json_1.0.81_src_read.rs
mov edx, 0x2b
push 0x57a638
call fcn.0046b100
mov ecx, str.called__Option::unwrap____on_a__None__value_home_rafalh_.cargo_registry_src_index.crates.io_6f17d22bba15001f_serde_json_1.0.81_src_read.rs
mov edx, 0x2b
push 0x57a638
call fcn.0046b100
mov ecx, str.called__Option::unwrap____on_a__None__value_home_rafalh_.cargo_registry_src_index.crates.io_6f17d22bba15001f_serde_json_1.0.81_src_read.rs
mov edx, 0x2b
push 0x57a638
call fcn.0046b100
movd xmm0, dword [esp + 0x149]
pinsrw xmm0, word [esp + 0x14d], 2
movdqa xmmword [esp + 0x380], xmm0
movzx ecx, byte [esp + 0x14f]
mov byte [esp + 8], cl
movzx ecx, byte [esp + 0x385]
mov byte [esp + 0x14], cl
mov ah, byte [esp + 0x384]
mov ch, byte [esp + 0x383]
mov dh, byte [esp + 0x382]
mov cl, byte [esp + 0x380]
mov dl, byte [esp + 0x381]
movzx esi, dl
movzx edx, dh
movzx edi, cl
movzx ecx, ch
shl edx, 8
shl edi, 8
or edx, esi
movzx esi, al
movzx eax, ah
or edi, esi
shl eax, 8
movd xmm0, edi
or eax, ecx
movzx ecx, byte [esp + 8]
pinsrw xmm0, edx, 1
pinsrw xmm0, eax, 2
movzx eax, byte [esp + 0x14]
shl ecx, 8
or ecx, eax
pinsrw xmm0, ecx, 3
mov eax, dword [esp + 0x40]
test ebx, ebx
je 0x533b86
push eax
push 0
push dword [0x5920d8]
movaps xmmword [esp + 0x4c], xmm0
call sub.KERNEL32.dll_HeapFree
movdqa xmm0, xmmword [esp + 0x40]
movd eax, xmm0
cmp al, 4
jne 0x533be7
mov eax, dword [esp + 0x2ec]
test ebx, ebx
mov byte [eax], 4
je 0x533ce7
mov eax, dword [esp + 0xc]
lea esi, [eax + 0x10]
jmp 0x533bba
add esi, 0x1c
dec ebx
je 0x533ce7
cmp dword [esi - 0x10], 0
je 0x533bd0
push dword [esi - 0xc]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
cmp dword [esi - 4], 0
je 0x533bb0
push dword [esi]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x533bb0
movdqa xmmword [esp + 0x520], xmm0
psrlq xmm0, 8
test ebx, ebx
movzx ecx, byte [esp + 0x527]
mov edx, dword [esp + 0x2ec]
mov byte [edx + 7], cl
pextrw ecx, xmm0, 2
movd dword [edx + 1], xmm0
mov word [edx + 5], cx
mov byte [edx], al
je 0x533c63
mov eax, dword [esp + 0xc]
lea esi, [eax + 0x10]
jmp 0x533c36
add esi, 0x1c
dec ebx
je 0x533c63
cmp dword [esi - 0x10], 0
je 0x533c4c
push dword [esi - 0xc]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
cmp dword [esi - 4], 0
je 0x533c30
push dword [esi]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x533c30
cmp dword [esp + 0x38], 0
je 0x533c7b
push dword [esp + 0xc]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
cmp byte [esp + 0x24], 0
jne 0x533cb3
lea ecx, [esp + 0xb8]
lea edx, [esp + 0x18]
call fcn.00551040
movzx eax, byte [esp + 0xb8]
mov esi, dword [esp + 0xbc]
cmp eax, 4
ja 0x533d89
cmp eax, 3
je 0x533d89
cmp dword [esp + 0x18], 0
je 0x533ccb
push dword [esp + 0x1c]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
push dword [esp + 0x28]
call sub.KERNEL32.dll_CloseHandle
cmp dword [esp + 0x324], 0
jne 0x53169e
jmp 0x5316b2
cmp dword [esp + 0x38], 0
je 0x533cff
push dword [esp + 0xc]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
cmp byte [esp + 0x24], 0
jne 0x533d37
lea ecx, [esp + 0xb8]
lea edx, [esp + 0x18]
call fcn.00551040
movzx eax, byte [esp + 0xb8]
mov esi, dword [esp + 0xbc]
cmp eax, 4
ja 0x533dcf
cmp eax, 3
je 0x533dcf
cmp dword [esp + 0x18], 0
je 0x533d4f
push dword [esp + 0x1c]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
push dword [esp + 0x28]
call sub.KERNEL32.dll_CloseHandle
cmp dword [esp + 0x324], 0
je 0x533d76
push dword [esp + 0x328]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x2f4], 0
je 0x5316d0
jmp 0x5316bc
mov edi, dword [esi]
mov ebx, dword [esi + 4]
push edi
call dword [ebx]
add esp, 4
cmp dword [ebx + 4], 0
je 0x533db1
cmp dword [ebx + 8], 9
jb 0x533da3
mov edi, dword [edi - 4]
push edi
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
push esi
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x18], 0
jne 0x533cba
jmp 0x533ccb
mov edi, dword [esi]
mov ebx, dword [esi + 4]
push edi
call dword [ebx]
add esp, 4
cmp dword [ebx + 4], 0
je 0x533df7
cmp dword [ebx + 8], 9
jb 0x533de9
mov edi, dword [edi - 4]
push edi
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
push esi
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x18], 0
jne 0x533d3e
jmp 0x533d4f
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display_
mov edx, 0x19
push 0x57f6e4
call fcn.0046b100
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display_
mov edx, 0x19
push 0x57f6e4
call fcn.0046b100
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display_
mov edx, 0x19
push 0x57f6e4
call fcn.0046b100
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display_
mov edx, 0x19
push 0x57f6e4
call fcn.0046b100
mov ecx, 0x57a784
mov edx, 0x57a80c
call fcn.004775c0
mov ecx, str.called__Option::unwrap____on_a__None__value_home_rafalh_.cargo_registry_src_index.crates.io_6f17d22bba15001f_serde_json_1.0.81_src_read.rs
mov edx, 0x2b
push 0x57a628
call fcn.0046b100
mov ecx, str.called__Option::unwrap____on_a__None__value_home_rafalh_.cargo_registry_src_index.crates.io_6f17d22bba15001f_serde_json_1.0.81_src_read.rs
mov edx, 0x2b
push 0x57a648
call fcn.0046b100
mov ecx, 0x57a784
mov edx, 0x57a80c
call fcn.004775c0
mov ecx, str.called__Option::unwrap____on_a__None__value_home_rafalh_.cargo_registry_src_index.crates.io_6f17d22bba15001f_serde_json_1.0.81_src_read.rs
mov edx, 0x2b
push 0x57a628
call fcn.0046b100
mov ecx, str.called__Option::unwrap____on_a__None__value_home_rafalh_.cargo_registry_src_index.crates.io_6f17d22bba15001f_serde_json_1.0.81_src_read.rs
mov edx, 0x2b
push 0x57a648
call fcn.0046b100
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display_
mov edx, 0x19
push 0x57f6e4
call fcn.0046b100
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display_
mov edx, 0x19
push 0x57f6e4
call fcn.0046b100
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display_
mov edx, 0x19
push 0x57f6e4
call fcn.0046b100
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display_
mov edx, 0x19
push 0x57f6e4
call fcn.0046b100
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display_
mov edx, 0x19
push 0x57f6e4
call fcn.0046b100
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display_
mov edx, 0x19
push 0x57f6e4
call fcn.0046b100
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display_
mov edx, 0x19
push 0x57f6e4
call fcn.0046b100
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display_
mov edx, 0x19
push 0x57f6e4
call fcn.0046b100
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display_
mov edx, 0x19
push 0x57f6e4
call fcn.0046b100
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display_
mov edx, 0x19
push 0x57f6e4
call fcn.0046b100
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display_
mov edx, 0x19
push 0x57f6e4
call fcn.0046b100
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display_
mov edx, 0x19
push 0x57f6e4
call fcn.0046b100
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display_
mov edx, 0x19
push 0x57f6e4
call fcn.0046b100
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display_
mov edx, 0x19
push 0x57f6e4
call fcn.0046b100
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display_
mov edx, 0x19
push 0x57f6e4
call fcn.0046b100
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display_
mov edx, 0x19
push 0x57f6e4
call fcn.0046b100
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display_
mov edx, 0x19
push 0x57f6e4
call fcn.0046b100
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display_
mov edx, 0x19
push 0x57f6e4
call fcn.0046b100
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display_
mov edx, 0x19
push 0x57f6e4
call fcn.0046b100
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display_
mov edx, 0x19
push 0x57f6e4
call fcn.0046b100
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display_
mov edx, 0x19
push 0x57f6e4
call fcn.0046b100
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display_
mov edx, 0x19
push 0x57f6e4
call fcn.0046b100
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display_
mov edx, 0x19
push 0x57f6e4
call fcn.0046b100
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display_
mov edx, 0x19
push 0x57f6e4
call fcn.0046b100
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display_
mov edx, 0x19
push 0x57f6e4
call fcn.0046b100
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display_
mov edx, 0x19
push 0x57f6e4
call fcn.0046b100
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display_
mov edx, 0x19
push 0x57f6e4
call fcn.0046b100
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display_
mov edx, 0x19
push 0x57f6e4
call fcn.0046b100
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display_
mov edx, 0x19
push 0x57f6e4
call fcn.0046b100
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display_
mov edx, 0x19
push 0x57f6e4
call fcn.0046b100
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display_
mov edx, 0x19
push 0x57f6e4
call fcn.0046b100
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display_
mov edx, 0x19
push 0x57f6e4
call fcn.0046b100
movd xmm0, dword [esp + 0x149]
movzx eax, al
pinsrw xmm0, word [esp + 0x14d], 2
movdqa xmmword [esp + 0x340], xmm0
mov esi, dword [esp + 0x340]
movzx ecx, byte [esp + 0x342]
movzx edx, byte [esp + 0x341]
shl esi, 8
shl ecx, 8
or esi, eax
or ecx, edx
movzx eax, byte [esp + 0x343]
movd xmm0, esi
pinsrw xmm0, ecx, 1
mov ecx, dword [esp + 0x344]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x345]
jmp 0x5323f8
movd xmm0, dword [esp + 0x149]
pinsrw xmm0, word [esp + 0x14d], 2
movdqa xmmword [esp + 0x400], xmm0
movzx ecx, byte [esp + 0x14f]
mov byte [esp + 8], cl
movzx ecx, byte [esp + 0x405]
mov byte [esp + 0x14], cl
mov ah, byte [esp + 0x404]
mov ch, byte [esp + 0x403]
mov dh, byte [esp + 0x402]
mov cl, byte [esp + 0x400]
mov dl, byte [esp + 0x401]
jmp 0x533b22
movd xmm0, dword [esp + 0x149]
pinsrw xmm0, word [esp + 0x14d], 2
movdqa xmmword [esp + 0x3f0], xmm0
movzx ecx, byte [esp + 0x14f]
mov byte [esp + 8], cl
movzx ecx, byte [esp + 0x3f5]
mov byte [esp + 0x14], cl
mov ah, byte [esp + 0x3f4]
mov ch, byte [esp + 0x3f3]
mov dh, byte [esp + 0x3f2]
mov cl, byte [esp + 0x3f0]
mov dl, byte [esp + 0x3f1]
jmp 0x533b22
mov ecx, str.called__Option::unwrap____on_a__None__value_home_rafalh_.cargo_registry_src_index.crates.io_6f17d22bba15001f_serde_json_1.0.81_src_read.rs
mov edx, 0x2b
push 0x57a324
call fcn.0046b100
mov ecx, str.called__Option::unwrap____on_a__None__value_home_rafalh_.cargo_registry_src_index.crates.io_6f17d22bba15001f_serde_json_1.0.81_src_read.rs
mov edx, 0x2b
push 0x57a658
call fcn.0046b100
mov ecx, 0x57a784
mov edx, 0x57a80c
call fcn.004775c0
mov ecx, str.called__Option::unwrap____on_a__None__value_home_rafalh_.cargo_registry_src_index.crates.io_6f17d22bba15001f_serde_json_1.0.81_src_read.rs
mov edx, 0x2b
push 0x57a628
call fcn.0046b100
mov ecx, ebx
mov edx, ebx
push 0x5814f8
call fcn.004699c0
mov eax, 0x56fc6c
xor esi, esi
mov edx, dword [esp + 0xa0]
mov ecx, dword [esp + 8]
push eax
push dword [esp + 0x44]
push esi
call fcn.0046fc30
add esp, 0xc
ud2
mov ecx, str.called__Option::unwrap____on_a__None__value_home_rafalh_.cargo_registry_src_index.crates.io_6f17d22bba15001f_serde_json_1.0.81_src_read.rs
mov edx, 0x2b
push 0x57a324
call fcn.0046b100
mov ecx, 1
mov edx, edi
call fcn.00429f60
call fcn.00429f20
mov ecx, dword [esp + 0xa0]
mov esi, edi
mov eax, 0x56fc7c
mov dword [esp + 0x40], ecx
jmp 0x534465
mov ecx, 4
mov edx, edi
call fcn.00429f60
mov ecx, 4
mov edx, edi
call fcn.00429f60
mov ecx, 0x5811c4
mov edx, 0x28
push 0x580a7c
call fcn.0046b100
mov ecx, 0x5811c4
mov edx, 0x28
push 0x580a6c
call fcn.0046b100
mov ecx, 1
mov edx, 0x2000
call fcn.00429f60
mov ecx, 2
mov edx, edi
call fcn.00429f60
mov ecx, 2
mov edx, ebx
call fcn.00429f60
mov ecx, 4
mov edx, ebx
call fcn.00429f60
mov ecx, 4
mov edx, ebx
call fcn.00429f60
call fcn.00429f20
call fcn.00429f20
call fcn.00429f20
call fcn.00429f20
call fcn.00429f20
call fcn.00429f20
call fcn.00429f20
call fcn.00429f20
call fcn.00429f20
call fcn.00429f20
call fcn.00429f20
call fcn.00429f20
mov ecx, 4
mov edx, esi
call fcn.00429f60
call fcn.00429f20
call fcn.00429f20
mov ecx, 0x57a784
mov edx, 0x57a80c
call fcn.004775c0
mov ecx, 2
mov edx, edi
call fcn.00429f60
mov ecx, 4
mov edx, edi
call fcn.00429f60
call fcn.00429f20
call fcn.00429f20
call fcn.00429f20
call fcn.00429f20
call fcn.00429f20
mov edx, ebx
push 0x57f5a8
call fcn.0046e9f0
mov ecx, ebx
push 0x57f5a8
call fcn.0046a750
mov ecx, 0x57a784
mov edx, 0x57a80c
call fcn.004775c0
mov edx, eax
push 0x57f5c8
call fcn.0046e9f0
mov ecx, eax
push 0x57f5c8
call fcn.0046a750
mov edx, eax
push 0x57f598
call fcn.0046e9f0
mov ecx, eax
push 0x57f598
call fcn.0046a750
mov edx, ebx
push 0x57f5b8
call fcn.0046e9f0
mov ecx, ebx
push 0x57f5b8
call fcn.0046a750
mov ecx, 0x5811c4
mov edx, 0x28
push 0x57a098
call fcn.0046b100
mov ecx, 0x5811c4
mov edx, 0x28
push 0x57a098
call fcn.0046b100
call fcn.00429f20
call fcn.00429f20
cmp dword [esp + 0xb8], 0
mov esi, eax
jne 0x5346bf
jmp 0x5346d3
push dword [esp + 0xbc]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
push esi
call fcn.005638c0
nop dword [eax]
mov ecx, 0xcd000019
daa
add byte [eax], al
sbb al, 0x27
add byte [eax], al
insb byte es:[edi], dx
daa
add byte [eax], al
iretd