Function at 0x660ce030
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x24c
call fcn.660e5850
mov dword [ebp - 0x1e0], 0
mov dword [ebp - 0x234], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1dc], 0
mov dword [ebp - 0x1d8], 0
mov eax, dword [eax + 8]
mov dword [ebp - 0x1fc], eax
test eax, eax
jne 0x660ce343
jmp 0x660ce74e
cmp ebx, 1
jne 0x660ce408
movzx eax, byte [esi]
mov byte [ebp - 0x1cc], al
lea eax, [ebp - 0x1cc]
mov dword [ebp - 0x1d0], ebx
mov byte [eax + ebx], 0
mov eax, 0x3fffffff
sub eax, dword [ebp - 0x1d0]
cmp eax, 3
jbe 0x660d10bd
mov dword [esp + 4], 4
lea ecx, [ebp - 0x1d4]
mov dword [esp], str..png
call fcn.661b0180
mov eax, dword [ebp + 0x14]
sub esp, 8
lea edi, [ebp - 0x180]
mov dword [ebp - 0x188], edi
mov esi, dword [eax]
mov ebx, dword [eax + 4]
mov eax, esi
add eax, ebx
je 0x660ce0f5
test esi, esi
je 0x660d10b1
mov dword [ebp - 0x148], ebx
cmp ebx, 0xf
ja 0x660ce5d0
cmp ebx, 1
jne 0x660ce3f5
movzx eax, byte [esi]
mov byte [ebp - 0x180], al
mov eax, edi
mov dword [ebp - 0x184], ebx
mov byte [eax + ebx], 0
cmp dword [ebp - 0x184], 0x3fffffff
je 0x660d10f0
mov dword [esp + 4], 1
lea esi, [ebp - 0x188]
mov dword [esp], 0x661e0067
mov ecx, esi
mov dword [ebp - 0x204], esi
call fcn.661b0180
mov eax, dword [ebp - 0x1d0]
sub esp, 8
mov ecx, esi
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1d4]
mov dword [esp], eax
call fcn.661b0180
lea esi, [ebp - 0x140]
lea edx, [eax + 8]
sub esp, 8
mov dword [ebp - 0x148], esi
mov ecx, dword [eax]
mov dword [ebp - 0x200], esi
cmp ecx, edx
je 0x660ce622
mov dword [ebp - 0x148], ecx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x140], ecx
mov ecx, dword [eax + 4]
lea esi, [ebp - 0x148]
mov dword [ebp - 0x214], esi
mov dword [ebp - 0x144], ecx
mov dword [eax], edx
mov dword [eax + 4], 0
mov byte [eax + 8], 0
lea eax, [ebp - 0x1a4]
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.660d80a0
mov eax, dword [ebp - 0x148]
cmp eax, dword [ebp - 0x200]
je 0x660ce1f9
mov esi, dword [ebp - 0x140]
mov dword [esp], eax
lea edx, [esi + 1]
mov dword [esp + 4], edx
call fcn.661cddb0
mov eax, dword [ebp - 0x188]
cmp eax, edi
je 0x660ce218
mov esi, dword [ebp - 0x180]
mov dword [esp], eax
lea edx, [esi + 1]
mov dword [esp + 4], edx
call fcn.661cddb0
cmp byte [ebp - 0x18c], 0
je 0x660ce420
mov eax, dword [ebp - 0x1a4]
mov dword [esp + 4], 0x661e01f3
mov dword [esp], eax
call sub.msvcrt.dll_fopen
mov ebx, eax
test eax, eax
je 0x660ce2d3
mov esi, dword [ebp - 0x204]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x21
mov dword [esp + 4], 1
mov dword [esp], esi
call sub.msvcrt.dll_fread
mov dword [esp], ebx
call sub.msvcrt.dll_fclose
mov edi, dword [ebp - 0x214]
xor eax, eax
mov ecx, 0x4c
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x148]
mov dword [esp + 0x10], 0x21
mov dword [esp + 8], eax
lea eax, [ebp - 0x1e8]
mov dword [esp + 4], eax
lea eax, [ebp - 0x1ec]
mov dword [esp + 0xc], esi
mov dword [esp], eax
mov dword [ebp - method.okFile.virtual_0], vtable.okFile.0
call fcn.660f5450
test eax, eax
je 0x660ce64b
mov dword [esp + 4], str.couldnt_inspect_png
mov dword [esp], 0x661e005d
call dword [0x661dc034]
cmp byte [ebp - 0x18c], 0
je 0x660ce308
mov eax, dword [ebp - 0x1a4]
lea edx, [ebp - 0x19c]
mov byte [ebp - 0x18c], 0
cmp eax, edx
je 0x660ce308
mov esi, dword [ebp - 0x19c]
mov dword [esp], eax
lea edx, [esi + 1]
mov dword [esp + 4], edx
call fcn.661cddb0
mov eax, dword [ebp - 0x1d4]
lea edi, [ebp - 0x1cc]
cmp eax, edi
je 0x660ce32d
mov esi, dword [ebp - 0x1cc]
mov dword [esp], eax
lea edx, [esi + 1]
mov dword [esp + 4], edx
call fcn.661cddb0
mov eax, dword [ebp - 0x1fc]
mov eax, dword [eax]
mov dword [ebp - 0x1fc], eax
test eax, eax
je 0x660ce74e
cmp byte [0x66238040], 0
je 0x660ce36e
mov eax, dword [ebp - 0x1fc]
mov eax, dword [eax + 4]
mov dword [esp + 4], str.New_image:__s
mov dword [esp], 0x661e005d
mov dword [esp + 8], eax
call dword [0x661dc02c]
lea eax, [ebp - 0x1cc]
mov dword [ebp - 0x1d4], eax
mov eax, dword [ebp - 0x1fc]
mov esi, dword [eax + 4]
mov ebx, dword [eax + 8]
mov eax, esi
add eax, ebx
je 0x660ce394
test esi, esi
je 0x660d10c9
mov dword [ebp - 0x148], ebx
cmp ebx, 0xf
jbe 0x660ce080
lea eax, [ebp - 0x148]
mov dword [esp + 4], 0
lea ecx, [ebp - 0x1d4]
mov dword [esp], eax
call fcn.661b02e0
mov edx, dword [ebp - 0x148]
mov dword [ebp - 0x1d4], eax
sub esp, 8
mov dword [ebp - 0x1cc], edx
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov ebx, dword [ebp - 0x148]
mov eax, dword [ebp - 0x1d4]
jmp 0x660ce098
mov eax, edi
test ebx, ebx
je 0x660ce118
jmp 0x660ce601
lea eax, [ebp - 0x1cc]
test ebx, ebx
je 0x660ce098
jmp 0x660ce3d4
lea eax, [ebp - 0x1b4]
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x1bc], eax
mov eax, dword [ebp + 0x14]
mov esi, dword [eax]
mov ebx, dword [eax + 4]
mov eax, esi
add eax, ebx
je 0x660ce448
test esi, esi
je 0x660d10e1
mov dword [ebp - 0x148], ebx
cmp ebx, 0xf
ja 0x660ce810
cmp ebx, 1
jne 0x660ce7f9
movzx eax, byte [esi]
mov byte [ebp - 0x1b4], al
mov eax, dword [ebp - 0x208]
mov dword [ebp - 0x1b8], ebx
mov byte [eax + ebx], 0
mov eax, 0x3fffffff
sub eax, dword [ebp - 0x1b8]
cmp eax, 4
jbe 0x660d10d5
mov dword [esp + 4], 5
lea ecx, [ebp - 0x1bc]
mov dword [esp], str._tex_
call fcn.661b0180
mov eax, dword [ebp - 0x1d0]
sub esp, 8
lea ecx, [ebp - 0x1bc]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1d4]
mov dword [esp], eax
call fcn.661b0180
mov dword [ebp - 0x188], edi
mov ecx, dword [eax]
lea edx, [eax + 8]
sub esp, 8
cmp ecx, edx
je 0x660ce94c
mov dword [ebp - 0x188], ecx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x180], ecx
mov ecx, dword [eax + 4]
mov dword [ebp - 0x184], ecx
mov dword [eax], edx
mov dword [eax + 4], 0
mov byte [eax + 8], 0
mov eax, dword [ebp - 0x204]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x214]
mov dword [esp], eax
call fcn.660d80a0
cmp byte [ebp - 0x18c], 0
movzx edx, byte [ebp - 0x130]
je 0x660ce6b3
mov eax, dword [ebp - 0x1a4]
test dl, dl
jne 0x660d0cfb
lea edx, [ebp - 0x19c]
mov byte [ebp - 0x18c], 0
cmp eax, edx
je 0x660ce572
mov esi, dword [ebp - 0x19c]
mov dword [esp], eax
lea edx, [esi + 1]
mov dword [esp + 4], edx
call fcn.661cddb0
movzx eax, byte [ebp - 0x130]
test al, al
jne 0x660ce71b
mov eax, dword [ebp - 0x188]
cmp eax, edi
je 0x660ce591
mov esi, dword [ebp - 0x180]
mov dword [esp], eax
lea edx, [esi + 1]
mov dword [esp + 4], edx
call fcn.661cddb0
mov eax, dword [ebp - 0x1bc]
cmp eax, dword [ebp - 0x208]
je 0x660ce5b4
mov esi, dword [ebp - 0x1b4]
mov dword [esp], eax
lea edx, [esi + 1]
mov dword [esp + 4], edx
call fcn.661cddb0
cmp byte [ebp - 0x18c], 0
je 0x660ce308
jmp 0x660ce225
lea eax, [ebp - 0x148]
mov dword [esp + 4], 0
lea ecx, [ebp - 0x188]
mov dword [esp], eax
call fcn.661b02e0
mov edx, dword [ebp - 0x148]
mov dword [ebp - 0x188], eax
sub esp, 8
mov dword [ebp - 0x180], edx
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov ebx, dword [ebp - 0x148]
mov eax, dword [ebp - 0x188]
jmp 0x660ce118
mov ecx, dword [eax + 8]
mov dword [ebp - 0x140], ecx
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x13c], ecx
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x138], ecx
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x134], ecx
jmp 0x660ce1a2
mov dword [esp], 0x28
call fcn.661cddf0
mov ebx, eax
mov eax, dword [ebp - 0x1e8]
mov esi, dword [ebp - 0x1fc]
mov dword [ebp - 0x200], eax
mov eax, dword [ebp - 0x1ec]
mov dword [ebp - 0x204], eax
lea eax, [ebx + 8]
mov dword [ebx], eax
mov edi, dword [esi + 4]
mov esi, dword [esi + 8]
mov edx, edi
add edx, esi
je 0x660ce690
test edi, edi
je 0x660d10fc
mov dword [ebp - 0x1bc], esi
cmp esi, 0xf
ja 0x660ce909
cmp esi, 1
jne 0x660ce862
movzx edx, byte [edi]
mov byte [ebx + 8], dl
jmp 0x660ce86a
test dl, dl
je 0x660ce572
lea eax, [ebp - 0x19c]
mov dword [ebp - 0x1a4], eax
mov eax, dword [ebp - 0x148]
cmp eax, dword [ebp - 0x200]
je 0x660d0e89
mov dword [ebp - 0x1a4], eax
mov eax, dword [ebp - 0x140]
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x144]
mov byte [ebp - 0x140], 0
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x1a0], eax
mov eax, dword [ebp - 0x200]
mov byte [ebp - 0x18c], 1
mov dword [ebp - 0x148], eax
mov byte [ebp - 0x130], 0
mov eax, dword [ebp - 0x148]
cmp eax, dword [ebp - 0x200]
je 0x660ce572
mov esi, dword [ebp - 0x140]
mov dword [esp], eax
lea edx, [esi + 1]
mov dword [esp + 4], edx
call fcn.661cddb0
jmp 0x660ce572
call fcn.660e5850
mov dword [ebp - 0x1d4], 0
mov ebx, eax
lea eax, [ebp - 0x1d4]
mov dword [esp + 4], eax
lea eax, [ebp - 0x1e0]
mov dword [esp], eax
mov dword [ebp - 0x1d0], 0
mov dword [ebp - 0x1cc], 0
call fcn.660e4ab0
mov byte [ebp - 0x22d], al
test al, al
jne 0x660ce975
mov dword [esp + 4], str.Couldnt_pack_textures_:_
mov dword [esp], 0x661e005d
call dword [0x661dc034]
mov eax, dword [ebp - 0x1d4]
test eax, eax
je 0x660ce7cc
mov edx, dword [ebp - 0x1cc]
mov dword [esp], eax
sub edx, eax
mov dword [esp + 4], edx
call fcn.661cddb0
mov eax, dword [ebp - 0x1e0]
test eax, eax
je 0x660ce7ea
mov edx, dword [ebp - 0x1d8]
mov dword [esp], eax
sub edx, eax
mov dword [esp + 4], edx
call fcn.661cddb0
movzx eax, byte [ebp - 0x22d]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebp - 0x208]
test ebx, ebx
je 0x660ce46f
jmp 0x660ce841
mov eax, dword [ebp - 0x214]
mov dword [esp + 4], 0
lea ecx, [ebp - 0x1bc]
mov dword [esp], eax
call fcn.661b02e0
mov edx, dword [ebp - 0x148]
mov dword [ebp - 0x1bc], eax
sub esp, 8
mov dword [ebp - 0x1b4], edx
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov ebx, dword [ebp - 0x148]
mov eax, dword [ebp - 0x1bc]
jmp 0x660ce46f
test esi, esi
jne 0x660ce92f
mov dword [ebx + 4], esi
mov byte [eax + esi], 0
mov eax, dword [ebp - 0x204]
mov dword [ebp - 0x1bc], ebx
mov dword [ebx + 0x18], eax
mov eax, dword [ebp - 0x200]
mov dword [ebx + 0x1c], eax
mov eax, dword [ebp - 0x1dc]
cmp eax, dword [ebp - 0x1d8]
je 0x660d0d73
mov dword [eax], ebx
add eax, 4
mov dword [ebp - 0x1dc], eax
cmp byte [ebp - 0x18c], 0
je 0x660ce8db
mov eax, dword [ebp - 0x1a4]
lea edx, [ebp - 0x19c]
mov byte [ebp - 0x18c], 0
cmp eax, edx
je 0x660ce8db
mov edi, dword [ebp - 0x19c]
mov dword [esp], eax
lea edx, [edi + 1]
mov dword [esp + 4], edx
call fcn.661cddb0
mov eax, dword [ebp - 0x1d4]
lea esi, [ebp - 0x1cc]
cmp eax, esi
je 0x660ce32d
mov edi, dword [ebp - 0x1cc]
mov dword [esp], eax
lea edx, [edi + 1]
mov dword [esp + 4], edx
call fcn.661cddb0
jmp 0x660ce32d
lea eax, [ebp - 0x1bc]
mov dword [esp + 4], 0
mov ecx, ebx
mov dword [esp], eax
call fcn.661b02e0
mov edx, dword [ebp - 0x1bc]
mov dword [ebx], eax
sub esp, 8
mov dword [ebx + 8], edx
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov esi, dword [ebp - 0x1bc]
mov eax, dword [ebx]
jmp 0x660ce86a
mov ecx, dword [eax + 8]
mov dword [ebp - 0x180], ecx
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x17c], ecx
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x178], ecx
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x174], ecx
jmp 0x660ce4ed
mov esi, dword [0x661dc02c]
call fcn.660e5850
sub eax, ebx
mov dword [esp + 4], str.Texture_packing__d_ms
mov dword [esp + 8], eax
mov dword [esp], 0x661e005d
call esi
mov eax, dword [ebp + 0xc]
lea esi, [esi]
mov esi, eax
mov eax, dword [eax + 0x10]
test eax, eax
jne 0x660ce9a0
mov ecx, dword [esi + 0x14]
mov edx, dword [ebp - 0x1d4]
mov dword [ebp - 0x228], 0
test ecx, ecx
cmove eax, esi
mov dword [ebp - 0x1fc], eax
lea eax, [ebp - 0x1e8]
mov dword [ebp - 0x22c], eax
cmp dword [ebp - 0x1d0], edx
je 0x660cfd90
nop
mov eax, dword [ebp - 0x228]
mov esi, dword [edx + eax*4]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x22c]
mov dword [esp + 8], str.ctex_03d
mov dword [esp + 4], 8
mov dword [esp], eax
mov dword [ebp - 0x220], esi
call fcn.660cb730
mov edi, dword [ebp - 0x1fc]
mov edx, dword [edi + 0x34]
mov eax, edx
neg eax
and eax, 3
add eax, edx
mov dword [ebp - 0x20c], eax
lea edx, [eax + 0x30]
cmp edx, dword [edi + 0x38]
ja 0x660d0851
mov eax, dword [ebp - 0x20c]
mov esi, dword [ebp - 0x1fc]
mov dword [esi + 0x34], edx
mov dword [eax + 4], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 1
mov dword [eax + 0x18], 0
mov dword [eax + 0x20], 0
mov eax, str.texture
lea esi, [esi]
add eax, 1
cmp byte [eax], 0
jne 0x660cea70
mov edi, dword [ebp - 0x20c]
sub eax, str.texture
mov dword [ebp - 0x1fc], esi
mov dword [edi + 8], eax
mov eax, dword [ebp + 0xc]
mov dword [edi], str.texture
mov edx, dword [eax + 0x18]
test edx, edx
je 0x660d09d8
mov eax, dword [eax + 0x1c]
mov dword [edi + 0x28], eax
mov dword [eax + 0x2c], edi
mov eax, edi
mov edi, dword [ebp + 0xc]
mov dword [edi + 0x1c], eax
mov dword [eax + 0x10], edi
mov edi, dword [ebp - 0x1fc]
mov dword [eax + 0x2c], 0
mov edx, dword [edi + 0x34]
mov eax, edx
neg eax
and eax, 3
add eax, edx
xor edx, edx
lea ecx, [eax + 0x1c]
cmp ecx, dword [edi + 0x38]
ja 0x660d0974
mov esi, dword [ebp - 0x1fc]
mov dword [esi + 0x34], ecx
mov ecx, str.format
mov dword [eax + 0x10], 0
add ecx, 1
cmp byte [ecx], 0
jne 0x660ceaf0
mov dword [eax], str.format
sub ecx, str.format
mov dword [eax + 8], ecx
mov ecx, str.argb8888rev
lea esi, [esi]
add ecx, 1
cmp byte [ecx], 0
jne 0x660ceb10
sub ecx, str.argb8888rev
mov dword [ebp - 0x1fc], esi
mov dword [eax + 4], str.argb8888rev
mov dword [eax + 0xc], ecx
test edx, edx
je 0x660d0a68
mov edi, dword [ebp - 0x20c]
mov ecx, dword [edi + 0x24]
mov dword [eax + 0x14], ecx
mov dword [ecx + 0x18], eax
mov esi, dword [ebp - 0x1fc]
mov dword [edi + 0x24], eax
mov dword [eax + 0x10], edi
mov ecx, dword [esi + 0x34]
mov dword [eax + 0x18], 0
mov eax, ecx
neg eax
and eax, 3
add eax, ecx
lea ecx, [eax + 0x1c]
cmp ecx, dword [esi + 0x38]
ja 0x660d08ac
mov edi, dword [ebp - 0x1fc]
mov dword [edi + 0x34], ecx
mov esi, edi
mov ecx, str.mag_filter
mov dword [eax + 0x10], 0
lea esi, [esi]
nop
add ecx, 1
cmp byte [ecx], 0
jne 0x660ceb90
mov dword [eax], str.mag_filter
sub ecx, str.mag_filter
mov dword [eax + 8], ecx
mov ecx, str.nearest
lea esi, [esi]
add ecx, 1
cmp byte [ecx], 0
jne 0x660cebb0
sub ecx, str.nearest
mov dword [ebp - 0x1fc], esi
mov edi, esi
mov dword [eax + 4], str.nearest
mov dword [eax + 0xc], ecx
test edx, edx
je 0x660d0a51
mov esi, dword [ebp - 0x20c]
mov ecx, dword [esi + 0x24]
mov dword [eax + 0x14], ecx
mov dword [ecx + 0x18], eax
mov ecx, dword [edi + 0x34]
mov dword [esi + 0x24], eax
mov dword [eax + 0x10], esi
mov dword [eax + 0x18], 0
mov eax, ecx
neg eax
and eax, 3
add eax, ecx
lea ecx, [eax + 0x1c]
cmp ecx, dword [edi + 0x38]
ja 0x660d0910
mov esi, dword [ebp - 0x1fc]
mov dword [esi + 0x34], ecx
mov ecx, str.min_filter
mov dword [eax + 0x10], 0
lea esi, [esi]
add ecx, 1
cmp byte [ecx], 0
jne 0x660cec28
mov dword [eax], str.min_filter
sub ecx, str.min_filter
mov dword [eax + 8], ecx
mov ecx, str.nearest
lea esi, [esi]
add ecx, 1
cmp byte [ecx], 0
jne 0x660cec48
sub ecx, str.nearest
mov dword [ebp - 0x1fc], esi
mov dword [eax + 4], str.nearest
mov dword [eax + 0xc], ecx
test edx, edx
je 0x660d0a3a
mov edi, dword [ebp - 0x20c]
mov edx, dword [edi + 0x24]
mov dword [eax + 0x14], edx
mov dword [edx + 0x18], eax
mov dword [edi + 0x24], eax
mov dword [eax + 0x10], edi
mov dword [eax + 0x18], 0
cmp byte [ebp - 0x1e8], 0
je 0x660d0b7a
mov ebx, dword [ebp - 0x22c]
mov eax, dword [ebp - 0x1fc]
lea esi, [esi]
nop
add ebx, 1
cmp byte [ebx], 0
jne 0x660ceca8
mov edx, dword [eax + 0x34]
mov edi, eax
mov dword [ebp - 0x1fc], eax
sub ebx, dword [ebp - 0x22c]
mov edi, dword [edi + 0x38]
mov esi, edx
add ebx, 1
neg esi
mov eax, esi
and eax, 3
lea esi, [edx + eax]
lea edx, [esi + ebx]
cmp edx, edi
ja 0x660d07e5
mov eax, dword [ebp - 0x1fc]
mov dword [eax + 0x34], edx
test ebx, ebx
je 0x660ced84
lea edx, [ebp - 0x1e7]
mov ecx, esi
sub ecx, edx
cmp ecx, 2
seta dl
test esi, 3
sete al
test dl, al
je 0x660d0ba0
lea eax, [ebx - 1]
cmp eax, 3
jbe 0x660d0ba0
mov ecx, ebx
mov edi, dword [ebp - 0x22c]
xor eax, eax
and ecx, 0xfffffffc
lea esi, [esi]
mov edx, dword [edi + eax]
mov dword [esi + eax], edx
add eax, 4
cmp ecx, eax
jne 0x660ced30
mov eax, ebx
and eax, 0xfffffffc
test bl, 3
je 0x660ced78
movzx edx, byte [ebp + eax - 0x1e8]
mov byte [esi + eax], dl
lea edx, [eax + 1]
cmp ebx, edx
jbe 0x660ced78
movzx edx, byte [ebp + eax - 0x1e7]
mov byte [esi + eax + 1], dl
lea edx, [eax + 2]
cmp ebx, edx
jbe 0x660ced78
movzx edx, byte [ebp + eax - 0x1e6]
mov byte [esi + eax + 2], dl
mov eax, dword [ebp - 0x1fc]
mov edx, dword [eax + 0x34]
mov edi, dword [eax + 0x38]
mov eax, edx
neg eax
and eax, 3
add eax, edx
lea ecx, [eax + 0x1c]
cmp ecx, edi
ja 0x660d070f
mov edi, dword [ebp - 0x1fc]
mov edx, str.name
mov dword [edi + 0x34], ecx
mov dword [eax + 4], 0
mov dword [eax + 0x10], 0
lea esi, [esi]
add edx, 1
cmp byte [edx], 0
jne 0x660cedb8
sub edx, str.name
mov dword [ebp - 0x1fc], edi
mov dword [eax], str.name
mov dword [eax + 8], edx
test esi, esi
je 0x660cedfe
cmp byte [esi], 0
je 0x660d0d6c
mov edx, esi
lea esi, [esi]
add edx, 1
cmp byte [edx], 0
jne 0x660cede8
mov dword [ebp - 0x1fc], edi
sub edx, esi
mov dword [eax + 4], esi
mov dword [eax + 0xc], edx
mov esi, dword [ebp - 0x20c]
mov edx, dword [esi + 0x20]
test edx, edx
je 0x660d09fb
mov ecx, dword [esi + 0x24]
mov dword [eax + 0x14], ecx
mov dword [ecx + 0x18], eax
mov dword [esi + 0x24], eax
mov dword [eax + 0x10], esi
mov esi, dword [ebp - 0x1fc]
mov dword [eax + 0x18], 0
mov ecx, dword [esi + 0x34]
mov eax, ecx
neg eax
and eax, 3
add eax, ecx
lea ecx, [eax + 0x1c]
cmp ecx, dword [esi + 0x38]
ja 0x660d077c
mov edi, dword [ebp - 0x1fc]
mov dword [edi + 0x34], ecx
mov esi, edi
mov ecx, str.wrap_s
mov dword [eax + 0x10], 0
lea esi, [esi]
add ecx, 1
cmp byte [ecx], 0
jne 0x660cee60
mov dword [eax], str.wrap_s
sub ecx, str.wrap_s
mov dword [eax + 8], ecx
mov ecx, str.clamp
lea esi, [esi]
add ecx, 1
cmp byte [ecx], 0
jne 0x660cee80
sub ecx, str.clamp
mov dword [ebp - 0x1fc], esi
mov dword [eax + 4], str.clamp
mov dword [eax + 0xc], ecx
test edx, edx
je 0x660d0a23
mov edi, dword [ebp - 0x20c]
mov ecx, dword [edi + 0x24]
mov esi, edi
mov dword [eax + 0x14], ecx
mov dword [ecx + 0x18], eax
mov edi, dword [ebp - 0x1fc]
mov dword [esi + 0x24], eax
mov dword [eax + 0x10], esi
mov ecx, dword [edi + 0x34]
mov dword [eax + 0x18], 0
mov eax, ecx
neg eax
and eax, 3
add eax, ecx
lea ecx, [eax + 0x1c]
cmp ecx, dword [edi + 0x38]
ja 0x660d06ab
mov esi, dword [ebp - 0x1fc]
mov dword [esi + 0x34], ecx
mov ecx, str.wrap_t
mov dword [eax + 0x10], 0
lea esi, [esi]
nop
add ecx, 1
cmp byte [ecx], 0
jne 0x660cef00
mov dword [eax], str.wrap_t
sub ecx, str.wrap_t
mov dword [eax + 8], ecx
mov ecx, str.clamp
lea esi, [esi]
add ecx, 1
cmp byte [ecx], 0
jne 0x660cef20
sub ecx, str.clamp
mov dword [ebp - 0x1fc], esi
mov dword [eax + 4], str.clamp
mov dword [eax + 0xc], ecx
test edx, edx
je 0x660d0a0c
mov esi, dword [ebp - 0x20c]
mov edx, dword [esi + 0x24]
mov edi, esi
mov dword [eax + 0x14], edx
mov dword [edx + 0x18], eax
mov esi, dword [ebp - 0x220]
mov dword [edi + 0x24], eax
lea ebx, [ebp - 0x188]
mov dword [eax + 0x10], edi
mov dword [eax + 0x18], 0
movzx eax, word [esi + 4]
mov dword [ebp - 0x204], ebx
mov dword [esp + 0x10], eax
movzx eax, word [esi]
mov dword [esp + 8], str._u__u
mov dword [esp + 0xc], eax
mov dword [esp + 4], 0x40
mov dword [esp], ebx
call fcn.660cb780
cmp byte [ebp - 0x188], 0
je 0x660d0ac9
mov eax, dword [ebp - 0x1fc]
add ebx, 1
cmp byte [ebx], 0
jne 0x660cefb0
mov ecx, dword [eax + 0x34]
mov dword [ebp - 0x1fc], eax
mov esi, eax
sub ebx, dword [ebp - 0x204]
mov edx, ecx
add ebx, 1
neg edx
mov eax, edx
and eax, 3
lea edx, [ecx + eax]
lea eax, [edx + ebx]
cmp eax, dword [esi + 0x38]
ja 0x660d0647
mov esi, dword [ebp - 0x1fc]
mov dword [esi + 0x34], eax
test ebx, ebx
je 0x660cf078
lea ecx, [ebp - 0x187]
mov eax, edx
sub eax, ecx
cmp eax, 2
seta cl
test dl, 3
sete al
test cl, al
je 0x660d0aef
lea eax, [ebx - 1]
cmp eax, 3
jbe 0x660d0aef
mov ecx, ebx
mov edi, dword [ebp - 0x204]
xor eax, eax
and ecx, 0xfffffffc
lea esi, [esi]
mov esi, dword [edi + eax]
mov dword [edx + eax], esi
add eax, 4
cmp ecx, eax
jne 0x660cf030
mov eax, ebx
and eax, 0xfffffffc
test bl, 3
je 0x660cf078
movzx ecx, byte [ebp + eax - 0x188]
mov byte [edx + eax], cl
lea ecx, [eax + 1]
cmp ebx, ecx
jbe 0x660cf078
movzx ecx, byte [ebp + eax - 0x187]
mov byte [edx + eax + 1], cl
lea ecx, [eax + 2]
cmp ebx, ecx
jbe 0x660cf078
movzx ecx, byte [ebp + eax - 0x186]
mov byte [edx + eax + 2], cl
mov eax, dword [ebp - 0x1fc]
mov dword [esp + 0x10], str.2u16
mov dword [esp + 0xc], str.__type
mov dword [esp + 8], edx
mov dword [esp + 4], str.size
mov dword [esp], eax
call fcn.660cc630
mov ebx, eax
test eax, eax
je 0x660cf0b3
mov edi, dword [eax + 0x10]
test edi, edi
je 0x660d0a81
mov dword [esp + 8], 0x44b
mov dword [esp + 4], str..._src_3rd_party_rapidxml.hpp
mov dword [esp], str.child___child__parent____child__type_____node_document
call dword [sym.imp.msvcrt.dll__assert]
mov eax, dword [ebp - 0x20c]
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x660d09ec
mov eax, dword [eax + 0x1c]
mov dword [ebx + 0x28], eax
mov dword [eax + 0x2c], ebx
mov eax, dword [ebp - 0x20c]
mov edi, dword [ebp - 0x220]
mov dword [ebp - 0x210], 0
mov dword [eax + 0x1c], ebx
mov dword [ebx + 0x10], eax
mov eax, dword [edi + 8]
mov dword [ebx + 0x2c], 0
cmp dword [edi + 0xc], eax
je 0x660cfd6a
lea esi, [esi]
mov edi, dword [ebp - 0x210]
mov esi, dword [ebp - 0x1fc]
mov eax, dword [eax + edi*4]
mov edx, dword [esi + 0x34]
mov dword [ebp - 0x208], eax
mov eax, edx
neg eax
and eax, 3
add eax, edx
mov dword [ebp - 0x200], eax
lea edx, [eax + 0x30]
cmp edx, dword [esi + 0x38]
ja 0x660d0060
mov eax, dword [ebp - 0x200]
mov esi, dword [ebp - 0x1fc]
mov dword [esi + 0x34], edx
mov dword [eax + 4], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 1
mov dword [eax + 0x18], 0
mov dword [eax + 0x20], 0
mov eax, str.image
lea esi, [esi]
add eax, 1
cmp byte [eax], 0
jne 0x660cf190
mov edi, dword [ebp - 0x200]
sub eax, str.image
mov dword [ebp - 0x1fc], esi
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x20c]
mov dword [edi], str.image
mov edx, dword [eax + 0x18]
test edx, edx
je 0x660d0318
mov eax, dword [eax + 0x1c]
mov dword [edi + 0x28], eax
mov dword [eax + 0x2c], edi
mov eax, edi
mov edi, dword [ebp - 0x20c]
mov dword [edi + 0x1c], eax
mov dword [eax + 0x10], edi
mov dword [eax + 0x2c], 0
mov eax, dword [ebp - 0x208]
mov edi, dword [eax]
test edi, edi
je 0x660d0298
cmp byte [edi], 0
je 0x660d02be
mov eax, dword [ebp - 0x1fc]
mov ebx, edi
lea esi, [esi]
add ebx, 1
cmp byte [ebx], 0
jne 0x660cf208
mov edx, eax
mov dword [ebp - 0x1fc], eax
mov eax, dword [eax + 0x34]
sub ebx, edi
add ebx, 1
mov ecx, dword [edx + 0x38]
mov esi, eax
neg esi
and esi, 3
add esi, eax
lea eax, [esi + ebx]
cmp eax, ecx
ja 0x660d01a0
mov edx, dword [ebp - 0x1fc]
mov dword [edx + 0x34], eax
test ebx, ebx
je 0x660cf2e2
lea edx, [edi + 1]
mov eax, esi
sub eax, edx
cmp eax, 2
lea eax, [ebx - 1]
seta dl
cmp eax, 3
seta al
test dl, al
je 0x660d02e7
mov eax, esi
or eax, edi
test al, 3
jne 0x660d02e7
mov ecx, ebx
mov dword [ebp - 0x214], edi
mov eax, esi
mov edx, edi
mov dword [ebp - 0x218], ebx
and ecx, 0xfffffffc
add ecx, esi
lea esi, [esi]
mov ebx, dword [edx]
add eax, 4
add edx, 4
mov dword [eax - 4], ebx
cmp ecx, eax
jne 0x660cf290
mov ebx, dword [ebp - 0x218]
mov eax, ebx
and eax, 0xfffffffc
test bl, 3
je 0x660cf2d6
movzx edx, byte [edi + eax]
mov byte [esi + eax], dl
lea edx, [eax + 1]
cmp ebx, edx
jbe 0x660cf2d6
movzx edx, byte [edi + eax + 1]
mov byte [esi + eax + 1], dl
lea edx, [eax + 2]
cmp ebx, edx
jbe 0x660cf2d6
movzx edx, byte [edi + eax + 2]
mov byte [esi + eax + 2], dl
mov edi, dword [ebp - 0x1fc]
mov eax, dword [edi + 0x34]
mov ecx, dword [edi + 0x38]
mov edx, eax
neg edx
and edx, 3
add edx, eax
lea edi, [edx + 0x1c]
cmp edi, ecx
ja 0x660d00c0
mov ecx, dword [ebp - 0x1fc]
mov eax, str.name
mov dword [ecx + 0x34], edi
mov edi, ecx
mov dword [edx + 4], 0
mov dword [edx + 0x10], 0
lea esi, [esi]
add eax, 1
cmp byte [eax], 0
jne 0x660cf318
sub eax, str.name
mov dword [ebp - 0x1fc], edi
mov dword [edx], str.name
mov dword [edx + 8], eax
test esi, esi
je 0x660cf35e
cmp byte [esi], 0
je 0x660d0507
mov eax, esi
lea esi, [esi]
nop
add eax, 1
cmp byte [eax], 0
jne 0x660cf348
mov dword [ebp - 0x1fc], edi
sub eax, esi
mov dword [edx + 4], esi
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 0x200]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x660d03b0
mov eax, dword [eax + 0x24]
mov dword [edx + 0x14], eax
mov dword [eax + 0x18], edx
mov edi, dword [ebp - 0x208]
mov eax, dword [ebp - 0x200]
mov ebx, dword [ebp - 0x204]
mov dword [eax + 0x24], edx
mov dword [edx + 0x10], eax
mov eax, dword [edi + 0x20]
mov dword [edx + 0x18], 0
lea esi, [eax + eax]
add eax, dword [edi + 0x18]
lea edx, [eax + eax]
mov eax, dword [edi + 0x24]
mov word [ebp - 0x214], si
mov word [ebp - 0x218], dx
lea ecx, [eax + eax]
add eax, dword [edi + 0x1c]
mov dword [esp + 8], str._u__u__u__u
add eax, eax
mov dword [esp + 4], 0x40
mov word [ebp - 0x21c], ax
movzx eax, ax
mov dword [esp + 0x18], eax
movzx eax, cx
mov dword [esp + 0x14], eax
movzx eax, dx
mov dword [esp + 0x10], eax
movzx eax, si
mov dword [esp + 0xc], eax
mov dword [esp], ebx
mov word [ebp - 0x21a], cx
call fcn.660cb780
cmp byte [ebp - 0x188], 0
je 0x660d0470
mov eax, dword [ebp - 0x1fc]
lea esi, [esi]
add ebx, 1
cmp byte [ebx], 0
jne 0x660cf418
mov edi, eax
mov dword [ebp - 0x1fc], eax
mov eax, dword [eax + 0x34]
sub ebx, dword [ebp - 0x204]
mov edi, dword [edi + 0x38]
mov esi, eax
add ebx, 1
neg esi
and esi, 3
add esi, eax
lea edx, [esi + ebx]
cmp edx, edi
ja 0x660d0228
mov edx, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d0]
add dword [ebp - 0x228], 1
mov edi, dword [ebp - 0x228]
sub eax, edx
sar eax, 2
cmp edi, eax
jb 0x660ce9e0
mov ebx, dword [0x661dc02c]
call fcn.660e5850
sub eax, dword [ebp - 0x234]
mov dword [esp + 4], str.Texture_extend_total_time__d_ms
mov dword [esp + 8], eax
mov dword [esp], 0x661e005d
call ebx
jmp 0x660ce7ae
mov eax, dword [esi + 0x1003c]
mov dword [esp], 0x1000a
test eax, eax
je 0x660d051a
call eax
mov ebx, eax
test eax, eax
je 0x660d0c01
neg eax
lea ecx, [ebx + 0x1000a]
and eax, 3
add eax, ebx
lea esi, [eax + 4]
mov edx, esi
neg edx
and edx, 3
lea edi, [esi + edx]
mov dword [ebp - 0x200], edi
lea edx, [edi + 0x30]
mov edi, dword [ebp - 0x1fc]
mov esi, dword [edi + 0x30]
mov dword [eax], esi
mov dword [edi + 0x30], ebx
mov dword [edi + 0x38], ecx
jmp 0x660cf153
mov eax, dword [ebp - 0x1fc]
mov eax, dword [eax + 0x1003c]
mov dword [esp], 0x1000a
test eax, eax
je 0x660d056a
call eax
mov ebx, eax
test eax, eax
je 0x660d0c62
mov eax, ebx
lea edx, [ebx + 0x1000a]
neg eax
mov dword [ebp - 0x214], edx
and eax, 3
add eax, ebx
lea edi, [eax + 4]
mov edx, edi
neg edx
and edx, 3
add edx, edi
lea edi, [edx + 0x1c]
mov ecx, dword [ebp - 0x1fc]
mov ecx, dword [ecx + 0x30]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x1fc]
mov eax, dword [ebp - 0x214]
mov dword [ecx + 0x30], ebx
mov dword [ecx + 0x38], eax
jmp 0x660cf2f6
mov ebx, 1
cmp ebx, 0x10000
mov eax, 0x10000
cmovae eax, ebx
lea esi, [eax + 0xa]
mov eax, dword [ebp - 0x1fc]
mov dword [ebp - 0x214], esi
mov eax, dword [eax + 0x1003c]
test eax, eax
je 0x660d0576
mov dword [esp], esi
call eax
mov dword [ebp - 0x218], eax
mov esi, eax
test eax, eax
je 0x660d0c9a
neg eax
and eax, 3
add eax, esi
lea edx, [eax + 4]
mov esi, edx
neg esi
and esi, 3
add esi, edx
mov ecx, dword [ebp - 0x1fc]
mov edx, dword [ecx + 0x30]
mov dword [eax], edx
mov edx, dword [ebp - 0x218]
mov eax, ecx
mov dword [ecx + 0x30], edx
mov ecx, dword [ebp - 0x214]
add ecx, edx
mov dword [eax + 0x38], ecx
lea eax, [esi + ebx]
jmp 0x660cf237
mov ebx, 1
lea esi, [esi]
cmp ebx, 0x10000
mov eax, 0x10000
cmovae eax, ebx
lea edi, [eax + 0xa]
mov eax, dword [ebp - 0x1fc]
mov dword [ebp - 0x224], edi
mov eax, dword [eax + 0x1003c]
test eax, eax
je 0x660d05cc
mov dword [esp + 8], 0x1de
mov dword [esp + 4], str..._src_3rd_party_rapidxml.hpp
mov dword [esp], str.source__size
call dword [sym.imp.msvcrt.dll__assert]
cmp byte [edi], 0
jne 0x660cf1fa
mov ecx, dword [ebp - 0x1fc]
mov edx, dword [ecx + 0x34]
mov esi, edx
neg esi
mov eax, esi
and eax, 3
lea esi, [edx + eax]
lea eax, [esi + 1]
cmp dword [ecx + 0x38], eax
jb 0x660d019b
mov dword [ecx + 0x34], eax
mov ebx, 1
mov edx, dword [ebp - 0x1fc]
mov eax, esi
add ebx, edi
mov ecx, edx
lea esi, [esi]
nop
movzx edx, byte [edi]
add edi, 1
add eax, 1
mov byte [eax - 1], dl
cmp edi, ebx
jne 0x660d02f8
mov dword [ebp - 0x1fc], ecx
jmp 0x660cf2d6
mov eax, edi
mov dword [edi + 0x28], 0
mov edi, dword [ebp - 0x20c]
mov dword [edi + 0x18], eax
jmp 0x660cf1ce
mov dword [edx + 0x14], 0
mov dword [eax + 0x20], edx
jmp 0x660cf378
mov edi, dword [ebp - 0x1fc]
mov edx, dword [edi + 0x34]
mov esi, edx
neg esi
mov eax, esi
and eax, 3
lea esi, [edx + eax]
lea eax, [esi + 1]
cmp dword [edi + 0x38], eax
jb 0x660d021c
mov dword [edi + 0x34], eax
mov ebx, 1
mov edi, dword [ebp - 0x1fc]
mov ecx, dword [ebp - 0x204]
xor eax, eax
lea esi, [esi]
nop
movzx edx, byte [ecx + eax]
mov byte [esi + eax], dl
add eax, 1
cmp ebx, eax
jne 0x660d04b0
xor eax, eax
jmp 0x660cf358
call fcn.661cddc0
mov ebx, eax
neg eax
and eax, 3
lea ecx, [ebx + 0x1000a]
add eax, ebx
lea esi, [eax + 4]
mov edx, esi
neg edx
and edx, 3
add esi, edx
mov dword [ebp - 0x200], esi
lea edx, [esi + 0x30]
jmp 0x660d00a4
call fcn.661cddc0
mov ebx, eax
jmp 0x660d00e7
mov dword [esp], esi
call fcn.661cddc0
mov esi, eax
mov dword [ebp - 0x218], eax
neg eax
and eax, 3
add eax, esi
lea ecx, [eax + 4]
mov esi, ecx
neg esi
and esi, 3
add esi, ecx
jmp 0x660d01f3
mov ebx, 1
cmp ebx, 0x10000
mov edi, 0x10000
mov eax, dword [esi + 0x1003c]
cmovae edi, ebx
add edi, 0xa
mov dword [esp], edi
test eax, eax
je 0x660d0d93
call eax
mov esi, eax
test eax, eax
je 0x660d1056
mov eax, esi
neg eax
and eax, 3
add eax, esi
lea ecx, [eax + 4]
mov edx, ecx
neg edx
and edx, 3
add edx, ecx
mov ecx, dword [ebp - 0x1fc]
mov ecx, dword [ecx + 0x30]
mov dword [eax], ecx
mov eax, dword [ebp - 0x1fc]
mov dword [eax + 0x30], esi
add esi, edi
mov dword [eax + 0x38], esi
lea eax, [edx + ebx]
jmp 0x660cefe4
mov eax, dword [edi + 0x1003c]
mov dword [esp], 0x1000a
test eax, eax
je 0x660d0d9f
call eax
mov ebx, eax
test eax, eax
je 0x660d1023
mov edx, ebx
lea esi, [ebx + 0x1000a]
neg edx
and edx, 3
add edx, ebx
lea ecx, [edx + 4]
mov eax, ecx
neg eax
and eax, 3
add eax, ecx
lea ecx, [eax + 0x1c]
mov edi, dword [ebp - 0x1fc]
mov edi, dword [edi + 0x30]
mov dword [edx], edi
mov edi, dword [ebp - 0x1fc]
mov dword [edi + 0x30], ebx
mov dword [edi + 0x38], esi
mov edi, dword [ebp - 0x20c]
mov edx, dword [edi + 0x20]
jmp 0x660ceee2
mov eax, dword [ebp - 0x1fc]
mov eax, dword [eax + 0x1003c]
mov dword [esp], 0x1000a
test eax, eax
je 0x660d0dfe
call eax
mov ebx, eax
test eax, eax
je 0x660d0feb
mov edx, ebx
lea eax, [ebx + 0x1000a]
neg edx
mov dword [ebp - 0x200], eax
and edx, 3
add edx, ebx
lea ecx, [edx + 4]
mov eax, ecx
neg eax
and eax, 3
add eax, ecx
lea ecx, [eax + 0x1c]
mov edi, dword [ebp - 0x1fc]
mov edi, dword [edi + 0x30]
mov dword [edx], edi
mov edi, dword [ebp - 0x1fc]
mov edx, dword [ebp - 0x200]
mov dword [edi + 0x30], ebx
mov dword [edi + 0x38], edx
jmp 0x660ced98
mov eax, dword [esi + 0x1003c]
mov dword [esp], 0x1000a
test eax, eax
je 0x660d0df2
call eax
mov ebx, eax
test eax, eax
je 0x660d0fb8
mov edx, ebx
lea esi, [ebx + 0x1000a]
neg edx
and edx, 3
add edx, ebx
lea ecx, [edx + 4]
mov eax, ecx
neg eax
and eax, 3
add eax, ecx
lea ecx, [eax + 0x1c]
mov edi, dword [ebp - 0x1fc]
mov edi, dword [edi + 0x30]
mov dword [edx], edi
mov edi, dword [ebp - 0x1fc]
mov dword [edi + 0x38], esi
mov esi, dword [ebp - 0x20c]
mov dword [edi + 0x30], ebx
mov edx, dword [esi + 0x20]
jmp 0x660cee43
mov ebx, 1
cmp ebx, 0x10000
mov eax, 0x10000
cmovae eax, ebx
lea esi, [eax + 0xa]
mov eax, dword [ebp - 0x1fc]
mov dword [ebp - 0x200], esi
mov eax, dword [eax + 0x1003c]
test eax, eax
je 0x660d0dab
mov dword [esp], esi
call eax
mov edi, eax
test eax, eax
je 0x660d0f8f
neg eax
and eax, 3
add eax, edi
lea ecx, [eax + 4]
mov esi, ecx
neg esi
and esi, 3
add esi, ecx
mov ecx, dword [ebp - 0x1fc]
mov edx, dword [ecx + 0x30]
mov dword [eax], edx
lea edx, [esi + ebx]
mov dword [ecx + 0x30], edi
add edi, dword [ebp - 0x200]
mov dword [ecx + 0x38], edi
jmp 0x660cecde
mov eax, dword [edi + 0x1003c]
mov dword [esp], 0x1000a
test eax, eax
je 0x660d0dda
call eax
mov ebx, eax
test eax, eax
je 0x660d0f57
mov eax, ebx
lea ecx, [ebx + 0x1000a]
neg eax
and eax, 3
add eax, ebx
lea esi, [eax + 4]
mov edx, esi
neg edx
and edx, 3
add esi, edx
mov dword [ebp - 0x20c], esi
lea edx, [esi + 0x30]
mov edi, dword [ebp - 0x1fc]
mov esi, dword [edi + 0x30]
mov dword [eax], esi
mov dword [edi + 0x30], ebx
mov dword [edi + 0x38], ecx
jmp 0x660cea35
mov eax, dword [esi + 0x1003c]
mov dword [esp], 0x1000a
test eax, eax
je 0x660d0e0a
call eax
mov ebx, eax
test eax, eax
je 0x660d0f24
mov edx, ebx
lea esi, [ebx + 0x1000a]
neg edx
and edx, 3
add edx, ebx
lea ecx, [edx + 4]
mov eax, ecx
neg eax
and eax, 3
add eax, ecx
lea ecx, [eax + 0x1c]
mov edi, dword [ebp - 0x1fc]
mov edi, dword [edi + 0x30]
mov dword [edx], edi
mov edi, dword [ebp - 0x1fc]
mov dword [edi + 0x30], ebx
mov dword [edi + 0x38], esi
mov edi, dword [ebp - 0x20c]
mov edx, dword [edi + 0x20]
jmp 0x660ceb70
mov eax, dword [edi + 0x1003c]
mov dword [esp], 0x1000a
test eax, eax
je 0x660d0de6
call eax
mov ebx, eax
test eax, eax
je 0x660d0ef1
mov edx, ebx
lea esi, [ebx + 0x1000a]
neg edx
and edx, 3
add edx, ebx
lea ecx, [edx + 4]
mov eax, ecx
neg eax
and eax, 3
add eax, ecx
lea ecx, [eax + 0x1c]
mov edi, dword [ebp - 0x1fc]
mov edi, dword [edi + 0x30]
mov dword [edx], edi
mov edi, dword [ebp - 0x1fc]
mov dword [edi + 0x30], ebx
mov dword [edi + 0x38], esi
mov edi, dword [ebp - 0x20c]
mov edx, dword [edi + 0x20]
jmp 0x660cec0c
mov eax, dword [edi + 0x1003c]
mov dword [esp], 0x1000a
test eax, eax
je 0x660d0dce
call eax
mov ebx, eax
test eax, eax
je 0x660d0ebe
mov edx, ebx
lea esi, [ebx + 0x1000a]
neg edx
and edx, 3
add edx, ebx
lea ecx, [edx + 4]
mov eax, ecx
neg eax
and eax, 3
add eax, ecx
lea ecx, [eax + 0x1c]
mov edi, dword [ebp - 0x1fc]
mov edi, dword [edi + 0x30]
mov dword [edx], edi
mov edi, dword [ebp - 0x1fc]
mov dword [edi + 0x38], esi
mov esi, dword [ebp - 0x20c]
mov dword [edi + 0x30], ebx
mov edx, dword [esi + 0x20]
jmp 0x660ceadb
mov esi, dword [ebp + 0xc]
mov dword [edi + 0x28], 0
mov eax, edi
mov dword [esi + 0x18], edi
jmp 0x660ceaab
mov dword [ebx + 0x28], 0
mov dword [eax + 0x18], ebx
jmp 0x660cf0ea
mov dword [eax + 0x14], 0
mov edx, eax
mov dword [esi + 0x20], eax
jmp 0x660cee18
mov esi, dword [ebp - 0x20c]
mov dword [eax + 0x14], 0
mov edi, esi
mov dword [esi + 0x20], eax
jmp 0x660cef57
mov esi, dword [ebp - 0x20c]
mov dword [eax + 0x14], 0
mov edx, eax
mov dword [esi + 0x20], eax
jmp 0x660ceeb7
mov esi, dword [ebp - 0x20c]
mov dword [eax + 0x14], 0
mov edi, esi
mov dword [esi + 0x20], eax
jmp 0x660cec7d
mov esi, dword [ebp - 0x20c]
mov dword [eax + 0x14], 0
mov edx, eax
mov dword [esi + 0x20], eax
jmp 0x660cebe7
mov esi, dword [ebp - 0x20c]
mov dword [eax + 0x14], 0
mov edx, eax
mov dword [esi + 0x20], eax
mov edi, esi
jmp 0x660ceb45
mov esi, dword [eax + 0x14]
test esi, esi
jne 0x660cf0d0
jmp 0x660cf0b3
mov esi, dword [ebp - 0x1fc]
mov edx, dword [esi + 0x34]
mov eax, edx
neg eax
and eax, 3
add edx, eax
lea eax, [edx + 1]
cmp eax, dword [esi + 0x38]
ja 0x660d0642
mov dword [esi + 0x34], eax
mov ebx, 1
mov edi, dword [ebp - 0x1fc]
mov esi, dword [ebp - 0x204]
xor eax, eax
lea esi, [esi]
movzx ecx, byte [esi + eax]
mov byte [edx + eax], cl
add eax, 1
cmp ebx, eax
jne 0x660d0b00
mov dword [ebp - 0x1fc], edi
jmp 0x660cf078
mov edi, dword [ebp - 0x1fc]
mov esi, dword [edi + 0x34]
mov eax, esi
neg eax
and eax, 3
add esi, eax
lea eax, [esi + 1]
cmp eax, dword [edi + 0x38]
ja 0x660d07e0
mov dword [edi + 0x34], eax
mov ebx, 1
mov edi, dword [ebp - 0x1fc]
mov ecx, dword [ebp - 0x22c]
xor eax, eax
nop
movzx edx, byte [ecx + eax]
mov byte [esi + eax], dl
add eax, 1
cmp ebx, eax
jne 0x660d0bb0
mov dword [ebp - 0x1fc], edi
jmp 0x660ced78
mov dword [esp + 8], 0x24a
mov dword [esp + 4], str..._src_3rd_party_rapidxml.hpp
mov dword [esp], str.memory
call dword [sym.imp.msvcrt.dll__assert]
xor eax, eax
mov edx, 0x34
mov ecx, 0x1000a
mov dword [ebp - 0x200], 4
jmp 0x660d00a4
mov dword [esp + 8], 0x24a
mov dword [esp + 4], str..._src_3rd_party_rapidxml.hpp
mov dword [esp], str.memory
call dword [sym.imp.msvcrt.dll__assert]
xor eax, eax
mov edi, 0x20
mov edx, 4
mov dword [ebp - 0x214], 0x1000a
jmp 0x660d010b
mov dword [esp + 8], 0x24a
mov dword [esp + 4], str..._src_3rd_party_rapidxml.hpp
mov dword [esp], str.memory
call dword [sym.imp.msvcrt.dll__assert]
xor eax, eax
mov esi, 4
jmp 0x660d01f3
mov ebx, dword [ebp - 0x148]
mov edx, dword [ebp - 0x144]
cmp ebx, dword [ebp - 0x200]
je 0x660d0e45
lea ecx, [ebp - 0x19c]
mov esi, dword [ebp - 0x140]
cmp eax, ecx
je 0x660d0e16
mov ecx, dword [ebp - 0x19c]
mov dword [ebp - 0x1a4], ebx
mov dword [ebp - 0x1a0], edx
mov dword [ebp - 0x19c], esi
test eax, eax
je 0x660d0e28
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x140], ecx
mov dword [ebp - 0x144], 0
mov byte [eax], 0
movzx eax, byte [ebp - 0x130]
jmp 0x660ce56a
xor edx, edx
jmp 0x660cedf8
lea edx, [ebp - 0x1bc]
mov dword [esp], eax
lea ecx, [ebp - 0x1e0]
mov dword [esp + 4], edx
call fcn.661ac1e0
sub esp, 8
jmp 0x660ce8a6
call fcn.661cddc0
mov esi, eax
jmp 0x660d0675
call fcn.661cddc0
mov ebx, eax
jmp 0x660d06cc
mov dword [esp], esi
call fcn.661cddc0
mov edi, eax
neg eax
and eax, 3
add eax, edi
lea ecx, [eax + 4]
mov edx, ecx
neg edx
and edx, 3
lea esi, [ecx + edx]
jmp 0x660d0832
call fcn.661cddc0
mov ebx, eax
jmp 0x660d0995
call fcn.661cddc0
mov ebx, eax
jmp 0x660d0872
call fcn.661cddc0
mov ebx, eax
jmp 0x660d0931
call fcn.661cddc0
mov ebx, eax
jmp 0x660d079d
call fcn.661cddc0
mov ebx, eax
jmp 0x660d0736
call fcn.661cddc0
mov ebx, eax
jmp 0x660d08cd
mov dword [ebp - 0x1a4], ebx
mov dword [ebp - 0x1a0], edx
mov dword [ebp - 0x19c], esi
mov eax, dword [ebp - 0x200]
mov dword [ebp - 0x148], eax
lea eax, [ebp - 0x140]
mov dword [ebp - 0x200], eax
jmp 0x660d0d53
test edx, edx
je 0x660d0e74
cmp edx, 1
je 0x660d107f
mov esi, dword [ebp - 0x200]
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 4], esi
call sub.msvcrt.dll_memcpy
mov edx, dword [ebp - 0x144]
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x1a0], edx
mov byte [eax + edx], 0
mov eax, dword [ebp - 0x148]
jmp 0x660d0d53
mov eax, dword [ebp - 0x140]
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x198], eax
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0x194], eax
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x190], eax
jmp 0x660ce6eb
mov dword [esp + 8], 0x24a
mov dword [esp + 4], str..._src_3rd_party_rapidxml.hpp
mov dword [esp], str.memory
call dword [sym.imp.msvcrt.dll__assert]
xor edx, edx
mov ecx, 0x20
mov eax, 4
mov esi, 0x1000a
jmp 0x660d09b3
mov dword [esp + 8], 0x24a
mov dword [esp + 4], str..._src_3rd_party_rapidxml.hpp
mov dword [esp], str.memory
call dword [sym.imp.msvcrt.dll__assert]
xor edx, edx
mov ecx, 0x20
mov eax, 4
mov esi, 0x1000a
jmp 0x660d094f
mov dword [esp + 8], 0x24a
mov dword [esp + 4], str..._src_3rd_party_rapidxml.hpp
mov dword [esp], str.memory
call dword [sym.imp.msvcrt.dll__assert]
xor edx, edx
mov ecx, 0x20
mov eax, 4
mov esi, 0x1000a
jmp 0x660d08eb
mov dword [esp + 8], 0x24a
mov dword [esp + 4], str..._src_3rd_party_rapidxml.hpp
mov dword [esp], str.memory
call dword [sym.imp.msvcrt.dll__assert]
xor eax, eax
mov edx, 0x34
mov ecx, 0x1000a
mov dword [ebp - 0x20c], 4
jmp 0x660d0896
mov dword [esp + 8], 0x24a
mov dword [esp + 4], str..._src_3rd_party_rapidxml.hpp
mov dword [esp], str.memory
call dword [sym.imp.msvcrt.dll__assert]
xor eax, eax
mov esi, 4
jmp 0x660d0832
mov dword [esp + 8], 0x24a
mov dword [esp + 4], str..._src_3rd_party_rapidxml.hpp
mov dword [esp], str.memory
call dword [sym.imp.msvcrt.dll__assert]
xor edx, edx
mov ecx, 0x20
mov eax, 4
mov esi, 0x1000a
jmp 0x660d07bb
mov dword [esp + 8], 0x24a
mov dword [esp + 4], str..._src_3rd_party_rapidxml.hpp
mov dword [esp], str.memory
call dword [sym.imp.msvcrt.dll__assert]
xor edx, edx
mov ecx, 0x20
mov eax, 4
mov dword [ebp - 0x200], 0x1000a
jmp 0x660d075a
mov dword [esp + 8], 0x24a
mov dword [esp + 4], str..._src_3rd_party_rapidxml.hpp
mov dword [esp], str.memory
call dword [sym.imp.msvcrt.dll__assert]
xor edx, edx
mov ecx, 0x20
mov eax, 4
mov esi, 0x1000a
jmp 0x660d06ea
mov dword [esp + 8], 0x24a
mov dword [esp + 4], str..._src_3rd_party_rapidxml.hpp
mov dword [esp], str.memory
call dword [sym.imp.msvcrt.dll__assert]
xor eax, eax
mov edx, 4
jmp 0x660d068a
movzx edx, byte [ebp - 0x140]
mov byte [eax], dl
mov edx, dword [ebp - 0x144]
mov eax, dword [ebp - 0x1a4]
jmp 0x660d0e74
mov dword [esp], 0x661dffe4
call fcn.661d32b0
mov dword [esp], 0x661e000e
call fcn.661d33a0
mov dword [esp], 0x661dffe4
call fcn.661d32b0
mov dword [esp], 0x661e000e
call fcn.661d33a0
mov dword [esp], 0x661dffe4
call fcn.661d32b0
lea esi, [esi]
mov dword [esp], 0x661e000e
call fcn.661d33a0
mov dword [esp], 0x661dffe4
call fcn.661d32b0
mov ebx, eax
jmp 0x661d003e
mov edx, dword [ebp - 0x1bc]
cmp edx, dword [ebp - 0x208]
je 0x661d0061
mov eax, dword [ebp - 0x1b4]
mov dword [esp], edx
add eax, 1
mov dword [esp + 4], eax
call fcn.661cddb0
cmp byte [ebp - 0x18c], 0
je 0x661d00da
mov edx, dword [ebp - 0x1a4]
lea eax, [ebp - 0x19c]
mov byte [ebp - 0x18c], 0
cmp edx, eax
je 0x661d00da
mov eax, dword [ebp - 0x19c]
mov dword [esp], edx
add eax, 1
mov dword [esp + 4], eax
call fcn.661cddb0
jmp 0x661d00da
mov edx, dword [ebp - 0x1d4]
lea eax, [ebp - 0x1cc]
cmp edx, eax
je 0x661d00ff
mov eax, dword [ebp - 0x1cc]
mov dword [esp], edx
add eax, 1
mov dword [esp + 4], eax
call fcn.661cddb0
mov eax, dword [ebp - 0x1e0]
mov edx, dword [ebp - 0x1d8]
sub edx, eax
test eax, eax
je 0x661d011d
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.661cddb0
mov dword [esp], ebx
call fcn.66116c90
mov edx, dword [ebp - 0x1a4]
cmp edx, esi
jne 0x661d015a
mov ecx, dword [ebp - 0x214]
call fcn.661327f0
mov eax, dword [ebp - 0x1d4]
mov edx, dword [ebp - 0x1cc]
sub edx, eax
test eax, eax
je 0x661d00ff
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.661cddb0
jmp 0x661d00ff
mov eax, dword [ebp - 0x19c]
mov dword [esp], edx
add eax, 1
mov dword [esp + 4], eax
call fcn.661cddb0
jmp 0x661d012f