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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x520
mov esi, ecx
lea ecx, [esp + 0x168]
push dword [ebp + 8]
call fcn.00426c70
add esp, 4
mov eax, dword [esp + 0x168]
cmp eax, 2
jne 0x415213
mov eax, dword [esp + 0x174]
movsd xmm0, qword [esp + 0x16c]
mov dword [esp + 0x408], esi
movsd qword [esp + 0x110], xmm0
mov dword [esp + 0x118], eax
push eax
push dword [esp + 0x118]
call fcn.004e54f0
add esp, 8
mov ebx, 2
test eax, eax
je 0x4150ee
lea edi, [esp + 0x110]
mov esi, dword [esp + 0x110]
push dword [esi + 8]
push dword [esi + 4]
call fcn.004e54f0
add esp, 8
test eax, eax
je 0x4150ee
mov esi, dword [esi]
push dword [esi + 8]
push dword [esi + 4]
call fcn.004e54f0
add esp, 8
test eax, eax
je 0x4150ee
push dword [esi]
call fcn.004e6380
add esp, 4
test al, 1
je 0x4150ee
movzx eax, dl
push eax
lea eax, [esp + 0x16c]
push eax
call fcn.004e6b30
add esp, 8
mov ecx, dword [esp + 0x168]
movzx eax, byte [esp + 0x16c]
movzx esi, word [esp + 0x16d]
cmp ecx, 2
jne 0x415471
cmp eax, 0x15
jne 0x4150ee
shl esi, 8
or esi, 0x15
push esi
call fcn.004e69b0
add esp, 4
test al, al
jne 0x4150ee
push esi
call fcn.004e69b0
add esp, 4
test al, al
je 0x4154d5
lea ecx, [esp + 0x168]
mov edx, edi
call fcn.0043a1c0
mov eax, dword [esp + 0x168]
cmp eax, 2
jne 0x415642
push dword [esp + 0x118]
push dword [esp + 0x118]
call fcn.004e54f0
add esp, 8
test eax, eax
jne 0x41500e
mov eax, ebx
xor ecx, ecx
shr eax, 8
test bl, 2
cmove ecx, eax
mov dword [esp + 0x2a0], ecx
lea edi, [esp + 0x168]
lea edx, [esp + 0x110]
mov ecx, edi
call fcn.00436390
mov eax, dword [esp + 0x168]
cmp eax, 2
jne 0x415296
mov esi, dword [esp + 0x16c]
push 1
push dword [esp + 0x174]
push edi
call fcn.004e6920
add esp, 0xc
mov eax, dword [esp + 0x168]
cmp eax, 2
jne 0x41530c
lea edi, [esp + 0x168]
lea edx, [esp + 0x110]
mov dword [esp + 0x348], esi
mov ecx, edi
push esi
call fcn.004258d0
add esp, 4
cmp dword [esp + 0x168], 2
jne 0x415394
mov eax, dword [esp + 0x174]
movq xmm0, qword [esp + 0x16c]
mov dword [esp + 0x398], eax
movq qword [esp + 0x390], xmm0
lea ecx, [esp + 0x18]
lea edx, [esp + 0x390]
call fcn.00410bd0
mov ebx, dword [esp + 0x18]
cmp ebx, 2
jne 0x415406
mov esi, dword [esp + 0x20]
test esi, esi
je 0x4156ea
mov ecx, dword [esp + 0x1c]
cmp esi, 1
je 0x4157e3
movzx eax, byte [ecx]
cmp eax, 0xff
je 0x4157d9
test eax, eax
jne 0x4157e3
cmp byte [ecx + 1], 0
js 0x4157e3
mov dword [esp + 0xb0], 7
mov dword [esp + 0x5c], 0
mov edi, 0x100
xor ebx, ebx
jmp 0x415951
mov ecx, dword [esp + 0x174]
movsd xmm1, qword [esp + 0x190]
movsd xmm0, qword [esp + 0x16c]
movsd xmm2, qword [esp + 0x188]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x198]
movsd qword [esi + 0x30], xmm1
movsd xmm1, qword [esp + 0x180]
movsd qword [esp + 0x18], xmm0
movsd qword [esi + 0x28], xmm2
movsd xmm2, qword [esp + 0x178]
mov dword [esi + 0x38], ecx
movsd qword [esi + 0x20], xmm1
mov ecx, dword [esp + 0x20]
movsd xmm1, qword [esp + 0x18]
movsd qword [esi + 0x18], xmm2
mov dword [esi + 0x14], ecx
movsd qword [esi + 0xc], xmm1
mov dword [esi + 8], eax
mov dword [esi + 4], 0
mov dword [esi], 2
jmp 0x4175e6
movsd xmm2, qword [esp + 0x17c]
movsd xmm1, qword [esp + 0x184]
movq xmm0, qword [esp + 0x174]
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x170]
movsd qword [esp + 0x84], xmm2
movsd qword [esp + 0x8c], xmm1
movq xmm2, qword [esp + 0x18c]
movq xmm1, qword [esp + 0x194]
movq qword [esp + 0x7c], xmm0
movq qword [esp + 0x94], xmm2
movq qword [esp + 0x9c], xmm1
mov dword [esp + 0x70], eax
mov dword [esp + 0x78], edx
mov dword [esp + 0x74], ecx
jmp 0x4159e8
movzx ecx, byte [esp + 0x16e]
movzx edx, word [esp + 0x16c]
movsd xmm1, qword [esp + 0x177]
movsd xmm2, qword [esp + 0x17f]
movq xmm0, qword [esp + 0x16f]
mov byte [esp + 0x76], cl
mov word [esp + 0x74], dx
movsd qword [esp + 0x7f], xmm1
movsd xmm1, qword [esp + 0x187]
movsd qword [esp + 0x87], xmm2
movq xmm2, qword [esp + 0x18f]
movq qword [esp + 0x77], xmm0
movsd qword [esp + 0x8f], xmm1
movq xmm1, qword [esp + 0x194]
movq qword [esp + 0x97], xmm2
movq qword [esp + 0x9c], xmm1
mov dword [esp + 0x70], eax
jmp 0x4159e8
movsd xmm1, qword [esp + 0x188]
movsd xmm2, qword [esp + 0x180]
mov eax, dword [esp + 0x198]
movq xmm0, qword [esp + 0x190]
movsd qword [esp + 0x38], xmm1
movsd xmm1, qword [esp + 0x178]
movsd qword [esp + 0x30], xmm2
movq xmm2, qword [esp + 0x168]
mov dword [esp + 0x48], eax
movq qword [esp + 0x40], xmm0
movsd qword [esp + 0x28], xmm1
movq xmm1, qword [esp + 0x170]
movq qword [esp + 0x18], xmm2
movq qword [esp + 0x20], xmm1
mov ebx, dword [esp + 0x18]
cmp ebx, 2
je 0x4151bb
mov eax, dword [esp + 0x24]
movsd xmm1, qword [esp + 0x30]
mov ecx, dword [esp + 0x20]
movq xmm0, qword [esp + 0x28]
movq xmm2, qword [esp + 0x38]
mov edx, dword [esp + 0x1c]
mov dword [esp], eax
movsd qword [esp + 0x128], xmm1
movq xmm1, qword [esp + 0x40]
mov eax, dword [esp + 0x48]
mov edi, ecx
mov esi, ecx
movq qword [esp + 0x120], xmm0
movq qword [esp + 0x130], xmm2
and edi, 0xffffff00
and esi, 0xffff0000
movq qword [esp + 0x138], xmm1
mov dword [esp + 0x140], eax
jmp 0x41596c
mov edx, dword [esp + 0x170]
mov dword [esp + 0xb0], ecx
movzx ecx, byte [esp + 0x16f]
shl esi, 8
movss xmm1, dword [esp + 0x180]
movsd xmm0, qword [esp + 0x184]
or esi, eax
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x174]
shl ecx, 0x18
or esi, ecx
mov ecx, dword [esp + 0x17c]
mov dword [esp + 0x6c], esi
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x178]
mov dword [esp + 0x100], ecx
mov eax, edx
shr eax, 0x18
jmp 0x4156a7
lea ecx, [esp + 0x168]
lea edx, [esp + 0x110]
call fcn.00436390
mov eax, dword [esp + 0x168]
cmp eax, 2
jne 0x4156fb
movzx eax, byte [esp + 0x170]
movzx ecx, byte [esp + 0x171]
movzx ebx, byte [esp + 0x172]
mov dword [esp + 0x58], 0
cmp al, 0x15
mov dword [esp + 0x5c], eax
mov al, 0x13
mov ah, 0x17
mov dword [esp + 0x68], ecx
mov dword [esp + 0x2a0], eax
jne 0x415eed
mov ecx, ebx
mov edx, 0
mov edi, 0
mov dword [esp + 0x6c], eax
mov dword [esp + 4], eax
mov dword [esp + 0xb0], 0
and cl, 1
mov dword [esp + 0xe0], ecx
mov dword [esp + 0x60], ecx
je 0x41706f
lea ecx, [esp + 0x168]
lea edx, [esp + 0x110]
push dword [esp + 0x16c]
call fcn.00426d80
add esp, 4
mov eax, dword [esp + 0x168]
cmp eax, 2
jne 0x415f14
mov eax, dword [esp + 0x174]
movsd xmm0, qword [esp + 0x16c]
movsd qword [esp + 0x18], xmm0
mov dword [esp + 0x20], eax
lea edi, [esp + 0x168]
lea edx, [esp + 0x18]
mov ecx, edi
call fcn.00437190
mov eax, dword [esp + 0x168]
cmp eax, 2
jne 0x4161fc
mov esi, dword [esp + 0x16c]
push 1
push dword [esp + 0x174]
push edi
call fcn.004e6920
add esp, 0xc
mov eax, dword [esp + 0x168]
cmp eax, 2
jne 0x416377
cmp esi, 2
mov word [esp + 0x70], 0
jbe 0x416b55
mov dword [esp + 0xe0], eax
mov ecx, 7
mov ebx, 0x1010100
mov dword [esp + 0xa4], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0xb0], 0
xor edi, edi
mov dword [esp + 0x60], eax
jmp 0x416fe2
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x16c]
movzx edx, word [esp + 0x178]
mov ecx, dword [esp + 0x17c]
movss xmm1, dword [esp + 0x180]
movsd xmm0, qword [esp + 0x184]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x170]
mov dword [esp + 0x100], ecx
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x174]
mov dword [esp + 0x5c], eax
movzx eax, byte [esp + 0x17a]
shl eax, 0x10
or edx, eax
movzx eax, byte [esp + 0x17b]
mov edi, dword [esp + 0x18c]
mov esi, dword [esp + 0x190]
movzx ecx, word [esp + 0x182]
mov dword [esp + 0x10], edi
mov dword [esp + 0xc0], esi
mov edi, dword [esp + 0x194]
mov esi, dword [esp + 0x198]
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xc], edi
mov dword [esp + 8], esi
jmp 0x4170e1
mov ecx, 7
mov edi, 0x100
mov ebx, esi
jmp 0x41596c
mov esi, dword [esp + 0x16c]
mov dword [esp + 0xb0], eax
movzx eax, byte [esp + 0x170]
mov ah, byte [esp + 0x171]
movss xmm1, dword [esp + 0x180]
movsd xmm0, qword [esp + 0x184]
mov ecx, esi
mov edx, esi
mov dword [esp + 0x2a0], eax
mov eax, dword [esp + 0x174]
mov dword [esp + 0x60], esi
shr ecx, 0x10
shr edx, 8
mov dword [esp + 0x58], ecx
mov ecx, esi
mov ecx, dword [esp + 0x17c]
shr esi, 0x18
mov dword [esp + 0x6c], esi
mov esi, dword [esp + 0x178]
mov ebx, eax
mov edi, eax
mov dword [esp + 0x5c], eax
mov al, ah
shr ebx, 0x10
and edi, 0xff000000
mov dword [esp + 0x68], eax
mov dword [esp + 0x100], ecx
movzx ecx, word [esp + 0x182]
mov dword [esp], esi
mov dword [esp + 0xe0], ecx
mov ecx, dword [esp + 0x18c]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x190]
mov dword [esp + 0xc0], ecx
mov ecx, dword [esp + 0x194]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x198]
mov dword [esp + 8], ecx
movzx ecx, byte [esp + 0x172]
mov dword [esp + 4], ecx
movzx ecx, byte [esp + 0x173]
jmp 0x41706f
cmp byte [ecx + 1], 0
js 0x4151f4
push esi
mov dword [esp + 0xe4], ecx
push ecx
push edi
call fcn.004e1c30
add esp, 0xc
mov ebx, dword [esp + 0x168]
cmp ebx, 2
jne 0x415886
mov eax, dword [esp + 0x16c]
mov edi, dword [esp + 0x348]
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0x2c8], eax
mov eax, dword [esp + 0x170]
cmp dword [esp + 0x174], edi
jne 0x41591a
mov dword [esp + 0xa4], eax
push 1
push esi
push ecx
call fcn.004ed020
add esp, 0xc
cmp edi, 0x15
jbe 0x415a3e
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x70], 0
mov word [esp + 0x78], 0x117
test eax, eax
je 0x4159e8
push 1
push eax
push dword [esp + 0x2d0]
call fcn.004ed020
add esp, 0xc
jmp 0x4159e8
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x170]
movsd xmm1, qword [esp + 0x180]
movq xmm0, qword [esp + 0x178]
movq xmm2, qword [esp + 0x188]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x174]
mov edi, ecx
movsd qword [esp + 0x128], xmm1
movq xmm1, qword [esp + 0x190]
mov dword [esp + 0xb0], ecx
and ecx, 0xffff0000
movq qword [esp + 0x120], xmm0
movq qword [esp + 0x130], xmm2
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0xe0]
and edi, 0xffffff00
mov dword [esp], eax
mov eax, dword [esp + 0x198]
movq qword [esp + 0x138], xmm1
mov dword [esp + 0x140], eax
jmp 0x415951
xor ebx, ebx
mov edi, 0x100
test eax, eax
mov dword [esp + 0xb0], 7
je 0x415949
push 1
push eax
push dword [esp + 0x2d0]
call fcn.004ed020
mov ecx, dword [esp + 0xec]
add esp, 0xc
mov dword [esp + 0x5c], 0x1010000
push 1
push esi
push ecx
call fcn.004ed020
add esp, 0xc
mov esi, dword [esp + 0x5c]
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0x60]
movzx eax, cl
mov ecx, dword [esp + 0x140]
movsd xmm1, qword [esp + 0x130]
movq xmm0, qword [esp + 0x138]
movq xmm2, qword [esp + 0x120]
and esi, 0xffff0000
and edi, 0xff00
or edi, esi
or eax, edi
mov dword [esp + 0xa0], ecx
movsd qword [esp + 0x90], xmm1
movq xmm1, qword [esp + 0x128]
mov ecx, dword [esp]
movq qword [esp + 0x98], xmm0
movq qword [esp + 0x80], xmm2
movq qword [esp + 0x88], xmm1
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
lea eax, [esp + 0x70]
push dword [esp + 0x118]
push eax
lea eax, [esp + 0x170]
push eax
call fcn.004e4280
add esp, 0xc
mov edx, dword [esp + 0x168]
mov esi, dword [esp + 0x16c]
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x174]
cmp edx, 2
jne 0x415b7d
mov dword [esp + 0x2c8], esi
mov dword [esp + 0x348], ecx
mov dword [esp + 0xa4], eax
lea ecx, [esp + 0x18]
lea edx, [esp + 0x110]
call fcn.00436390
mov eax, dword [esp + 0x18]
cmp eax, 2
jne 0x415c1c
mov esi, dword [esp + 0x1c]
push 9
push dword [esp + 0x24]
lea eax, [esp + 0x20]
push eax
call fcn.004e6920
add esp, 0xc
mov eax, dword [esp + 0x18]
cmp eax, 2
jne 0x415c89
lea edx, [esp + 0x110]
lea ecx, [esp + 0x18]
push esi
call fcn.00426d80
add esp, 4
mov eax, dword [esp + 0x18]
cmp eax, 2
jne 0x415d08
mov eax, dword [esp + 0x24]
movq xmm0, qword [esp + 0x1c]
movq qword [esp + 0x368], xmm0
mov dword [esp + 0x370], eax
lea ecx, [esp + 0x18]
lea edx, [esp + 0x368]
call fcn.00437190
mov eax, dword [esp + 0x18]
cmp eax, 2
jne 0x415d7f
mov esi, dword [esp + 0x1c]
push 5
push dword [esp + 0x24]
lea eax, [esp + 0x20]
push eax
call fcn.004e6920
add esp, 0xc
mov eax, dword [esp + 0x18]
cmp eax, 2
jne 0x415ddd
pxor xmm0, xmm0
mov dword [esp + 0x143], 0
movdqa xmmword [esp + 0x130], xmm0
movdqa xmmword [esp + 0x120], xmm0
mov dword [esp + 0x13f], 0
push esi
lea eax, [esp + 0x1c]
push eax
call fcn.004e57b0
add esp, 8
mov ecx, dword [esp + 0x18]
cmp ecx, 2
jne 0x415fb3
mov esi, dword [esp + 0x1c]
cmp esi, 0x27
jbe 0x416324
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov eax, 0x506
mov ecx, 8
mov dword [esp + ecx + 0x70], eax
cmp dword [esp + 0x70], 2
je 0x416022
jmp 0x415e48
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x17c]
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 0x178]
movss xmm1, dword [esp + 0x180]
movsd xmm0, qword [esp + 0x184]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x6c], esi
mov dword [esp + 0x2a0], ebx
mov dword [esp + 0x60], 0
mov esi, 2
mov dword [esp + 0x58], ebx
mov dword [esp + 0x100], eax
movzx eax, word [esp + 0x182]
mov dword [esp], edx
shr edx, 0x10
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x18c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x190]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x194]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x198]
mov dword [esp + 8], eax
mov dword [esp + 4], eax
jmp 0x417111
movsd xmm2, qword [esp + 0x2c]
movsd xmm1, qword [esp + 0x34]
movsd xmm0, qword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
movsd qword [esp + 0x17c], xmm2
movsd qword [esp + 0x184], xmm1
movq xmm2, qword [esp + 0x3c]
movq xmm1, qword [esp + 0x44]
movsd qword [esp + 0x174], xmm0
movq qword [esp + 0x18c], xmm2
movq qword [esp + 0x194], xmm1
mov dword [esp + 0x168], eax
mov dword [esp + 0x170], edx
mov dword [esp + 0x16c], ecx
jmp 0x4166d3
movzx ecx, byte [esp + 0x1e]
movzx edx, word [esp + 0x1c]
movsd xmm1, qword [esp + 0x27]
movsd xmm2, qword [esp + 0x2f]
movsd xmm0, qword [esp + 0x1f]
mov byte [esp + 0x16e], cl
mov word [esp + 0x16c], dx
movsd qword [esp + 0x177], xmm1
movsd xmm1, qword [esp + 0x37]
movsd qword [esp + 0x17f], xmm2
movq xmm2, qword [esp + 0x3f]
movsd qword [esp + 0x16f], xmm0
movsd qword [esp + 0x187], xmm1
movq xmm1, qword [esp + 0x44]
movq qword [esp + 0x18f], xmm2
movq qword [esp + 0x194], xmm1
mov dword [esp + 0x168], eax
jmp 0x4166d3
movsd xmm2, qword [esp + 0x30]
mov ecx, dword [esp + 0x24]
movsd xmm0, qword [esp + 0x1c]
movq xmm1, qword [esp + 0x28]
movsd xmm3, qword [esp + 0x38]
mov edx, dword [esp + 0x48]
movsd qword [esp + 0x180], xmm2
movq xmm2, qword [esp + 0x40]
mov dword [esp + 0x78], ecx
movsd qword [esp + 0x70], xmm0
movq qword [esp + 0x178], xmm1
movsd qword [esp + 0x188], xmm3
mov dword [esp + 0x198], edx
movq qword [esp + 0x190], xmm2
movsd qword [esp + 0x16c], xmm0
mov dword [esp + 0x174], ecx
mov dword [esp + 0x168], eax
jmp 0x4166d3
movsd xmm2, qword [esp + 0x2c]
movsd xmm1, qword [esp + 0x34]
movq xmm0, qword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
movsd qword [esp + 0x84], xmm2
movsd qword [esp + 0x8c], xmm1
movq xmm2, qword [esp + 0x3c]
movq xmm1, qword [esp + 0x44]
movq qword [esp + 0x7c], xmm0
movq qword [esp + 0x94], xmm2
movq qword [esp + 0x9c], xmm1
mov dword [esp + 0x70], eax
mov dword [esp + 0x78], edx
mov dword [esp + 0x74], ecx
jmp 0x415e48
movzx ecx, byte [esp + 0x1e]
movzx edx, word [esp + 0x1c]
movsd xmm1, qword [esp + 0x27]
movsd xmm2, qword [esp + 0x2f]
movq xmm0, qword [esp + 0x1f]
mov byte [esp + 0x76], cl
mov word [esp + 0x74], dx
movsd qword [esp + 0x7f], xmm1
movsd xmm1, qword [esp + 0x37]
movsd qword [esp + 0x87], xmm2
movq xmm2, qword [esp + 0x3f]
movq qword [esp + 0x77], xmm0
movsd qword [esp + 0x8f], xmm1
movq xmm1, qword [esp + 0x44]
movq qword [esp + 0x97], xmm2
movq qword [esp + 0x9c], xmm1
mov dword [esp + 0x70], eax
lea eax, [esp + 0x70]
push dword [esp + 0x370]
push eax
lea eax, [esp + 0x20]
push eax
call fcn.004e4280
add esp, 0xc
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
movdqu xmm1, xmmword [esp + 0x30]
mov esi, dword [esp + 0x40]
mov dword [esp], eax
cmp eax, 2
mov eax, dword [esp + 0x2c]
jne 0x415eb4
mov dword [esp + 0x2fc], esi
mov dword [esp + 0x340], ebx
mov dword [esp + 0x344], edi
mov ebx, edx
mov esi, ecx
mov edi, eax
movdqa xmmword [esp + 0x350], xmm1
jmp 0x41606a
mov dword [esp + 0x58], edi
mov edi, dword [esp + 0x48]
movd xmm0, eax
mov dword [esp + 0xfc], ebx
mov eax, ecx
mov ebx, dword [esp + 0x44]
mov ecx, dword [esp]
punpcklqdq xmm0, xmm1
shufps xmm0, xmm1, 0x98
pshufd xmm1, xmm1, 0xff
mov dword [esp + 0x2c4], edi
movd edi, xmm1
jmp 0x41667a
mov dword [esp + 0xe0], ecx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x60], ecx
xor edx, edx
mov dword [esp + 4], eax
mov dword [esp + 0xb0], 0
xor edi, edi
jmp 0x41706f
mov dword [esp + 0xb0], eax
mov ecx, dword [esp + 0x16c]
mov eax, dword [esp + 0x170]
movss xmm1, dword [esp + 0x180]
movsd xmm0, qword [esp + 0x184]
movzx edi, word [esp + 0x182]
mov esi, dword [esp + 0x198]
mov ebx, dword [esp + 0x174]
mov dword [esp + 0x2a0], eax
mov eax, ecx
mov edx, ecx
shr eax, 8
shr edx, 0x18
mov dword [esp + 0xa4], eax
mov eax, ecx
shr eax, 0x10
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x17c]
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x18c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x190]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x194]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x178]
mov dword [esp], eax
jmp 0x41701b
movsd xmm2, qword [esp + 0x28]
movsd xmm1, qword [esp + 0x30]
movq xmm0, qword [esp + 0x20]
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x1c]
movsd qword [esp + 0x80], xmm2
movsd qword [esp + 0x88], xmm1
movq xmm2, qword [esp + 0x38]
movq xmm1, qword [esp + 0x40]
movq qword [esp + 0x78], xmm0
mov dword [esp + 0xa0], edx
movq qword [esp + 0x90], xmm2
movq qword [esp + 0x98], xmm1
mov dword [esp + 0x70], ecx
mov ecx, 4
mov dword [esp + ecx + 0x70], eax
cmp dword [esp + 0x70], 2
jne 0x415e48
mov ebx, dword [esp + 0x78]
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x80]
movdqu xmm0, xmmword [esp + 0x88]
mov ecx, dword [esp + 0x98]
mov esi, dword [esp + 0x7c]
mov edi, dword [esp + 0x84]
mov dword [esp + 0x340], eax
mov dword [esp + 0x344], edx
movdqa xmmword [esp + 0x350], xmm0
mov dword [esp + 0x2fc], ecx
lea ecx, [esp + 0x368]
call fcn.0043c370
test al, 1
mov dword [esp + 0x404], esi
jne 0x4160b1
mov byte [esp + 0x130], 0x17
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x124]
mov edx, dword [esp + 0x128]
mov dword [esp + 0x2c4], eax
mov eax, dword [esp + 0x130]
jmp 0x41657e
movzx eax, dl
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.004e6b30
add esp, 8
mov eax, dword [esp + 0x18]
cmp eax, 2
jne 0x41617d
lea ecx, [esp + 0x18]
lea edx, [esp + 0x368]
call fcn.00437190
mov eax, dword [esp + 0x18]
cmp eax, 2
jne 0x4162c3
mov eax, dword [esp + 0x20]
mov dword [esp], eax
lea edx, [esp + 0x368]
lea ecx, [esp + 0x18]
push dword [esp + 0x1c]
call fcn.00425eb0
add esp, 4
mov eax, dword [esp + 0x18]
cmp eax, 2
jne 0x416437
mov eax, dword [esp + 0x24]
movq xmm0, qword [esp + 0x1c]
mov dword [esp + 0x398], eax
movq qword [esp + 0x390], xmm0
mov dword [esp + 0x20], eax
movq qword [esp + 0x18], xmm0
mov edx, dword [esp]
lea eax, [esp + 0x18]
lea ecx, [esp + 0x70]
push eax
call fcn.00411950
add esp, 4
cmp dword [esp + 0x70], 2
jne 0x4164a6
movq xmm0, qword [esp + 0x74]
movq xmm1, qword [esp + 0x7c]
movq qword [esp + 0x12c], xmm1
movq qword [esp + 0x124], xmm0
jmp 0x416089
movsd xmm1, qword [esp + 0x27]
movsd xmm2, qword [esp + 0x2f]
movq xmm0, qword [esp + 0x1f]
movzx ecx, word [esp + 0x1c]
movzx edx, byte [esp + 0x1e]
movsd qword [esp + 0x12f], xmm1
movsd xmm1, qword [esp + 0x37]
movsd qword [esp + 0x137], xmm2
movq xmm2, qword [esp + 0x3f]
movq qword [esp + 0x127], xmm0
movsd qword [esp + 0x13f], xmm1
movq xmm1, qword [esp + 0x44]
movq qword [esp + 0x147], xmm2
movq qword [esp + 0x14c], xmm1
mov dword [esp + 0x120], eax
mov byte [esp + 0x126], dl
mov word [esp + 0x124], cx
jmp 0x416528
mov ecx, dword [esp + 0x170]
mov esi, dword [esp + 0x16c]
mov dword [esp + 0xb0], eax
mov ebx, dword [esp + 0x178]
movss xmm1, dword [esp + 0x180]
movsd xmm0, qword [esp + 0x184]
mov edx, ecx
mov edi, ecx
mov dword [esp + 0x60], esi
mov eax, ecx
mov dword [esp], ebx
shld edx, esi, 0x18
shld edi, esi, 0x10
shr eax, 8
mov dword [esp + 0xa4], edx
mov edx, esi
mov dword [esp + 0x58], edi
mov edi, esi
mov esi, dword [esp + 0x17c]
mov edi, dword [esp + 0x18c]
mov dword [esp + 0x2a0], eax
mov eax, ecx
shr eax, 0x10
shr edx, 0x18
mov ebx, eax
mov eax, ecx
mov ecx, dword [esp + 0x2a0]
mov dword [esp + 0x100], esi
movzx esi, word [esp + 0x182]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x190]
mov dword [esp + 0xe0], esi
mov esi, dword [esp + 0x198]
mov dword [esp + 0xc0], edi
mov edi, dword [esp + 0x194]
mov dword [esp + 8], esi
mov esi, dword [esp + 0x174]
mov dword [esp + 0xc], edi
jmp 0x416ff3
movsd xmm2, qword [esp + 0x2c]
movsd xmm1, qword [esp + 0x34]
movq xmm0, qword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
movsd qword [esp + 0x84], xmm2
movsd qword [esp + 0x8c], xmm1
movq xmm2, qword [esp + 0x3c]
movq xmm1, qword [esp + 0x44]
movq qword [esp + 0x7c], xmm0
movq qword [esp + 0x94], xmm2
movq qword [esp + 0x9c], xmm1
mov dword [esp + 0x70], eax
mov dword [esp + 0x78], edx
mov dword [esp + 0x74], ecx
jmp 0x4164a6
lea edi, [esp + 0x18]
lea ebx, [esp + 0x120]
lea edx, [esp + 0x368]
mov ecx, edi
push esi
push ebx
call fcn.0043c3e0
add esp, 8
mov ecx, dword [esp + 0x18]
cmp ecx, 2
jne 0x416a77
push esi
push ebx
push edi
call fcn.0057aa70
add esp, 0xc
cmp byte [esp + 0x18], 0
je 0x416bb8
mov dword [esp + 0x70], 0
mov byte [esp + 0x78], 8
jmp 0x415e48
movzx esi, word [esp + 0x16d]
movzx ebx, byte [esp + 0x16c]
mov edi, dword [esp + 0x18c]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x170]
movss xmm1, dword [esp + 0x180]
movsd xmm0, qword [esp + 0x184]
mov dword [esp + 0xa4], esi
shr esi, 8
mov dword [esp + 0x60], ebx
movzx ebx, byte [esp + 0x16f]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x190]
mov edx, eax
mov ecx, eax
mov dword [esp + 0x58], esi
mov esi, dword [esp + 0x17c]
shr edx, 0x10
shr ecx, 8
mov dword [esp + 0x6c], ebx
mov ebx, dword [esp + 0x178]
mov dword [esp + 0xc0], edi
mov edi, dword [esp + 0x194]
mov dword [esp + 0x100], esi
movzx esi, word [esp + 0x182]
mov dword [esp], ebx
mov ebx, edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0xc], edi
mov dword [esp + 0xe0], esi
mov esi, dword [esp + 0x198]
mov dword [esp + 8], esi
mov esi, dword [esp + 0x174]
jmp 0x416ff3
movsd xmm2, qword [esp + 0x30]
mov ecx, dword [esp + 0x24]
movq xmm0, qword [esp + 0x1c]
movq xmm1, qword [esp + 0x28]
movsd xmm3, qword [esp + 0x38]
mov edx, dword [esp + 0x48]
movsd qword [esp + 0x88], xmm2
movq xmm2, qword [esp + 0x40]
mov dword [esp + 0x398], ecx
movq qword [esp + 0x390], xmm0
movq qword [esp + 0x80], xmm1
movsd qword [esp + 0x90], xmm3
mov dword [esp + 0xa0], edx
movq qword [esp + 0x98], xmm2
movq qword [esp + 0x74], xmm0
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x70], eax
movq xmm0, qword [esp + 0x70]
movsd xmm3, qword [esp + 0x98]
movsd xmm2, qword [esp + 0x90]
movq xmm1, qword [esp + 0x78]
mov eax, dword [esp + 0xa0]
movq qword [esp + 0x120], xmm0
movsd qword [esp + 0x148], xmm3
movsd qword [esp + 0x140], xmm2
movsd xmm3, qword [esp + 0x88]
movq xmm2, qword [esp + 0x80]
mov dword [esp + 0x150], eax
movq qword [esp + 0x128], xmm1
cmp dword [esp + 0x120], 2
movsd qword [esp + 0x138], xmm3
movq qword [esp + 0x130], xmm2
je 0x416089
lea eax, [esp + 0x120]
push dword [esp + 0x370]
push eax
lea eax, [esp + 0x20]
push eax
call fcn.004e4280
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x24]
cmp ecx, 2
mov dword [esp + 0x58], esi
jne 0x41665e
mov dword [esp + 0x2c4], eax
mov esi, dword [esp + 0xfc]
mov eax, dword [esp + 0x58]
cmp al, 0x18
mov dword [esp + 0x29c], edx
mov dword [esp + 0x58], eax
jne 0x4165c8
mov dword [esp + 0x58], edi
mov dword [esp + 0xfc], ebx
mov ecx, dword [esp + 0x340]
mov eax, dword [esp + 0x344]
mov edx, dword [esp + 0x404]
mov ebx, dword [esp + 0x29c]
mov edi, dword [esp + 0x2fc]
movaps xmm0, xmmword [esp + 0x350]
jmp 0x41667a
mov dword [esp + 0x44c], ebx
mov dword [esp + 0xfc], esi
mov ebx, dword [esp + 0x36c]
mov esi, dword [esp + 0x370]
push esi
push ebx
call fcn.004e54f0
add esp, 8
test eax, eax
je 0x4167d6
push esi
push ebx
call fcn.004e54f0
add esp, 8
mov dword [esp + 0x168], 1
mov dword [esp + 0x16c], esi
mov byte [esp + 0x170], 0x15
mov dword [esp + 0x174], esi
mov dword [esp + 0x178], eax
cmp byte [esp + 0x58], 0x17
mov eax, dword [esp + 0x29c]
mov byte [esp + 0x19c], 0x18
je 0x4166db
test eax, eax
je 0x4166db
push 1
push eax
push dword [esp + 0x104]
call fcn.004ed020
add esp, 0xc
jmp 0x4166db
mov ebx, dword [esp + 0x48]
movups xmm0, xmmword [esp + 0x2c]
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x40]
mov dword [esp + 0x2c4], ebx
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x168], ecx
mov ecx, dword [esp + 0xfc]
mov dword [esp + 0x16c], ecx
mov dword [esp + 0x170], edx
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x2c4]
mov dword [esp + 0x174], eax
mov dword [esp + 0x178], edx
movups xmmword [esp + 0x17c], xmm0
mov dword [esp + 0x18c], edi
mov dword [esp + 0x190], esi
mov dword [esp + 0x194], ebx
mov dword [esp + 0x198], ecx
mov byte [esp + 0x19c], 0x18
push dword [esp + 0x118]
lea eax, [esp + 0x16c]
push eax
lea eax, [esp + 0x20]
push eax
call fcn.004e4280
add esp, 0xc
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
movss xmm1, dword [esp + 0x30]
movsd xmm0, qword [esp + 0x34]
mov edi, dword [esp + 0x24]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc0], ecx
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov dword [esp], eax
shr eax, 0x10
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov dword [esp + 0x350], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x100], eax
movzx eax, word [esp + 0x32]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x6c], esi
mov dword [esp + 0x5c], edi
test eax, eax
je 0x4167a7
push 1
push eax
push dword [esp + 0x2d0]
movaps xmmword [esp + 0x30c], xmm0
movaps xmmword [esp + 0x32c], xmm1
call fcn.004ed020
movaps xmm1, xmmword [esp + 0x32c]
movaps xmm0, xmmword [esp + 0x30c]
add esp, 0xc
mov edx, dword [esp + 0x350]
mov esi, 2
mov dword [esp + 0xb0], ebx
mov dword [esp + 4], eax
mov dword [esp + 0x2a0], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x60], 0
jmp 0x417111
movdqa xmm0, xmmword [esp + 0x350]
mov ecx, dword [esp + 0x2fc]
mov edx, dword [esp + 0x58]
movdqu xmmword [esp + 0x17c], xmm0
mov dword [esp + 0x18c], ecx
mov ecx, dword [esp + 0xfc]
mov eax, edx
shr eax, 8
mov word [esp + 0x2e0], ax
mov dword [esp + 0x190], ecx
mov ecx, dword [esp + 0x29c]
mov dword [esp + 0x194], ecx
mov ecx, dword [esp + 0x2c4]
mov dword [esp + 0x198], ecx
mov byte [esp + 0x19c], dl
mov word [esp + 0x19d], ax
shr eax, 0x10
mov byte [esp + 0x19f], al
mov byte [esp + 0x2e2], al
lea ecx, [esp + 0x168]
lea edx, [esp + 0x110]
call fcn.00424330
mov ebx, dword [esp + 0x168]
cmp ebx, 2
jne 0x4169e7
mov eax, dword [esp + 0x16c]
mov dword [esp + 0x448], edi
mov edi, dword [esp + 0x170]
mov esi, dword [esp + 0x174]
mov dword [esp + 0x2f8], eax
mov dword [esp + 0x2c0], edi
mov dword [esp + 0x2d4], esi
lea ecx, [esp + 0x18]
lea edx, [esp + 0x110]
mov ebx, ecx
call fcn.00436390
mov eax, dword [esp + 0x18]
cmp eax, 2
jne 0x416ae8
mov esi, dword [esp + 0x1c]
push 9
push dword [esp + 0x24]
push ebx
call fcn.004e6920
add esp, 0xc
mov eax, dword [esp + 0x18]
cmp eax, 2
jne 0x416c1d
lea edx, [esp + 0x110]
lea ecx, [esp + 0x18]
push esi
call fcn.00426d80
add esp, 4
mov eax, dword [esp + 0x18]
cmp eax, 2
jne 0x416d42
mov eax, dword [esp + 0x24]
movq xmm0, qword [esp + 0x1c]
movq qword [esp + 0x120], xmm0
mov dword [esp + 0x128], eax
lea ecx, [esp + 0x18]
lea edx, [esp + 0x120]
call fcn.00423590
cmp dword [esp + 0x18], 0
jne 0x416996
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
movq xmm0, qword [esp + 0x38]
mov dword [esp + 0x60], esi
mov esi, dword [esp + 0x2c]
mov dword [esp + 0xb0], edi
mov edi, dword [esp + 0x30]
mov dword [esp + 0x400], eax
movdqa xmmword [esp + 0x460], xmm0
mov dword [esp + 0x6c], esi
mov esi, dword [esp + 0x34]
mov dword [esp + 0x68], edi
mov dword [esp + 0x5c], esi
lea ecx, [esp + 0x18]
lea edx, [esp + 0x120]
call fcn.00423590
cmp dword [esp + 0x18], 0
je 0x417626
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
movups xmm3, xmmword [esp + 0x28]
movdqu xmm0, xmmword [esp + 0x38]
movq xmm1, qword [esp + 0x48]
mov dword [esp + 0x170], ecx
mov dword [esp + 0x174], edx
mov dword [esp + 0x178], eax
movups xmmword [esp + 0x17c], xmm3
movdqu xmmword [esp + 0x18c], xmm0
movq qword [esp + 0x19c], xmm1
jmp 0x416db4
mov eax, dword [esp + 0x170]
mov edx, dword [esp + 0x18c]
mov ecx, dword [esp + 0x190]
mov esi, dword [esp + 0x16c]
mov edi, dword [esp + 0x174]
movss xmm1, dword [esp + 0x180]
movsd xmm0, qword [esp + 0x184]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x178]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc0], ecx
mov edx, dword [esp + 0x194]
mov ecx, dword [esp + 0x198]
mov dword [esp], eax
shr eax, 0x10
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov dword [esp + 0x350], eax
mov eax, dword [esp + 0x17c]
mov dword [esp + 0x100], eax
movzx eax, word [esp + 0x182]
mov dword [esp + 0xe0], eax
jmp 0x418d4e
movsd xmm2, qword [esp + 0x2c]
movsd xmm1, qword [esp + 0x34]
movq xmm0, qword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
movsd qword [esp + 0x84], xmm2
movsd qword [esp + 0x8c], xmm1
movq xmm2, qword [esp + 0x3c]
movq xmm1, qword [esp + 0x44]
movq qword [esp + 0x7c], xmm0
movq qword [esp + 0x94], xmm2
movq qword [esp + 0x9c], xmm1
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], edx
mov ecx, 8
mov dword [esp + ecx + 0x70], eax
cmp dword [esp + 0x70], 2
je 0x416022
jmp 0x415e48
movsd xmm2, qword [esp + 0x2c]
movsd xmm1, qword [esp + 0x34]
movq xmm0, qword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
movsd qword [esp + 0x184], xmm2
movsd qword [esp + 0x18c], xmm1
movq xmm2, qword [esp + 0x3c]
movq xmm1, qword [esp + 0x44]
movq qword [esp + 0x17c], xmm0
movq qword [esp + 0x194], xmm2
movq qword [esp + 0x19c], xmm1
mov dword [esp + 0x170], eax
mov dword [esp + 0x178], edx
mov dword [esp + 0x174], ecx
jmp 0x416db4
lea edi, [esp + 0x168]
lea eax, [esp + 0x70]
lea edx, [esp + 0x18]
mov ecx, edi
push esi
push eax
call fcn.0043c3e0
add esp, 8
mov eax, dword [esp + 0x168]
cmp eax, 2
jne 0x416c95
mov edx, edi
mov edi, dword [esp + 0x170]
mov ecx, 0x107
test edi, edi
je 0x416f2e
mov ebx, dword [esp + 0x16c]
cmp edi, 1
jne 0x416f4e
movzx eax, byte [ebx]
test al, al
jne 0x416f59
xor eax, eax
jmp 0x4176ae
movzx eax, byte [esp + 0x1b]
movsd xmm1, qword [esp + 0x2c]
mov ebx, dword [esp + 0x20]
movq xmm0, qword [esp + 0x24]
movq xmm2, qword [esp + 0x34]
mov byte [esp + 0x76], al
movzx eax, word [esp + 0x19]
mov word [esp + 0x74], ax
movsd qword [esp + 0x87], xmm1
mov eax, dword [esp + 0x1c]
movq xmm1, qword [esp + 0x39]
movq qword [esp + 0x8f], xmm2
movq qword [esp + 0x7f], xmm0
movq qword [esp + 0x94], xmm1
mov dword [esp + 0x7b], ebx
mov dword [esp + 0x77], eax
shld ebx, eax, 0x18
jmp 0x416026
movzx ecx, byte [esp + 0x1e]
movzx edx, word [esp + 0x1c]
movsd xmm1, qword [esp + 0x27]
movsd xmm2, qword [esp + 0x2f]
movq xmm0, qword [esp + 0x1f]
mov byte [esp + 0x176], cl
mov word [esp + 0x174], dx
movsd qword [esp + 0x17f], xmm1
movsd xmm1, qword [esp + 0x37]
movsd qword [esp + 0x187], xmm2
movq xmm2, qword [esp + 0x3f]
movq qword [esp + 0x177], xmm0
movsd qword [esp + 0x18f], xmm1
movq xmm1, qword [esp + 0x44]
movq qword [esp + 0x197], xmm2
movq qword [esp + 0x19c], xmm1
jmp 0x416dad
mov ecx, dword [esp + 0x170]
mov esi, dword [esp + 0x16c]
movss xmm1, dword [esp + 0x180]
movsd xmm0, qword [esp + 0x184]
mov dword [esp + 0xb0], eax
mov eax, esi
mov ebx, ecx
shr eax, 8
and ebx, 0xffffff00
mov dword [esp + 0xa4], eax
mov eax, esi
mov dword [esp + 0x60], esi
mov edx, dword [esp + 0x198]
shr eax, 0x10
mov dword [esp + 0x58], eax
mov eax, esi
mov eax, dword [esp + 0x17c]
shr esi, 0x18
mov edi, esi
mov esi, dword [esp + 0x174]
mov dword [esp + 0x100], eax
movzx eax, word [esp + 0x182]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x18c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x190]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x194]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x178]
mov dword [esp], eax
jmp 0x416fe2
movsd xmm2, qword [esp + 0x30]
mov ecx, dword [esp + 0x24]
movq xmm0, qword [esp + 0x1c]
movq xmm1, qword [esp + 0x28]
movsd xmm3, qword [esp + 0x38]
mov edx, dword [esp + 0x48]
movsd qword [esp + 0x188], xmm2
movq xmm2, qword [esp + 0x40]
mov dword [esp + 0x78], ecx
movq qword [esp + 0x70], xmm0
movq qword [esp + 0x180], xmm1
movsd qword [esp + 0x190], xmm3
mov dword [esp + 0x1a0], edx
movq qword [esp + 0x198], xmm2
movq qword [esp + 0x174], xmm0
mov dword [esp + 0x17c], ecx
mov dword [esp + 0x170], eax
lea eax, [esp + 0x170]
mov dword [esp + 0x16c], 0
mov dword [esp + 0x168], 2
push dword [esp + 0x118]
push eax
push ebx
call fcn.004e4280
add esp, 0xc
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov esi, dword [esp + 0x1c]
movss xmm1, dword [esp + 0x30]
movsd xmm0, qword [esp + 0x34]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc0], ecx
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov dword [esp], eax
shr eax, 0x10
mov dword [esp + 0x350], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x100], eax
movzx eax, word [esp + 0x32]
mov dword [esp + 0xe0], eax
cmp dword [esp + 0x2d4], 0
movaps xmmword [esp + 0x300], xmm0
movaps xmmword [esp + 0x320], xmm1
je 0x418d13
xor eax, eax
jmp 0x416e8c
mov eax, dword [esp + 0xb0]
inc eax
cmp eax, dword [esp + 0x2d4]
je 0x418d13
mov edi, dword [esp + 0x2c0]
lea edx, [eax + eax*2]
mov dword [esp + 0xb0], eax
mov dword [esp + 0x60], edx
mov ebx, dword [edi + edx*4 + 8]
mov ecx, dword [edi + edx*4 + 4]
test ebx, ebx
mov dword [esp + 0x2a0], ecx
je 0x416eec
mov eax, dword [esp + 0x2a0]
lea edi, [eax + 0x2c]
jmp 0x416ec6
add edi, 0x38
dec ebx
je 0x416eec
mov eax, dword [edi]
test eax, eax
je 0x416ec0
push 1
push eax
push dword [edi - 4]
call fcn.004ed020
movaps xmm1, xmmword [esp + 0x32c]
movaps xmm0, xmmword [esp + 0x30c]
add esp, 0xc
jmp 0x416ec0
mov eax, dword [esp + 0x2c0]
mov ecx, dword [esp + 0x60]
lea eax, [eax + ecx*4]
mov eax, dword [eax]
test eax, eax
je 0x416e77
imul eax, eax, 0x38
push 4
push eax
push dword [esp + 0x2a8]
call fcn.004ed020
movaps xmm1, xmmword [esp + 0x32c]
movaps xmm0, xmmword [esp + 0x30c]
add esp, 0xc
jmp 0x416e77
mov dword [esp + 0xe0], eax
mov ebx, edi
mov dword [esp + 0x58], edi
mov dword [esp + 0xa4], edi
mov dword [esp + 0xb0], edi
jmp 0x416fd7
movzx eax, byte [ebx]
test al, al
je 0x4175ee
test al, al
js 0x416fad
cmp edi, 2
jb 0x4176ae
mov esi, 1
mov ecx, edi
mov dword [esp + 0xb0], 0
mov ecx, 0x106
mov ebx, 0x100
sub esi, edi
mov eax, esi
mov dword [esp + 0x60], esi
shr eax, 8
mov dword [esp + 0xa4], eax
mov eax, esi
shr eax, 0x10
mov dword [esp + 0x58], eax
mov eax, esi
shr esi, 0x18
mov dword [esp + 0xe0], eax
mov edi, esi
jmp 0x416fe2
mov dword [esp + 0xe0], eax
mov ecx, 0x117
mov dword [esp + 0xa4], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0xb0], 0
xor edi, edi
mov dword [esp + 0x60], eax
mov ebx, 0x100
movzx eax, cl
mov ecx, ebx
mov dword [esp + 8], edx
shr ebx, 0x10
mov edx, edi
shr ecx, 8
shl ecx, 8
shl ebx, 0x10
movzx eax, al
mov edi, dword [esp + 0xe0]
movzx ecx, cx
or ecx, ebx
mov ebx, esi
mov esi, dword [esp + 8]
or eax, ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x2a0], eax
mov eax, ebx
mov dword [esp + 0x6c], edx
mov dword [esp + 0x60], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xe0], edi
mov dword [esp + 0x5c], ebx
shr eax, 8
mov dword [esp + 0x68], eax
mov eax, ebx
shr eax, 0x10
mov esi, eax
mov eax, ebx
mov ecx, dword [esp + 0x2a0]
mov edx, dword [esp + 0xa4]
and ebx, 0xff000000
mov edi, ebx
mov ebx, esi
mov eax, ecx
mov dword [esp + 0x2a0], ecx
shr ecx, 0x18
shr eax, 0x10
mov dword [esp + 4], eax
movzx eax, bl
movzx ebx, byte [esp + 4]
movzx esi, byte [esp + 0x68]
movzx ecx, cl
shl edx, 8
shl ecx, 0x18
shl eax, 0x10
shl ebx, 0x10
shl esi, 8
or ebx, ecx
mov ecx, dword [esp + 0x2a0]
or esi, edi
movzx edi, byte [esp + 0x5c]
or esi, eax
movzx eax, ch
movzx ecx, cl
or edi, esi
movzx esi, byte [esp + 0x6c]
shl eax, 8
mov dword [esp + 0x5c], edi
or eax, ebx
or ecx, eax
movzx eax, byte [esp + 0x58]
shl esi, 0x18
mov dword [esp + 0x68], ecx
shl eax, 0x10
or esi, eax
movzx eax, byte [esp + 0x60]
or esi, eax
movzx eax, dx
mov edx, dword [esp]
or esi, eax
mov dword [esp + 0x6c], esi
mov eax, edx
shr eax, 0x18
movzx eax, al
mov dword [esp], edx
and edx, 0xffffff
mov dword [esp + 0x2a0], ebx
mov dword [esp + 0x60], 0
mov esi, 2
mov dword [esp + 0x58], ebx
shl eax, 0x18
or edx, eax
mov dword [esp + 4], eax
shr edx, 0x10
mov ecx, dword [esp]
shl edx, 0x10
movzx ebx, ch
movzx edi, cl
mov ecx, dword [esp + 0x60]
shl ebx, 8
or ebx, edx
mov edx, esi
xor edx, 2
or edi, ebx
or edx, ecx
jne 0x4171bc
mov ecx, dword [esp + 0x408]
mov eax, dword [esp + 0xb0]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x6c]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x68]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x5c]
mov dword [ecx + 0x14], eax
mov eax, dword [esp + 0x100]
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x1c], eax
movaps xmmword [esp + 0x4f0], xmm1
movzx eax, word [esp + 0x4f0]
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0xc0]
mov word [ecx + 0x20], ax
mov eax, dword [esp + 0xe0]
mov word [ecx + 0x22], ax
movlps qword [ecx + 0x24], xmm0
mov dword [ecx + 0x2c], esi
mov dword [ecx + 0x30], edx
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov dword [ecx + 0x34], esi
mov dword [ecx + 0x38], edx
mov dword [ecx + 4], 0
mov dword [ecx], 2
jmp 0x4175e6
movzx ebx, byte [esp + 0x2de]
mov edx, dword [esp + 0x6c]
mov byte [esp + 0x1df], bl
movzx ebx, word [esp + 0x2dc]
mov word [esp + 0x1dd], bx
movzx ebx, byte [esp + 0x2da]
mov byte [esp + 0x243], bl
movzx ebx, word [esp + 0x2d8]
mov word [esp + 0x241], bx
movzx ebx, byte [esp + 0x40f]
mov byte [esp + 0x287], bl
movzx ebx, word [esp + 0x40d]
mov word [esp + 0x285], bx
mov dword [esp + 0x168], esi
mov ebx, dword [esp + 0xb0]
mov esi, dword [esp + 0x68]
mov dword [esp + 0x16c], ecx
mov dword [esp + 0x170], ebx
mov dword [esp + 0x174], edx
mov dword [esp + 0x178], esi
mov esi, dword [esp + 0x5c]
mov edx, dword [esp + 0x100]
mov dword [esp + 0x17c], esi
mov dword [esp + 0x180], edi
mov dword [esp + 0x184], edx
mov edi, dword [esp + 0x114]
mov esi, dword [esp + 0x118]
movaps xmmword [esp + 0x500], xmm1
movzx ebx, word [esp + 0x500]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov word [esp + 0x188], bx
mov ebx, dword [esp + 0xe0]
mov word [esp + 0x18a], bx
mov ebx, dword [esp + 0xc0]
movlps qword [esp + 0x18c], xmm0
mov dword [esp + 0x194], edx
mov dword [esp + 0x198], ebx
mov ebx, dword [esp + 8]
mov dword [esp + 0x19c], ecx
mov ecx, dword [esp + 0x444]
mov dword [esp + 0x1a0], ebx
mov ebx, dword [esp + 0x340]
mov dword [esp + 0x1a4], ecx
mov ecx, dword [esp + 0x2f0]
mov dword [esp + 0x1a8], ebx
mov ebx, dword [esp + 0x44c]
mov dword [esp + 0x1ac], ebx
mov ebx, dword [esp + 0x404]
mov dword [esp + 0x1b0], ebx
mov ebx, dword [esp + 0x344]
mov dword [esp + 0x1b4], ebx
mov ebx, dword [esp + 0x448]
mov dword [esp + 0x1b8], ebx
mov dword [esp + 0x1bc], ecx
mov byte [esp + 0x1c0], al
mov byte [esp + 0x1c1], ah
mov eax, dword [esp + 4]
mov word [esp + 0x1c2], ax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x1c4], eax
mov eax, dword [esp + 0x460]
mov dword [esp + 0x1c8], eax
mov eax, dword [esp + 0x2fc]
mov dword [esp + 0x1cc], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x1d0], eax
mov eax, dword [esp + 0x29c]
mov dword [esp + 0x1d4], eax
mov eax, dword [esp + 0x2c4]
mov dword [esp + 0x1d8], eax
mov eax, dword [esp + 0x58]
mov byte [esp + 0x1dc], al
mov eax, dword [esp + 0x2f8]
mov dword [esp + 0x1e0], eax
mov eax, dword [esp + 0x2c0]
mov dword [esp + 0x1e4], eax
mov eax, dword [esp + 0x2d4]
mov dword [esp + 0x1e8], eax
mov eax, dword [esp + 0x2cc]
mov dword [esp + 0x1ec], eax
mov eax, dword [esp + 0x2bc]
mov dword [esp + 0x1f0], eax
mov eax, dword [esp + 0x2d0]
mov dword [esp + 0x1f4], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x1f8], eax
mov eax, dword [esp + 0x164]
mov dword [esp + 0x1fc], eax
mov eax, dword [esp + 0x33c]
movups xmmword [esp + 0x200], xmm3
mov dword [esp + 0x210], eax
movzx eax, byte [esp + 0xdc]
mov byte [esp + 0x214], al
movzx eax, byte [esp + 0x2b4]
mov byte [esp + 0x215], al
movzx eax, word [esp + 0x34e]
mov word [esp + 0x216], ax
mov eax, dword [esp + 0x438]
movlps qword [esp + 0x218], xmm4
mov dword [esp + 0x220], eax
mov eax, dword [esp + 0x440]
mov dword [esp + 0x224], eax
mov eax, dword [esp + 0x43c]
movlps qword [esp + 0x228], xmm5
mov dword [esp + 0x230], eax
mov eax, dword [esp + 0x160]
mov dword [esp + 0x234], eax
movzx eax, byte [esp + 0xac]
movlps qword [esp + 0x238], xmm2
mov byte [esp + 0x240], al
mov eax, dword [esp + 0x15c]
mov dword [esp + 0x244], eax
mov eax, dword [esp + 0x298]
mov dword [esp + 0x248], eax
mov eax, dword [esp + 0x434]
movlps qword [esp + 0x24c], xmm6
mov dword [esp + 0x254], eax
mov eax, dword [esp + 0x294]
mov dword [esp + 0x258], eax
mov eax, dword [esp + 0x2b8]
mov dword [esp + 0x25c], eax
mov eax, dword [esp + 0x430]
movlps qword [esp + 0x260], xmm7
mov dword [esp + 0x268], eax
mov eax, dword [esp + 0x2f4]
mov dword [esp + 0x26c], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x270], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x274], eax
mov eax, dword [esp + 0x2c8]
mov dword [esp + 0x278], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x27c], eax
mov eax, dword [esp + 0x348]
mov dword [esp + 0x280], eax
mov eax, dword [esp + 0x2a0]
mov byte [esp + 0x284], al
push esi
push edi
call fcn.004e54f0
add esp, 8
mov ebx, dword [esp + 0x408]
test eax, eax
je 0x4175d0
push esi
push edi
call fcn.004e54f0
add esp, 8
mov dword [ebx + 8], 1
mov dword [ebx + 0xc], esi
mov byte [ebx + 0x10], 0x15
mov dword [ebx + 0x14], esi
mov dword [ebx + 0x18], eax
mov dword [ebx + 4], 0
mov dword [ebx], 2
lea ecx, [esp + 0x168]
call fcn.0042e3a0
jmp 0x4175e6
push 0x120
lea eax, [esp + 0x16c]
push eax
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
movzx eax, byte [ebx + 1]
test al, al
js 0x4176a4
mov dword [esp + 0xe0], eax
mov dword [esp + 0xa4], 0
mov dword [esp + 0x58], 0
xor edi, edi
mov dword [esp + 0xb0], 0
jmp 0x416fd9
mov eax, dword [esp + 0x400]
mov ecx, dword [esp + 0x20]
movsd xmm0, qword [esp + 0x34]
xor eax, 2
movaps xmmword [esp + 0x480], xmm0
movd xmm0, ecx
mov dword [esp + 0xe0], ecx
or eax, dword [esp + 0x60]
movdqa xmmword [esp + 0x320], xmm0
jne 0x41779d
movss xmm1, dword [esp + 0x5c]
movaps xmm2, xmmword [esp + 0x320]
movaps xmm3, xmmword [esp + 0x460]
movdqu xmm0, xmmword [esp + 0x24]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0x6c]
shufps xmm2, xmm3, 0xd4
unpcklps xmm3, xmm1
movdqa xmm1, xmmword [esp + 0x480]
shufps xmm3, xmm2, 0x21
jmp 0x4169b3
dec edi
cmp edi, 2
jae 0x416f66
mov byte [esp + 0x120], al
lea eax, [esp + 0x120]
push eax
push edx
call fcn.004eac30
add esp, 8
mov eax, dword [esp + 0x168]
cmp eax, 2
mov dword [esp + 0xb0], eax
jne 0x417778
cmp dword [esp + 0x16c], esi
jne 0x415608
movzx ebx, byte [esp + 0x120]
cmp ebx, 3
jae 0x417819
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov edi, eax
push eax
push esi
call fcn.004e54f0
add esp, 8
test eax, eax
je 0x417a6d
mov ebx, edi
push edi
push esi
call fcn.004e54f0
add esp, 8
mov edx, edi
mov dword [esp], eax
mov eax, ebx
shr edi, 0x10
mov dword [esp + 0xe0], ecx
mov ecx, ebx
mov dword [esp + 0xb0], 1
mov dword [esp + 0x2a0], 0x15
shr edx, 8
shr eax, 0x18
mov esi, edi
mov dword [esp + 0x60], ecx
mov dword [esp + 0x58], edi
mov dword [esp + 0x6c], eax
mov eax, edx
mov eax, ebx
mov dword [esp + 0x68], edx
mov dword [esp + 0xa4], edx
mov dword [esp + 0x5c], eax
jmp 0x417044
mov esi, dword [esp + 0x16c]
mov ecx, dword [esp + 0x170]
movss xmm1, dword [esp + 0x180]
movsd xmm0, qword [esp + 0x184]
jmp 0x416cbc
movq xmm0, qword [esp + 0x24]
movq xmm1, qword [esp + 0x2c]
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x124]
mov edi, dword [esp + 0x128]
movdqa xmmword [esp + 0x300], xmm0
movdqa xmmword [esp + 0x4e0], xmm1
mov dword [esp + 0x444], eax
push edi
push esi
call fcn.004e54f0
add esp, 8
test eax, eax
je 0x417855
push edi
push esi
call fcn.004e54f0
add esp, 8
mov dword [esp + 0x170], 1
mov dword [esp + 0x174], edi
mov byte [esp + 0x178], 0x15
mov dword [esp + 0x17c], edi
mov dword [esp + 0x180], eax
jmp 0x416db4
mov dword [esp + 0xe0], eax
mov dword [esp + 0x60], ebx
mov dword [esp + 0xa4], 0
mov ecx, 1
mov eax, 0x17
mov dword [esp + 0x58], 0
mov dword [esp + 0xb0], 0
xor ebx, ebx
xor edx, edx
jmp 0x416ff3
lea ecx, [esp + 0x168]
lea edx, [esp + 0x110]
call fcn.00424330
mov eax, dword [esp + 0x168]
cmp eax, 2
mov dword [esp + 4], eax
jne 0x417a75
mov eax, dword [esp + 0x16c]
mov edi, dword [esp + 0x170]
mov esi, dword [esp + 0x174]
mov dword [esp + 0x2cc], eax
mov dword [esp + 0x2bc], edi
mov dword [esp + 0x2d0], esi
lea ecx, [esp + 0x18]
lea edx, [esp + 0x110]
call fcn.00436390
mov eax, dword [esp + 0x18]
cmp eax, 2
jne 0x417b02
mov edi, dword [esp + 0x1c]
push 9
push dword [esp + 0x24]
lea eax, [esp + 0x20]
push eax
call fcn.004e6920
add esp, 0xc
mov eax, dword [esp + 0x18]
cmp eax, 2
jne 0x417b6f
lea edx, [esp + 0x110]
lea ecx, [esp + 0x18]
push edi
call fcn.00426d80
add esp, 4
mov eax, dword [esp + 0x18]
cmp eax, 2
jne 0x417be4
mov eax, dword [esp + 0x24]
movq xmm0, qword [esp + 0x1c]
movq qword [esp + 0x3d0], xmm0
mov dword [esp + 0x3d8], eax
lea ecx, [esp + 0x70]
lea edx, [esp + 0x3d0]
call fcn.00437190
mov eax, dword [esp + 0x70]
cmp eax, 2
jne 0x417c5b
mov edi, dword [esp + 0x74]
push 9
push dword [esp + 0x7c]
lea eax, [esp + 0x78]
push eax
call fcn.004e6920
add esp, 0xc
mov eax, dword [esp + 0x70]
cmp eax, 2
jne 0x417cbc
lea edx, [esp + 0x3d0]
lea ecx, [esp + 0x70]
push edi
call fcn.00426910
add esp, 4
mov eax, dword [esp + 0x70]
cmp eax, 2
jne 0x417d2c
mov eax, dword [esp + 0x7c]
movq xmm0, qword [esp + 0x74]
movq qword [esp + 0x310], xmm0
mov dword [esp + 0x318], eax
lea ecx, [esp + 0x70]
lea edx, [esp + 0x310]
call fcn.00435550
mov eax, dword [esp + 0x70]
cmp eax, 2
jne 0x417da0
mov edi, dword [esp + 0x74]
push 5
push dword [esp + 0x7c]
lea eax, [esp + 0x78]
push eax
call fcn.004e6920
add esp, 0xc
mov eax, dword [esp + 0x70]
cmp eax, 2
jne 0x417e19
pxor xmm0, xmm0
mov dword [esp + 0x3b3], 0
movdqa xmmword [esp + 0x3a0], xmm0
movdqa xmmword [esp + 0x390], xmm0
mov dword [esp + 0x3af], 0
push edi
lea eax, [esp + 0x74]
push eax
call fcn.004e57b0
add esp, 8
mov ecx, dword [esp + 0x70]
cmp ecx, 2
jne 0x417f82
mov edi, dword [esp + 0x74]
cmp edi, 0x27
jbe 0x41822b
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
mov eax, 0x506
mov ecx, 8
mov dword [esp + ecx + 0x120], eax
cmp dword [esp + 0x120], 2
je 0x41800c
jmp 0x417e9f
shl ebx, 8
jmp 0x4150ee
mov eax, dword [esp + 0x170]
mov edx, dword [esp + 0x18c]
mov ecx, dword [esp + 0x190]
mov esi, dword [esp + 0x16c]
movss xmm1, dword [esp + 0x180]
movsd xmm0, qword [esp + 0x184]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x174]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc0], ecx
mov edx, dword [esp + 0x194]
mov ecx, dword [esp + 0x198]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x178]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov dword [esp], eax
shr eax, 0x10
mov dword [esp + 0x350], eax
mov eax, dword [esp + 0x17c]
mov dword [esp + 0x100], eax
movzx eax, word [esp + 0x182]
jmp 0x416e4e
movsd xmm2, qword [esp + 0x2c]
movsd xmm1, qword [esp + 0x34]
movq xmm0, qword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
movsd qword [esp + 0x180], xmm2
movsd qword [esp + 0x188], xmm1
movq xmm2, qword [esp + 0x3c]
movq xmm1, qword [esp + 0x44]
movq qword [esp + 0x178], xmm0
movq qword [esp + 0x190], xmm2
movq qword [esp + 0x198], xmm1
mov dword [esp + 0x16c], eax
mov dword [esp + 0x174], edx
mov dword [esp + 0x170], ecx
jmp 0x418b70
movzx ecx, byte [esp + 0x1e]
movzx edx, word [esp + 0x1c]
movsd xmm1, qword [esp + 0x27]
movsd xmm2, qword [esp + 0x2f]
movq xmm0, qword [esp + 0x1f]
mov byte [esp + 0x172], cl
mov word [esp + 0x170], dx
movsd qword [esp + 0x17b], xmm1
movsd xmm1, qword [esp + 0x37]
movsd qword [esp + 0x183], xmm2
movq xmm2, qword [esp + 0x3f]
movq qword [esp + 0x173], xmm0
movsd qword [esp + 0x18b], xmm1
movq xmm1, qword [esp + 0x44]
movq qword [esp + 0x193], xmm2
movq qword [esp + 0x198], xmm1
jmp 0x417c4f
movsd xmm2, qword [esp + 0x30]
mov ecx, dword [esp + 0x24]
movq xmm0, qword [esp + 0x1c]
movq xmm1, qword [esp + 0x28]
movsd xmm3, qword [esp + 0x38]
mov edx, dword [esp + 0x48]
movsd qword [esp + 0x184], xmm2
movq xmm2, qword [esp + 0x40]
mov dword [esp + 0x78], ecx
movq qword [esp + 0x70], xmm0
movq qword [esp + 0x17c], xmm1
movsd qword [esp + 0x18c], xmm3
mov dword [esp + 0x19c], edx
movq qword [esp + 0x194], xmm2
movq qword [esp + 0x170], xmm0
mov dword [esp + 0x178], ecx
mov dword [esp + 0x16c], eax
jmp 0x418b70
movsd xmm2, qword [esp + 0x84]
movsd xmm1, qword [esp + 0x8c]
movq xmm0, qword [esp + 0x7c]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
movsd qword [esp + 0x2c], xmm2
movsd qword [esp + 0x34], xmm1
movq xmm2, qword [esp + 0x94]
movq xmm1, qword [esp + 0x9c]
movq qword [esp + 0x24], xmm0
movq qword [esp + 0x3c], xmm2
movq qword [esp + 0x44], xmm1
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], ecx
jmp 0x418a49
movzx ecx, byte [esp + 0x76]
movzx edx, word [esp + 0x74]
movsd xmm1, qword [esp + 0x7f]
movsd xmm2, qword [esp + 0x87]
movq xmm0, qword [esp + 0x77]
mov byte [esp + 0x1e], cl
mov word [esp + 0x1c], dx
movsd qword [esp + 0x27], xmm1
movsd xmm1, qword [esp + 0x8f]
movsd qword [esp + 0x2f], xmm2
movq xmm2, qword [esp + 0x97]
movq qword [esp + 0x1f], xmm0
movsd qword [esp + 0x37], xmm1
movq xmm1, qword [esp + 0x9c]
movq qword [esp + 0x3f], xmm2
movq qword [esp + 0x44], xmm1
mov dword [esp + 0x18], eax
jmp 0x418a49
movsd xmm2, qword [esp + 0x88]
mov ecx, dword [esp + 0x7c]
movq xmm0, qword [esp + 0x74]
movq xmm1, qword [esp + 0x80]
movsd xmm3, qword [esp + 0x90]
mov edx, dword [esp + 0xa0]
movsd qword [esp + 0x30], xmm2
movq xmm2, qword [esp + 0x98]
mov dword [esp + 0x128], ecx
movq qword [esp + 0x120], xmm0
movq qword [esp + 0x28], xmm1
movsd qword [esp + 0x38], xmm3
mov dword [esp + 0x48], edx
movq qword [esp + 0x40], xmm2
movq qword [esp + 0x1c], xmm0
mov dword [esp + 0x24], ecx
mov dword [esp + 0x18], eax
jmp 0x418a49
movsd xmm2, qword [esp + 0x84]
movsd xmm1, qword [esp + 0x8c]
movq xmm0, qword [esp + 0x7c]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
movsd qword [esp + 0x134], xmm2
movsd qword [esp + 0x13c], xmm1
movq xmm2, qword [esp + 0x94]
movq xmm1, qword [esp + 0x9c]
movq qword [esp + 0x12c], xmm0
movq qword [esp + 0x144], xmm2
movq qword [esp + 0x14c], xmm1
mov dword [esp + 0x120], eax
mov dword [esp + 0x128], edx
mov dword [esp + 0x124], ecx
jmp 0x417e9f
movzx ecx, byte [esp + 0x76]
movzx edx, word [esp + 0x74]
movsd xmm1, qword [esp + 0x7f]
movsd xmm2, qword [esp + 0x87]
movq xmm0, qword [esp + 0x77]
mov byte [esp + 0x126], cl
mov word [esp + 0x124], dx
movsd qword [esp + 0x12f], xmm1
movsd xmm1, qword [esp + 0x8f]
movsd qword [esp + 0x137], xmm2
movq xmm2, qword [esp + 0x97]
movq qword [esp + 0x127], xmm0
movsd qword [esp + 0x13f], xmm1
movq xmm1, qword [esp + 0x9c]
movq qword [esp + 0x147], xmm2
movq qword [esp + 0x14c], xmm1
mov dword [esp + 0x120], eax
mov edi, dword [esp + 0x318]
push edi
lea eax, [esp + 0x124]
push eax
lea eax, [esp + 0x78]
push eax
call fcn.004e4280
add esp, 0xc
mov ebx, dword [esp + 0x80]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
movdqu xmm0, xmmword [esp + 0x88]
mov edx, dword [esp + 0x78]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x84]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x7c]
cmp ecx, 2
movdqa xmmword [esp + 0xc0], xmm0
mov dword [esp + 0x298], ebx
mov ebx, dword [esp + 0x98]
jne 0x417f36
mov ecx, dword [esp + 0xac]
mov dword [esp + 8], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x164], ebx
mov dword [esp], edx
mov dword [esp + 0x2b8], ecx
mov dword [esp + 0x15c], eax
jmp 0x418072
movss xmm0, dword [esp + 0x298]
movaps xmm1, xmmword [esp + 0xc0]
mov esi, dword [esp + 0xa0]
mov edi, dword [esp + 0x9c]
movlhps xmm0, xmm1
mov dword [esp + 0x160], esi
mov dword [esp + 0x64], edi
shufps xmm0, xmm1, 0x98
pshufd xmm1, xmm1, 0xff
movd dword [esp + 0x164], xmm1
movaps xmmword [esp + 0xc0], xmm0
jmp 0x4189f9
movsd xmm2, qword [esp + 0x80]
movsd xmm1, qword [esp + 0x88]
movq xmm0, qword [esp + 0x78]
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 0x74]
movsd qword [esp + 0x130], xmm2
movsd qword [esp + 0x138], xmm1
movq xmm2, qword [esp + 0x90]
movq xmm1, qword [esp + 0x98]
movq qword [esp + 0x128], xmm0
mov dword [esp + 0x150], edx
movq qword [esp + 0x140], xmm2
movq qword [esp + 0x148], xmm1
mov dword [esp + 0x120], ecx
mov ecx, 4
mov dword [esp + ecx + 0x120], eax
cmp dword [esp + 0x120], 2
jne 0x417e9f
mov eax, dword [esp + 0x128]
mov dword [esp], eax
mov edx, dword [esp + 0x12c]
mov ecx, dword [esp + 0x130]
mov eax, dword [esp + 0x124]
movdqu xmm0, xmmword [esp + 0x138]
mov edi, dword [esp + 0x318]
mov dword [esp + 8], edx
mov dword [esp + 0x15c], ecx
mov edx, dword [esp + 0x134]
mov ecx, dword [esp + 0x148]
mov dword [esp + 0x2b8], eax
movdqa xmmword [esp + 0xc0], xmm0
mov dword [esp + 0x298], edx
mov dword [esp + 0x164], ecx
push edi
push dword [esp + 0x318]
call fcn.004e54f0
add esp, 8
test eax, eax
je 0x418096
mov ecx, dword [esp + 0x310]
call fcn.0043c370
test al, 1
jne 0x41810e
mov byte [esp + 0x3a0], 0x17
mov ecx, dword [esp + 0x398]
mov eax, dword [esp + 0x394]
mov edx, dword [esp + 0x39c]
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x3a0]
mov dword [esp + 0xac], eax
mov dword [esp + 0x160], edx
mov dword [esp + 4], ecx
cmp byte [esp + 4], 0x18
jne 0x4186d4
mov eax, dword [esp + 0x298]
mov edi, dword [esp]
mov ebx, dword [esp + 0xac]
mov ecx, dword [esp + 0x2b8]
mov edx, dword [esp + 8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x15c]
mov dword [esp + 0xac], edi
jmp 0x4189f9
movzx eax, dl
push eax
lea eax, [esp + 0x74]
push eax
call fcn.004e6b30
add esp, 8
mov eax, dword [esp + 0x70]
cmp eax, 2
jne 0x4181a0
lea esi, [esp + 0x70]
lea edx, [esp + 0x310]
mov ecx, esi
call fcn.00435550
mov eax, dword [esp + 0x70]
cmp eax, 2
jne 0x418284
mov eax, dword [esp + 0x78]
mov dword [esp + 0xc], eax
push dword [esp + 0x74]
push esi
call fcn.004e57b0
add esp, 8
mov edi, dword [esp + 0x70]
cmp edi, 2
jne 0x418389
mov ebx, dword [esp + 0x74]
test ebx, ebx
je 0x41847a
js 0x41a2fe
push 1
push ebx
call fcn.004ed060
add esp, 8
mov esi, eax
test eax, eax
jne 0x41847f
push ebx
push 1
call fcn.004ed3a0
add esp, 8
jmp 0x41a303
movsd xmm1, qword [esp + 0x7f]
movsd xmm2, qword [esp + 0x87]
movq xmm0, qword [esp + 0x77]
movzx ecx, word [esp + 0x74]
movzx edx, byte [esp + 0x76]
movsd qword [esp + 0x39f], xmm1
movsd xmm1, qword [esp + 0x8f]
movsd qword [esp + 0x3a7], xmm2
movq xmm2, qword [esp + 0x97]
movq qword [esp + 0x397], xmm0
movsd qword [esp + 0x3af], xmm1
movq xmm1, qword [esp + 0x9c]
movq qword [esp + 0x3b7], xmm2
movq qword [esp + 0x3bc], xmm1
mov dword [esp + 0x390], eax
mov byte [esp + 0x396], dl
mov word [esp + 0x394], cx
jmp 0x41867d
lea esi, [esp + 0x70]
lea ebx, [esp + 0x390]
lea edx, [esp + 0x310]
mov ecx, esi
push edi
push ebx
call fcn.0043c970
add esp, 8
mov ecx, dword [esp + 0x70]
cmp ecx, 2
jne 0x4182fd
push edi
push ebx
push esi
call fcn.0057aa70
add esp, 0xc
cmp byte [esp + 0x70], 0
je 0x4183fa
mov dword [esp + 0x120], 0
mov byte [esp + 0x128], 8
jmp 0x417e9f
movsd xmm2, qword [esp + 0x84]
movsd xmm1, qword [esp + 0x8c]
movq xmm0, qword [esp + 0x7c]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
movsd qword [esp + 0x134], xmm2
movsd qword [esp + 0x13c], xmm1
movq xmm2, qword [esp + 0x94]
movq xmm1, qword [esp + 0x9c]
movq qword [esp + 0x12c], xmm0
movq qword [esp + 0x144], xmm2
movq qword [esp + 0x14c], xmm1
mov dword [esp + 0x120], eax
mov dword [esp + 0x128], edx
mov dword [esp + 0x124], ecx
jmp 0x4185ee
movsd xmm2, qword [esp + 0x84]
movsd xmm1, qword [esp + 0x8c]
movq xmm0, qword [esp + 0x7c]
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x78]
movsd qword [esp + 0x134], xmm2
movsd qword [esp + 0x13c], xmm1
movq xmm2, qword [esp + 0x94]
movq xmm1, qword [esp + 0x9c]
movq qword [esp + 0x12c], xmm0
movq qword [esp + 0x144], xmm2
movq qword [esp + 0x14c], xmm1
mov dword [esp + 0x120], ecx
mov dword [esp + 0x124], edx
mov ecx, 8
mov dword [esp + ecx + 0x120], eax
cmp dword [esp + 0x120], 2
je 0x41800c
jmp 0x417e9f
mov eax, dword [esp + 0x74]
movsd xmm2, qword [esp + 0x80]
movsd xmm1, qword [esp + 0x88]
movsd xmm0, qword [esp + 0x78]
mov dword [esp + 0xc], eax
movsd qword [esp + 0x368], xmm2
movsd qword [esp + 0x370], xmm1
movsd xmm2, qword [esp + 0x90]
movsd xmm1, qword [esp + 0x98]
mov eax, dword [esp + 0xa0]
movaps xmmword [esp + 0x100], xmm0
movsd qword [esp + 0x378], xmm2
movsd qword [esp + 0x380], xmm1
mov dword [esp + 0x388], eax
jmp 0x418574
movzx eax, byte [esp + 0x73]
movsd xmm1, qword [esp + 0x84]
mov ecx, dword [esp + 0x78]
movq xmm0, qword [esp + 0x7c]
movq xmm2, qword [esp + 0x8c]
mov byte [esp + 0x126], al
movzx eax, word [esp + 0x71]
mov word [esp + 0x124], ax
movsd qword [esp + 0x137], xmm1
mov eax, dword [esp + 0x74]
movq xmm1, qword [esp + 0x91]
movq qword [esp + 0x13f], xmm2
movq qword [esp + 0x12f], xmm0
movq qword [esp + 0x144], xmm1
mov dword [esp + 0x12b], ecx
shld ecx, eax, 0x18
mov dword [esp + 0x127], eax
mov dword [esp], ecx
jmp 0x418016
mov esi, 1
lea edx, [esp + 0x310]
lea ecx, [esp + 0x70]
push ebx
push esi
call fcn.0043c970
add esp, 8
mov edi, dword [esp + 0x70]
cmp edi, 2
jne 0x4184f8
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], ebx
mov edx, dword [esp + 0xc]
lea eax, [esp + 0x70]
lea ecx, [esp + 0x120]
push eax
call fcn.00411950
add esp, 4
cmp dword [esp + 0x120], 2
jne 0x4185ee
movq xmm0, qword [esp + 0x124]
movq xmm1, qword [esp + 0x12c]
movq qword [esp + 0x39c], xmm1
movq qword [esp + 0x394], xmm0
jmp 0x41809e
mov eax, dword [esp + 0x74]
movsd xmm2, qword [esp + 0x80]
movsd xmm1, qword [esp + 0x88]
movsd xmm0, qword [esp + 0x78]
test ebx, ebx
mov dword [esp + 0xc], eax
movsd qword [esp + 0x368], xmm2
movsd qword [esp + 0x370], xmm1
movsd xmm2, qword [esp + 0x90]
movsd xmm1, qword [esp + 0x98]
mov eax, dword [esp + 0xa0]
movaps xmmword [esp + 0x100], xmm0
movsd qword [esp + 0x378], xmm2
movsd qword [esp + 0x380], xmm1
mov dword [esp + 0x388], eax
je 0x418574
push 1
push ebx
push esi
call fcn.004ed020
add esp, 0xc
movsd xmm1, qword [esp + 0x378]
mov eax, dword [esp + 0x388]
movq xmm0, qword [esp + 0x380]
movq xmm2, qword [esp + 0x368]
movsd qword [esp + 0x140], xmm1
movsd xmm1, qword [esp + 0x370]
mov dword [esp + 0x150], eax
mov eax, dword [esp + 0xc]
movq qword [esp + 0x148], xmm0
movq qword [esp + 0x130], xmm2
movsd qword [esp + 0x138], xmm1
movdqa xmm1, xmmword [esp + 0x100]
mov dword [esp + 0x120], edi
mov dword [esp + 0x124], eax
movq qword [esp + 0x128], xmm1
movq xmm0, qword [esp + 0x120]
movsd xmm3, qword [esp + 0x148]
movsd xmm2, qword [esp + 0x140]
movq xmm1, qword [esp + 0x128]
mov eax, dword [esp + 0x150]
movq qword [esp + 0x390], xmm0
movsd qword [esp + 0x3b8], xmm3
movsd qword [esp + 0x3b0], xmm2
movsd xmm3, qword [esp + 0x138]
movq xmm2, qword [esp + 0x130]
mov dword [esp + 0x3c0], eax
movq qword [esp + 0x398], xmm1
cmp dword [esp + 0x390], 2
movsd qword [esp + 0x3a8], xmm3
movq qword [esp + 0x3a0], xmm2
je 0x41809e
mov edi, dword [esp + 0x318]
lea eax, [esp + 0x390]
push edi
push eax
lea eax, [esp + 0x78]
push eax
call fcn.004e4280
add esp, 0xc
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
mov edi, dword [esp + 0x80]
mov edx, dword [esp + 0x78]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x7c]
cmp ecx, 2
mov dword [esp + 4], edi
jne 0x4189bb
mov dword [esp + 0x64], edx
mov dword [esp + 0x160], eax
cmp byte [esp + 4], 0x18
je 0x4180db
mov ebx, dword [esp + 0x314]
mov edi, dword [esp + 0x318]
push edi
push ebx
call fcn.004e54f0
add esp, 8
test eax, eax
je 0x418748
push edi
push ebx
call fcn.004e54f0
add esp, 8
cmp byte [esp + 4], 0x17
mov dword [esp + 0x18], 1
mov dword [esp + 0x1c], edi
mov byte [esp + 0x20], 0x15
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], eax
mov byte [esp + 0x4c], 0x18
je 0x418a4e
cmp dword [esp + 0x64], 0
je 0x418a4e
push 1
push dword [esp + 0x68]
push dword [esp + 0xb4]
call fcn.004ed020
add esp, 0xc
jmp 0x418a4e
movdqa xmm0, xmmword [esp + 0xc0]
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 4]
movdqu xmmword [esp + 0x2c], xmm0
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0xac]
mov eax, edx
shr eax, 8
mov word [esp + 0x2ec], ax
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x160]
mov dword [esp + 0x48], ecx
mov byte [esp + 0x4c], dl
mov word [esp + 0x4d], ax
shr eax, 0x10
mov byte [esp + 0x4f], al
mov byte [esp + 0x2ee], al
lea esi, [esp + 0x18]
lea edx, [esp + 0x3d0]
mov ecx, esi
call fcn.00437190
mov eax, dword [esp + 0x18]
cmp eax, 2
mov dword [esp + 0xc], eax
jne 0x41896a
mov edi, dword [esp + 0x1c]
push 2
push dword [esp + 0x24]
push esi
call fcn.004e6920
add esp, 0xc
mov eax, dword [esp + 0x18]
cmp eax, 2
mov dword [esp + 0xc], eax
jne 0x418da0
push 1
push edi
push esi
call fcn.004e56a0
add esp, 0xc
mov eax, dword [esp + 0x18]
cmp eax, 2
mov dword [esp + 0xc], eax
jne 0x41896a
mov edi, dword [esp + 0x1c]
mov byte [esp + 0x70], 0
lea edx, [esp + 0x3d0]
lea ecx, [esp + 0x18]
push 1
lea eax, [esp + 0x74]
push eax
call fcn.0043c3e0
add esp, 8
mov eax, dword [esp + 0x18]
cmp eax, 2
mov dword [esp + 0xc], eax
jne 0x41896a
movzx eax, byte [esp + 0x70]
mov dword [esp + 0x294], eax
lea edx, [esp + 0x3d0]
lea ecx, [esp + 0x18]
push edi
call fcn.00425eb0
add esp, 4
mov eax, dword [esp + 0x18]
cmp eax, 2
mov dword [esp + 0xc], eax
jne 0x41896a
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x24]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x20]
push esi
mov dword [esp + 0x2b8], eax
push eax
push dword [esp + 0x29c]
lea eax, [esp + 0x24]
push eax
call fcn.004e04d0
add esp, 0x10
mov eax, dword [esp + 0x18]
cmp eax, 2
mov dword [esp + 0xc], eax
jne 0x418e4c
movdqa xmm1, xmmword [esp + 0xc0]
mov eax, dword [esp + 0x28]
movzx edx, word [esp + 0x2ec]
movzx ecx, byte [esp + 0x2ee]
cmp dword [esp + 0xdc], 0x80000000
pshufd xmm0, xmm1, 0xee
movd dword [esp + 0x10], xmm1
mov dword [esp + 0x100], eax
mov word [esp + 0x2e8], dx
mov byte [esp + 0x2ea], cl
movd ebx, xmm0
pshufd xmm0, xmm1, 0xff
movd edi, xmm0
pshufd xmm0, xmm1, 0x55
movd dword [esp + 0xc0], xmm0
jne 0x418ee9
movd xmm0, dword [esp + 0x2b8]
movd xmm1, dword [esp + 0x294]
movd xmm2, dword [esp + 0x15c]
mov eax, dword [esp + 0x2b4]
punpckldq xmm1, xmm0
movd xmm0, dword [esp + 0x298]
mov dword [esp + 0xc], eax
movdqa xmmword [esp + 0x2a0], xmm1
punpckldq xmm2, xmm0
movdqa xmmword [esp + 0xe0], xmm2
jmp 0x418af2
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
movsd xmm0, qword [esp + 0x24]
movq xmm2, qword [esp + 0x34]
movq xmm1, qword [esp + 0x44]
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x2c]
mov esi, ebx
movaps xmmword [esp + 0x2a0], xmm0
movdqa xmmword [esp + 0xe0], xmm2
movdqa xmmword [esp + 0xb0], xmm1
shr esi, 8
mov edi, eax
shr eax, 8
mov dword [esp], eax
jmp 0x418df5
mov esi, dword [esp + 0xa0]
movups xmm0, xmmword [esp + 0x84]
mov edi, dword [esp + 0x94]
mov ebx, dword [esp + 0x98]
mov dword [esp + 0x160], esi
mov esi, dword [esp + 0x9c]
movaps xmmword [esp + 0xc0], xmm0
mov dword [esp + 0x164], edi
mov dword [esp + 0x64], esi
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0xac]
movdqa xmm0, xmmword [esp + 0xc0]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
mov edx, dword [esp + 4]
mov ecx, dword [esp + 0x164]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
movdqu xmmword [esp + 0x2c], xmm0
mov dword [esp + 0x3c], ecx
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x160]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], ecx
mov byte [esp + 0x4c], 0x18
push dword [esp + 0x3d8]
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x78]
push eax
call fcn.004e4280
add esp, 0xc
mov ecx, dword [esp + 0x78]
movsd xmm0, qword [esp + 0x7c]
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
mov dword [esp + 0x100], ecx
movaps xmmword [esp + 0x2a0], xmm0
mov ecx, dword [esp + 0x88]
movsd xmm0, qword [esp + 0x8c]
mov dword [esp], edx
mov edx, dword [esp + 0x94]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
movaps xmmword [esp + 0xe0], xmm0
movsd xmm0, qword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x10], edx
movaps xmmword [esp + 0xb0], xmm0
mov dword [esp + 0xc0], ecx
movdqa xmm0, xmmword [esp + 0xb0]
movd ebx, xmm0
pshufd xmm0, xmm0, 0x55
movd edi, xmm0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x100]
movaps xmm0, xmmword [esp + 0x2a0]
mov edx, dword [esp]
mov dword [esp + 0x16c], eax
mov dword [esp + 0x170], esi
mov dword [esp + 0x174], ecx
mov ecx, dword [esp + 8]
movlps qword [esp + 0x178], xmm0
mov dword [esp + 0x180], edx
movdqa xmm0, xmmword [esp + 0xe0]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x184], ecx
mov ecx, dword [esp + 0xc0]
movq qword [esp + 0x188], xmm0
mov dword [esp + 0x190], edx
mov dword [esp + 0x194], ecx
mov dword [esp + 0x198], ebx
mov dword [esp + 0x19c], edi
mov dword [esp + 0x168], 0x80000000
lea eax, [esp + 0x16c]
push dword [esp + 0x118]
push eax
lea eax, [esp + 0x20]
push eax
call fcn.004e4280
add esp, 0xc
mov eax, dword [esp + 0x18]
movss xmm0, dword [esp + 0x30]
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1c]
movaps xmmword [esp + 0x320], xmm0
movq xmm0, qword [esp + 0x34]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc0], ecx
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x20]
movdqa xmmword [esp + 0x300], xmm0
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x28]
mov dword [esp], eax
shr eax, 0x10
mov dword [esp + 0x350], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x100], eax
movzx eax, word [esp + 0x32]
mov dword [esp + 0xe0], eax
cmp dword [esp + 0x2d0], 0
je 0x418cb8
xor edi, edi
jmp 0x418c3b
inc edi
cmp edi, dword [esp + 0x2d0]
je 0x418cb8
mov eax, dword [esp + 0x2bc]
lea edx, [edi + edi*2]
mov dword [esp + 0xb0], edx
mov esi, dword [eax + edx*4 + 8]
mov ecx, dword [eax + edx*4 + 4]
test esi, esi
mov dword [esp + 0x2a0], ecx
je 0x418c87
mov eax, dword [esp + 0x2a0]
lea ebx, [eax + 0x2c]
jmp 0x418c71
add ebx, 0x38
dec esi
je 0x418c87
mov eax, dword [ebx]
test eax, eax
je 0x418c6b
push 1
push eax
push dword [ebx - 4]
call fcn.004ed020
add esp, 0xc
jmp 0x418c6b
mov eax, dword [esp + 0x2bc]
mov ecx, dword [esp + 0xb0]
lea eax, [eax + ecx*4]
mov eax, dword [eax]
test eax, eax
je 0x418c31
imul eax, eax, 0x38
push 4
push eax
push dword [esp + 0x2a8]
call fcn.004ed020
add esp, 0xc
jmp 0x418c31
cmp dword [esp + 0x2cc], 0
je 0x418ce1
mov eax, dword [esp + 0x2cc]
shl eax, 2
lea eax, [eax + eax*2]
push 4
push eax
push dword [esp + 0x2c4]
call fcn.004ed020
add esp, 0xc
movaps xmm0, xmmword [esp + 0x300]
movaps xmm1, xmmword [esp + 0x320]
mov esi, dword [esp + 0x6c]
cmp dword [esp + 0x2d4], 0
movaps xmmword [esp + 0x300], xmm0
movaps xmmword [esp + 0x320], xmm1
jne 0x416e73
mov eax, dword [esp + 0x2f8]
test eax, eax
je 0x418d46
shl eax, 2
lea eax, [eax + eax*2]
push 4
push eax
push dword [esp + 0x2c8]
call fcn.004ed020
movaps xmm1, xmmword [esp + 0x32c]
movaps xmm0, xmmword [esp + 0x30c]
add esp, 0xc
mov edi, dword [esp + 0x5c]
mov ebx, dword [esp + 4]
cmp byte [esp + 0x58], 0x17
mov eax, dword [esp + 0xfc]
je 0x416762
mov ecx, dword [esp + 0x29c]
test ecx, ecx
je 0x416762
push 1
push ecx
push eax
movaps xmmword [esp + 0x30c], xmm0
movaps xmmword [esp + 0x32c], xmm1
call fcn.004ed020
movaps xmm1, xmmword [esp + 0x32c]
movaps xmm0, xmmword [esp + 0x30c]
add esp, 0xc
jmp 0x416762
movsd xmm0, qword [esp + 0x24]
movzx esi, byte [esp + 0x1f]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x20]
movzx eax, word [esp + 0x1d]
movzx ebx, byte [esp + 0x1c]
movaps xmmword [esp + 0x2a0], xmm0
movsd xmm0, qword [esp + 0x34]
shl esi, 0x10
mov edi, ecx
shr ecx, 8
mov dword [esp + 0x100], edx
or esi, eax
mov dword [esp], ecx
movaps xmmword [esp + 0xe0], xmm0
movsd xmm0, qword [esp + 0x44]
movaps xmmword [esp + 0xb0], xmm0
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov dword [esp + 8], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0xc0], ecx
shl esi, 8
shl dword [esp], 8
cmp byte [esp + 4], 0x17
mov eax, edi
movzx ebx, bl
movzx edi, al
je 0x418e42
cmp dword [esp + 0x64], 0
je 0x418e42
push 1
push dword [esp + 0x68]
push dword [esp + 0xb4]
call fcn.004ed020
add esp, 0xc
add dword [esp], edi
or esi, ebx
jmp 0x418adc
movzx edx, byte [esp + 0x2f]
movzx ecx, word [esp + 0x2d]
movsd xmm0, qword [esp + 0x24]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
shl edx, 0x10
movaps xmmword [esp + 0x2a0], xmm0
movsd xmm0, qword [esp + 0x34]
mov esi, ebx
mov dword [esp + 0x100], eax
movzx eax, byte [esp + 0x2c]
or ecx, edx
shr esi, 8
mov edx, dword [esp + 0x3c]
cmp dword [esp + 0xdc], 0
mov dword [esp], ecx
mov ecx, dword [esp + 0x30]
movaps xmmword [esp + 0xe0], xmm0
movsd xmm0, qword [esp + 0x44]
mov edi, eax
mov dword [esp + 0x10], edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x40]
movaps xmmword [esp + 0xb0], xmm0
mov dword [esp + 0xc0], ecx
je 0x418e10
push 1
push dword [esp + 0xe0]
push dword [esp + 0x2bc]
call fcn.004ed020
add esp, 0xc
jmp 0x418e10
movzx eax, byte [esp + 0x2ea]
mov ecx, dword [esp + 0x3d4]
mov byte [esp + 0x1a], al
movzx eax, word [esp + 0x2e8]
mov word [esp + 0x18], ax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0xc], eax
push eax
mov dword [esp + 0x340], ecx
push ecx
call fcn.004e54f0
add esp, 8
test eax, eax
je 0x418fc5
push dword [esp + 0xc]
push dword [esp + 0x340]
call fcn.004e54f0
add esp, 8
cmp byte [esp + 4], 0x17
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x16c], 1
mov dword [esp + 0x170], ecx
mov byte [esp + 0x174], 0x15
mov dword [esp + 0x178], ecx
mov dword [esp + 0x17c], eax
mov dword [esp + 0x168], 0x80000000
je 0x418f9a
cmp dword [esp + 0x64], 0
je 0x418f9a
push 1
push dword [esp + 0x68]
push dword [esp + 0xb4]
call fcn.004ed020
add esp, 0xc
cmp dword [esp + 0xdc], 0
je 0x4190c3
push 1
push dword [esp + 0xe0]
push dword [esp + 0x2bc]
call fcn.004ed020
add esp, 0xc
jmp 0x4190c3
mov eax, dword [esp + 0xdc]
movzx edx, word [esp + 0x18]
movzx ecx, byte [esp + 0x1a]
mov dword [esp + 0x168], eax
mov eax, dword [esp + 0x2b4]
mov dword [esp + 0x16c], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 0x170], esi
mov dword [esp + 0x174], eax
mov eax, dword [esp + 0x294]
mov dword [esp + 0x178], eax
mov eax, dword [esp + 0x2b8]
mov dword [esp + 0x17c], eax
mov eax, dword [esp]
mov dword [esp + 0x180], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x184], eax
mov eax, dword [esp + 0x15c]
mov dword [esp + 0x188], eax
mov eax, dword [esp + 0x298]
mov dword [esp + 0x18c], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x190], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0x164]
mov dword [esp + 0x198], ebx
mov dword [esp + 0x19c], edi
mov dword [esp + 0x1a0], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0x1a4], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x1a8], eax
mov eax, dword [esp + 0x160]
mov dword [esp + 0x1ac], eax
mov eax, dword [esp + 4]
mov byte [esp + 0x1b0], al
mov word [esp + 0x1b1], dx
mov byte [esp + 0x1b3], cl
mov eax, dword [esp + 0x168]
cmp eax, 0x80000000
mov dword [esp + 0x64], eax
je 0x418b7b
mov eax, dword [esp + 0x16c]
movups xmm0, xmmword [esp + 0x170]
mov edi, dword [esp + 0x190]
mov esi, dword [esp + 0x194]
mov bh, byte [esp + 0x1b3]
mov bl, byte [esp + 0x1b0]
mov dword [esp + 0x164], eax
mov eax, dword [esp + 0x180]
movaps xmmword [esp + 0x4d0], xmm0
movsd xmm0, qword [esp + 0x188]
mov dword [esp + 0x438], edi
mov dword [esp + 0x440], esi
mov edi, dword [esp + 0x1a0]
mov esi, dword [esp + 0x1a4]
mov byte [esp + 0x2e6], bh
mov byte [esp + 0xac], bl
mov dword [esp + 0x33c], eax
movzx eax, byte [esp + 0x184]
movaps xmmword [esp + 0x4c0], xmm0
movsd xmm0, qword [esp + 0x198]
mov dword [esp + 0x43c], edi
mov dword [esp + 0x160], esi
mov byte [esp + 0xdc], al
movzx eax, byte [esp + 0x185]
movaps xmmword [esp + 0x4b0], xmm0
movq xmm0, qword [esp + 0x1a8]
mov byte [esp + 0x2b4], al
movzx eax, word [esp + 0x186]
movdqa xmmword [esp + 0x470], xmm0
mov word [esp + 0x34e], ax
movzx eax, word [esp + 0x1b1]
mov word [esp + 0x2e4], ax
lea edx, [esp + 0x110]
lea ecx, [esp + 0x168]
push 1
push 1
call fcn.004113b0
add esp, 8
mov eax, dword [esp + 0x168]
cmp eax, 2
mov dword [esp + 4], eax
jne 0x4193bb
mov eax, dword [esp + 0x16c]
mov ebx, dword [esp + 0x170]
movq xmm0, qword [esp + 0x174]
mov edi, dword [esp + 0x17c]
mov dword [esp + 0x15c], eax
mov dword [esp + 0x298], ebx
movdqa xmmword [esp + 0x4a0], xmm0
mov dword [esp + 0x434], edi
lea ecx, [esp + 0x168]
lea edx, [esp + 0x110]
mov esi, ecx
push 2
push 2
call fcn.004113b0
add esp, 8
mov eax, dword [esp + 0x168]
cmp eax, 2
mov dword [esp + 4], eax
jne 0x419472
mov eax, dword [esp + 0x16c]
movq xmm0, qword [esp + 0x174]
mov dword [esp + 0x294], eax
mov eax, dword [esp + 0x170]
movdqa xmmword [esp + 0x490], xmm0
mov dword [esp + 0x2b8], eax
mov eax, dword [esp + 0x17c]
mov dword [esp + 0x430], eax
push dword [esp + 0x118]
push dword [esp + 0x118]
call fcn.004e54f0
add esp, 8
mov dword [esp + 0x2f0], 0x80000000
mov dword [esp + 0x2f4], 0
test eax, eax
je 0x419579
mov edi, dword [esp + 0x110]
push dword [edi + 8]
push dword [edi + 4]
call fcn.004e54f0
add esp, 8
test eax, eax
je 0x419579
mov edi, dword [edi]
push dword [edi + 8]
push dword [edi + 4]
call fcn.004e54f0
add esp, 8
test eax, eax
je 0x419579
push dword [edi]
call fcn.004e6380
add esp, 4
test al, 1
je 0x419579
movzx eax, dl
push eax
push esi
call fcn.004e6b30
add esp, 8
mov eax, dword [esp + 0x168]
movzx ebx, byte [esp + 0x16c]
movzx edi, word [esp + 0x16d]
cmp eax, 2
mov dword [esp + 4], eax
jne 0x4196e5
cmp bl, 0x15
jne 0x419579
shl edi, 8
or edi, 0x15
push edi
call fcn.004e69b0
add esp, 4
cmp al, 3
ja 0x419579
push edi
call fcn.004e69b0
add esp, 4
cmp al, 3
je 0x419778
mov ecx, esi
lea edx, [esp + 0x110]
call fcn.0043a1c0
mov eax, dword [esp + 0x168]
cmp eax, 2
mov dword [esp + 4], eax
jne 0x419915
push dword [esp + 0x118]
push dword [esp + 0x118]
call fcn.004e54f0
add esp, 8
jmp 0x4192cd
mov eax, dword [esp + 0x16c]
movss xmm0, dword [esp + 0x180]
mov edx, dword [esp + 0x18c]
mov ecx, dword [esp + 0x190]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x170]
movaps xmmword [esp + 0x320], xmm0
movq xmm0, qword [esp + 0x184]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc0], ecx
mov edx, dword [esp + 0x194]
mov ecx, dword [esp + 0x198]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x174]
movdqa xmmword [esp + 0x300], xmm0
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x178]
mov dword [esp], eax
shr eax, 0x10
mov dword [esp + 0x350], eax
mov eax, dword [esp + 0x17c]
mov dword [esp + 0x100], eax
movzx eax, word [esp + 0x182]
mov dword [esp + 0xe0], eax
cmp byte [esp + 0xac], 0x17
jne 0x419531
jmp 0x419554
mov eax, dword [esp + 0x16c]
movss xmm0, dword [esp + 0x180]
mov edx, dword [esp + 0x18c]
mov ecx, dword [esp + 0x190]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x170]
movaps xmmword [esp + 0x320], xmm0
movq xmm0, qword [esp + 0x184]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc0], ecx
mov edx, dword [esp + 0x194]
mov ecx, dword [esp + 0x198]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x174]
movdqa xmmword [esp + 0x300], xmm0
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x178]
mov dword [esp], eax
shr eax, 0x10
mov dword [esp + 0x350], eax
mov eax, dword [esp + 0x17c]
mov dword [esp + 0x100], eax
movzx eax, word [esp + 0x182]
mov dword [esp + 0xe0], eax
test dword [esp + 0x15c], 0x7fffffff
jne 0x4196ba
cmp byte [esp + 0xac], 0x17
je 0x419554
movdqa xmm0, xmmword [esp + 0x470]
movd eax, xmm0
test eax, eax
je 0x419554
push 1
push eax
push dword [esp + 0x168]
call fcn.004ed020
add esp, 0xc
cmp dword [esp + 0x64], 0
je 0x418c1f
push 1
push dword [esp + 0x68]
push dword [esp + 0x16c]
call fcn.004ed020
add esp, 0xc
jmp 0x418c1f
xor ecx, ecx
mov esi, dword [esp + 0x2f4]
movdqa xmm1, xmmword [esp + 0x350]
movdqa xmm6, xmmword [esp + 0x4e0]
movdqa xmm5, xmmword [esp + 0x480]
mov dh, byte [esp + 0x2e2]
mov dl, byte [esp + 0x2e6]
movdqa xmm4, xmmword [esp + 0x460]
movzx edi, word [esp + 0x2e0]
shr dword [esp + 0xe0], 0x10
movaps xmm7, xmmword [esp + 0x490]
or esi, dword [esp + 0x2f0]
pshufd xmm0, xmm1, 0x55
pshufd xmm2, xmm6, 0x55
pshufd xmm3, xmm5, 0x55
movd dword [esp + 0x2f0], xmm1
mov byte [esp + 0x2de], dh
mov byte [esp + 0x2da], dl
movd edx, xmm4
pshufd xmm4, xmm4, 0x55
movd dword [esp + 0xc], xmm5
movd dword [esp + 0x10], xmm6
movaps xmm5, xmmword [esp + 0x4b0]
movaps xmm6, xmmword [esp + 0x4a0]
mov word [esp + 0x2dc], di
movd eax, xmm0
pshufd xmm0, xmm1, 0xee
pshufd xmm1, xmm1, 0xff
movd dword [esp + 0xc0], xmm2
movd dword [esp + 8], xmm3
movd dword [esp + 0x100], xmm4
movaps xmm2, xmmword [esp + 0x470]
movaps xmm3, xmmword [esp + 0x4d0]
movaps xmm4, xmmword [esp + 0x4c0]
mov dword [esp], edx
shr edx, 0x10
movd dword [esp + 0xa8], xmm0
movd dword [esp + 0x460], xmm1
movaps xmm0, xmmword [esp + 0x300]
movaps xmm1, xmmword [esp + 0x320]
mov ebx, eax
shr ebx, 0x10
or esi, ecx
mov dword [esp + 4], ebx
mov dword [esp + 0x2f4], esi
movzx esi, word [esp + 0x2e4]
mov word [esp + 0x2d8], si
mov esi, dword [esp + 0x400]
jmp 0x417111
push 1
push dword [esp + 0x160]
push dword [esp + 0x2a0]
call fcn.004ed020
add esp, 0xc
cmp byte [esp + 0xac], 0x17
jne 0x419531
jmp 0x419554
movzx eax, byte [esp + 0x16f]
mov edx, dword [esp + 0x178]
movsd xmm0, qword [esp + 0x184]
mov esi, eax
mov eax, dword [esp + 0x170]
mov ecx, edx
mov dword [esp], edx
shr edx, 0x18
movaps xmmword [esp + 0x300], xmm0
shr ecx, 0x10
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x174]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x17c]
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x180]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x18c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x190]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x198]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x194]
mov dword [esp + 0xc], eax
jmp 0x419abb
lea ecx, [esp + 0x168]
lea edx, [esp + 0x110]
call fcn.00436390
mov eax, dword [esp + 0x168]
cmp eax, 2
mov dword [esp + 4], eax
jne 0x4199bf
movzx eax, byte [esp + 0x170]
movzx ecx, byte [esp + 0x172]
movzx edi, byte [esp + 0x171]
cmp eax, 0x15
jne 0x419a54
mov edx, ecx
and dl, 1
je 0x419a54
lea edx, [esp + 0x110]
lea ecx, [esp + 0x168]
push dword [esp + 0x16c]
call fcn.00426d80
add esp, 4
mov eax, dword [esp + 0x168]
cmp eax, 2
mov dword [esp + 4], eax
jne 0x4199bf
mov eax, dword [esp + 0x16c]
mov edx, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
mov dword [esp + 0x368], eax
mov dword [esp + 0x36c], ecx
mov dword [esp + 0x370], edx
lea esi, [esp + 0x168]
lea edx, [esp + 0x368]
mov ecx, esi
call fcn.00437190
mov eax, dword [esp + 0x168]
cmp eax, 2
mov dword [esp + 4], eax
jne 0x419b32
mov edi, dword [esp + 0x16c]
push 9
push dword [esp + 0x174]
push esi
call fcn.004e6920
add esp, 0xc
mov eax, dword [esp + 0x168]
cmp eax, 2
mov dword [esp + 4], eax
jne 0x419b32
lea edx, [esp + 0x368]
lea ecx, [esp + 0x168]
push edi
call fcn.00426910
add esp, 4
mov eax, dword [esp + 0x168]
cmp eax, 2
mov dword [esp + 4], eax
jne 0x41a29a
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 4
mov dword [esp + 0x100], 0
mov dword [esp + 0x3fc], 4
mov dword [esp + 0x3f8], 0
mov dword [esp + 8], 0
mov dword [esp + 0x390], edx
mov dword [esp + 0x394], eax
mov dword [esp + 0x398], ecx
jmp 0x419cb0
mov eax, dword [esp + 0x170]
mov edx, dword [esp + 0x194]
mov esi, dword [esp + 0x16c]
movsd xmm0, qword [esp + 0x184]
movzx ecx, byte [esp + 0x17a]
mov dword [esp + 0x68], eax
movzx eax, byte [esp + 0x178]
mov ah, byte [esp + 0x179]
mov dword [esp + 0xc], edx
movzx edx, byte [esp + 0x17b]
mov edi, esi
mov ebx, esi
movaps xmmword [esp + 0x300], xmm0
shr esi, 0x18
shr edi, 8
mov dword [esp], eax
mov eax, dword [esp + 0x174]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x17c]
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x180]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x18c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x190]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x198]
mov dword [esp + 8], eax
jmp 0x419abb
mov edx, dword [esp + 0x178]
mov esi, dword [esp + 0x17c]
mov ecx, dword [esp + 0x174]
mov ebx, dword [esp + 0x16c]
mov eax, dword [esp + 0x170]
movq xmm0, qword [esp + 0x184]
mov dword [esp], edx
mov edx, dword [esp + 0x180]
mov dword [esp + 0x100], esi
mov esi, dword [esp + 0x18c]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0x3e0], edx
mov edx, dword [esp + 0x190]
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x198]
mov dword [esp + 0xc0], edx
mov edx, dword [esp + 0x194]
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
cmp dword [esp + 4], 3
mov ecx, 0
je 0x41957b
mov edx, dword [esp]
and edx, 0xffff0000
jmp 0x419a83
shl ecx, 0x10
shl edi, 8
mov dword [esp + 4], 0
mov dword [esp + 8], 0
xor edx, edx
mov dword [esp], 0
or edi, ecx
or edi, eax
mov eax, 0x1713
mov dword [esp + 0xa8], edi
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0xa8]
mov ecx, edx
mov esi, ebx
mov edi, ebx
shr edx, 0x18
movdqa xmmword [esp + 0x300], xmm0
shr edi, 8
shr esi, 0x18
shr ecx, 0x10
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0xe0], eax
mov eax, esi
movzx esi, dl
movzx ecx, cl
movzx edi, di
shl esi, 8
movzx eax, al
shl edi, 8
or ecx, esi
shl eax, 0x18
mov dword [esp + 0x350], ecx
mov ecx, dword [esp + 0xe0]
or edi, eax
movzx eax, bl
or eax, edi
mov dword [esp + 0x6c], eax
movd xmm0, ecx
shr ecx, 0x10
test dword [esp + 0x294], 0x7fffffff
movdqa xmmword [esp + 0x320], xmm0
mov dword [esp + 0xe0], ecx
je 0x419516
push 1
push dword [esp + 0x298]
push dword [esp + 0x2c0]
call fcn.004ed020
add esp, 0xc
jmp 0x419516
mov ecx, dword [esp + 0x170]
mov eax, dword [esp + 0x174]
mov edx, dword [esp + 0x178]
movdqu xmm0, xmmword [esp + 0x17c]
mov ebx, dword [esp + 0x16c]
mov dword [esp + 0x14], ecx
and ecx, 0xffffff00
mov dword [esp + 0xa8], eax
mov dword [esp], edx
movdqa xmmword [esp + 0x3e0], xmm0
mov edx, dword [esp + 0x190]
mov eax, dword [esp + 0x18c]
mov esi, dword [esp + 0x198]
mov dword [esp + 0xc0], edx
mov edx, dword [esp + 0x194]
mov dword [esp + 0x10], eax
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
movdqa xmm1, xmmword [esp + 0x3e0]
movzx eax, byte [esp + 0x14]
pshufd xmm0, xmm1, 0xee
movd dword [esp + 0x100], xmm1
pshufd xmm1, xmm1, 0x55
or eax, ecx
movd dword [esp + 0x3e0], xmm1
jmp 0x419a39
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x128]
mov dword [esp + 0x3fc], eax
mov dword [esp + 0x100], ecx
mov esi, dword [esp + 0xc0]
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x3fc]
mov ecx, dword [esp + 4]
movdqa xmm0, xmmword [esp + 0x420]
movdqa xmm1, xmmword [esp + 0x410]
shld esi, edi, 0x18
shl edi, 0x18
and ebx, 0xffffff
movdqa xmmword [esp + 0x3e0], xmm0
movdqa xmmword [esp + 0x450], xmm1
or ebx, edi
mov edi, dword [esp + 0x100]
mov dword [esp + 0x3f8], esi
imul edx, edi, 0x38
inc edi
mov dword [eax + edx], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x100], edi
mov dword [eax + edx + 4], ecx
mov dword [eax + edx + 8], ebx
mov ecx, dword [esp + 0xa8]
mov ebx, dword [esp + 0x28c]
mov dword [eax + edx + 0xc], esi
mov dword [eax + edx + 0x10], ecx
mov dword [eax + edx + 0x14], ebx
movzx ecx, byte [esp]
mov ebx, dword [esp + 0x290]
movdqu xmmword [eax + edx + 0x18], xmm0
movq qword [eax + edx + 0x28], xmm1
mov dword [eax + edx + 0x34], ecx
mov dword [eax + edx + 0x30], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov eax, dword [esp + 0x394]
mov ecx, dword [esp + 0x398]
mov edx, dword [esp + 0x100]
mov dword [esp + 0x128], edx
push ecx
push eax
call fcn.004e54f0
add esp, 8
test eax, eax
je 0x41a305
lea ecx, [esp + 0x168]
lea edx, [esp + 0x390]
call fcn.00435550
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x170]
mov ebx, dword [esp + 0x16c]
cmp eax, 2
mov dword [esp + 4], eax
mov dword [esp + 0x14], ecx
jne 0x41a327
push 9
push dword [esp + 0x18]
lea eax, [esp + 0x170]
push eax
call fcn.004e6920
add esp, 0xc
mov eax, dword [esp + 0x168]
cmp eax, 2
mov dword [esp + 4], eax
jne 0x41a334
lea edx, [esp + 0x390]
lea ecx, [esp + 0x168]
push ebx
call fcn.00426a30
add esp, 4
mov eax, dword [esp + 0x168]
mov edx, dword [esp + 0x170]
mov ecx, dword [esp + 0x174]
mov ebx, dword [esp + 0x16c]
cmp eax, 2
mov dword [esp + 4], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x54], ecx
jne 0x41a370
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x54]
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], esi
lea ecx, [esp + 0x168]
lea edx, [esp + 0x70]
call fcn.00424000
mov eax, dword [esp + 0x168]
movzx edx, byte [esp + 0x173]
mov ecx, dword [esp + 0x16f]
movups xmm0, xmmword [esp + 0x178]
cmp eax, 2
mov dword [esp + 4], eax
movzx eax, byte [esp + 0x16c]
mov dword [esp + 0xa8], edx
mov dword [esp + 0xc0], ecx
movaps xmmword [esp + 0x420], xmm0
movq xmm0, qword [esp + 0x188]
mov edx, dword [esp + 0x174]
mov ecx, dword [esp + 0x190]
mov dword [esp + 0x158], eax
movzx eax, word [esp + 0x16d]
movdqa xmmword [esp + 0x410], xmm0
mov dword [esp + 0x28c], edx
mov dword [esp + 0x290], ecx
mov dword [esp + 0x54], eax
jne 0x41a3b6
push dword [esp + 0x78]
push dword [esp + 0x78]
call fcn.004e54f0
add esp, 8
test eax, eax
je 0x419ea3
mov edi, dword [esp + 0x70]
push dword [edi + 8]
push dword [edi + 4]
call fcn.004e54f0
add esp, 8
test eax, eax
je 0x419ea3
mov ecx, dword [edi]
call fcn.0043c370
test al, 1
je 0x419ea3
movzx eax, dl
push eax
lea eax, [esp + 0x16c]
push eax
call fcn.004e6b30
add esp, 8
movzx ecx, byte [esp + 0x16e]
mov edx, dword [esp + 0x168]
movzx eax, word [esp + 0x16c]
shl ecx, 0x10
mov dword [esp + 4], edx
or eax, ecx
cmp edx, 2
jne 0x41a526
test al, al
je 0x41a079
mov dword [esp], 0
lea ecx, [esp + 0x168]
lea edx, [esp + 0x70]
call fcn.00436680
mov ecx, dword [esp + 0x168]
mov edi, dword [esp + 0x16c]
mov eax, dword [esp + 0x170]
cmp ecx, 2
jne 0x419f7c
push 3
push eax
lea eax, [esp + 0x170]
push eax
call fcn.004e6920
add esp, 0xc
mov eax, dword [esp + 0x168]
cmp eax, 2
jne 0x419fc8
lea edx, [esp + 0x70]
lea ecx, [esp + 0x168]
push edi
call fcn.00425ff0
add esp, 4
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x174]
mov ebx, dword [esp + 0x16c]
mov esi, dword [esp + 0x170]
cmp eax, 2
mov dword [esp + 0x10], ecx
jne 0x41a027
push dword [esp + 0x10]
push esi
lea eax, [esp + 0x170]
push eax
call fcn.004e2570
add esp, 0xc
mov eax, dword [esp + 0x168]
cmp eax, 2
jne 0x41a137
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], esi
mov eax, ebx
movzx ecx, byte [esp + 0x23]
shr eax, 8
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x1f]
jmp 0x41a1ed
lea edx, [esp + 0x174]
lea ebx, [esp + 0x24]
movsd xmm2, qword [edx + 0x18]
movsd xmm1, qword [edx + 0x10]
movq xmm0, qword [edx + 0x20]
movsd qword [ebx + 0x18], xmm2
movsd qword [ebx + 0x10], xmm1
movq xmm2, qword [edx]
movq xmm1, qword [edx + 8]
movq qword [ebx + 0x20], xmm0
movq qword [ebx + 8], xmm1
movq qword [ebx], xmm2
mov dword [esp + 0x18], ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], edi
jmp 0x41a192
lea edx, [esp + 0x174]
lea edi, [esp + 0x24]
movzx ecx, byte [edx - 6]
movzx esi, word [edx - 8]
movq xmm0, qword [edx + 0x20]
movsd xmm1, qword [edx + 0x1b]
movsd xmm2, qword [edx + 0x13]
mov byte [edi - 6], cl
mov word [edi - 8], si
movq qword [edi + 0x20], xmm0
movsd qword [edi + 0x1b], xmm1
movsd xmm1, qword [edx + 0xb]
movsd qword [edi + 0x13], xmm2
movq xmm2, qword [edx - 5]
movsd qword [edi + 0xb], xmm1
movq xmm1, qword [edx + 3]
movq qword [edi - 5], xmm2
movq qword [edi + 3], xmm1
mov dword [esp + 0x18], eax
jmp 0x41a192
lea edx, [esp + 0x174]
lea edi, [esp + 0x24]
mov ecx, dword [edx + 0x24]
movsd xmm1, qword [edx + 0x14]
movq xmm0, qword [edx + 0x1c]
movq xmm2, qword [edx + 4]
mov dword [edi + 0x24], ecx
movsd qword [edi + 0x14], xmm1
movq xmm1, qword [edx + 0xc]
mov ecx, dword [esp + 0x10]
movq qword [edi + 0x1c], xmm0
movq qword [edi + 4], xmm2
movq qword [edi + 0xc], xmm1
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], ecx
jmp 0x41a192
lea ecx, [esp + 0x168]
lea edx, [esp + 0x70]
call fcn.00436680
mov eax, dword [esp + 0x168]
mov ebx, dword [esp + 0x16c]
mov dword [esp + 4], eax
cmp eax, 2
mov eax, dword [esp + 0x170]
jne 0x41a58e
push 0
push eax
lea eax, [esp + 0x170]
push eax
call fcn.004e6920
add esp, 0xc
mov eax, dword [esp + 0x168]
cmp eax, 2
mov dword [esp + 4], eax
jne 0x41a5e3
cmp ebx, 1
jne 0x41a642
mov byte [esp + 0x18], 0
lea edx, [esp + 0x70]
lea ecx, [esp + 0x168]
push 1
lea eax, [esp + 0x1c]
push eax
call fcn.0043d1c0
add esp, 8
mov eax, dword [esp + 0x168]
cmp eax, 2
mov dword [esp + 4], eax
jne 0x41a680
movzx ecx, byte [esp + 0x18]
test ecx, ecx
mov eax, ecx
mov dword [esp], ecx
je 0x419eaa
cmp dword [esp], 0xff
jne 0x41a96f
mov al, 1
mov dword [esp], eax
jmp 0x419eaa
lea edx, [esp + 0x174]
lea edi, [esp + 0x24]
test ebx, ebx
mov ecx, dword [edx]
movq xmm0, qword [edx - 8]
movsd xmm2, qword [edx + 0x1c]
movsd xmm1, qword [edx + 0x14]
mov dword [edi], ecx
movq qword [edi - 8], xmm0
mov ecx, dword [edx + 0x24]
movsd qword [edi + 0x1c], xmm2
movsd qword [edi + 0x14], xmm1
movq xmm2, qword [edx + 4]
movq xmm1, qword [edx + 0xc]
mov dword [edi + 0x24], ecx
movq qword [edi + 0xc], xmm1
movq qword [edi + 4], xmm2
mov dword [esp + 0x18], eax
je 0x41a192
push 1
push ebx
push esi
call fcn.004ed020
add esp, 0xc
push dword [esp + 0x78]
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x170]
push eax
call fcn.004e4280
add esp, 0xc
movzx ecx, byte [esp + 0x173]
mov edx, dword [esp + 0x168]
mov esi, dword [esp + 0x174]
movzx ebx, byte [esp + 0x16c]
movzx eax, word [esp + 0x16d]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x16f]
cmp edx, 2
mov dword [esp + 4], edx
mov dword [esp + 0x10], esi
jne 0x41a4bf
mov edx, dword [esp + 0x10]
mov byte [esp + 0x18], bl
mov word [esp + 0x19], ax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x1b], ecx
shld dword [esp + 0x14], ecx, 0x18
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0x168], edx
mov edx, dword [esp + 0x158]
shld dword [esp + 0xa8], ecx, 0x18
mov byte [esp + 0x16c], dl
mov edx, dword [esp + 0x18]
mov word [esp + 0x16d], ax
mov edi, dword [esp + 0x16b]
cmp edx, 0x80000000
mov dword [esp + 4], edx
je 0x41a41d
mov ebx, dword [esp + 0x74]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x54], eax
push eax
push ebx
call fcn.004e54f0
add esp, 8
test eax, eax
jne 0x41a472
mov eax, dword [esp + 0x100]
cmp eax, dword [esp + 0x120]
jne 0x419bf0
mov edx, dword [esp + 0x100]
lea ecx, [esp + 0x120]
call fcn.00439d50
jmp 0x419bd4
mov edx, dword [esp + 0x174]
mov ecx, dword [esp + 0x178]
movups xmm0, xmmword [esp + 0x17c]
mov ebx, dword [esp + 0x16c]
mov eax, dword [esp + 0x170]
mov dword [esp + 0x54], edx
mov dword [esp], ecx
movaps xmmword [esp + 0x3e0], xmm0
movq xmm0, qword [esp + 0x18c]
mov edx, dword [esp + 0x198]
mov ecx, dword [esp + 0x194]
mov dword [esp + 0x14], eax
movdqa xmmword [esp + 0x450], xmm0
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
jmp 0x41a837
call fcn.004ed360
ud2
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x100]
mov ebx, dword [esp + 0x120]
mov dword [esp + 0x14], eax
mov dword [esp + 0x54], ecx
jmp 0x41a7ce
mov eax, dword [esp + 0x174]
mov dword [esp + 0x54], eax
jmp 0x41a370
movzx eax, byte [esp + 0x16e]
movzx ecx, word [esp + 0x16c]
movzx esi, byte [esp + 0x173]
mov ebx, dword [esp + 0x16f]
mov edx, dword [esp + 0x174]
shl eax, 0x10
shld esi, ebx, 0x18
shl ebx, 0x18
mov dword [esp + 0x54], edx
or ecx, eax
mov dword [esp + 0x14], esi
or ebx, ecx
movups xmm0, xmmword [esp + 0x17c]
mov eax, dword [esp + 0x178]
mov edx, dword [esp + 0x198]
mov ecx, dword [esp + 0x194]
movaps xmmword [esp + 0x3e0], xmm0
movsd xmm0, qword [esp + 0x18c]
mov dword [esp], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
movaps xmmword [esp + 0x450], xmm0
jmp 0x41a775
movss xmm0, dword [esp + 0x290]
movaps xmm1, xmmword [esp + 0x410]
movaps xmm2, xmmword [esp + 0x420]
mov eax, dword [esp + 0x194]
mov ecx, dword [esp + 0x198]
mov edx, dword [esp + 0xa8]
shufps xmm0, xmm1, 0xd4
movss dword [esp], xmm2
mov dword [esp + 8], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x290], eax
shufps xmm0, xmm1, 0x52
shufps xmm1, xmm2, 0x30
shufps xmm2, xmm1, 0x29
movaps xmmword [esp + 0x410], xmm0
movaps xmmword [esp + 0x420], xmm2
jmp 0x41a719
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0xc0]
mov dword [esp + 0xc0], edi
mov ecx, edx
mov dword [esp + 4], eax
mov dword [esp + 0x14], esi
shr ecx, 8
mov dword [esp + 0x54], ecx
movzx ecx, byte [esp]
mov dword [esp + 8], ecx
mov ecx, edx
mov edx, dword [esp + 0x28c]
mov dword [esp + 0x158], ecx
mov ecx, dword [esp + 0xa8]
mov dword [esp], edx
mov dword [esp + 0x28c], ecx
jmp 0x41a719
push dword [esp + 0x54]
push ebx
call fcn.004e54f0
add esp, 8
mov dword [esp], eax
cmp dword [esp + 4], 0
je 0x41a49b
push 1
push dword [esp + 8]
push dword [esp + 0x1c]
call fcn.004ed020
add esp, 0xc
mov eax, dword [esp + 0x3f8]
mov ebx, dword [esp + 0x54]
mov dword [esp + 4], 1
and eax, 0xffffff00
or eax, 0x15
mov dword [esp + 0x14], eax
jmp 0x41a775
mov edx, dword [esp + 0x178]
movups xmm0, xmmword [esp + 0x17c]
movq xmm1, qword [esp + 0x18c]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x158], ebx
mov dword [esp + 0xc0], ecx
mov dword [esp], edx
movaps xmmword [esp + 0x420], xmm0
movdqa xmmword [esp + 0x410], xmm1
mov dword [esp + 0x28c], eax
mov eax, dword [esp + 0x198]
mov ecx, dword [esp + 0x194]
mov dword [esp + 8], eax
mov dword [esp + 0x290], ecx
jmp 0x41a719
movzx ecx, byte [esp + 0x173]
movups xmm0, xmmword [esp + 0x17c]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x16f]
movaps xmmword [esp + 0x420], xmm0
movsd xmm0, qword [esp + 0x18c]
mov dword [esp + 0xc0], ecx
mov ecx, dword [esp + 0x174]
movaps xmmword [esp + 0x410], xmm0
mov dword [esp + 0x28c], ecx
mov ecx, eax
mov dword [esp + 0x158], eax
shr ecx, 8
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x178]
mov dword [esp], ecx
jmp 0x41a508
movups xmm0, xmmword [esp + 0x17c]
mov edx, dword [esp + 0x178]
mov ecx, dword [esp + 0x174]
mov esi, ebx
mov dword [esp + 0x158], ebx
shr esi, 8
mov dword [esp + 0x54], esi
movaps xmmword [esp + 0x420], xmm0
movsd xmm0, qword [esp + 0x18c]
mov dword [esp], edx
mov edx, eax
mov dword [esp + 0x28c], ecx
shr edx, 8
mov edx, edx
movaps xmmword [esp + 0x410], xmm0
jmp 0x41a6df
movzx eax, byte [esp + 0x16c]
movzx ecx, byte [esp + 0x16f]
movups xmm0, xmmword [esp + 0x17c]
mov esi, dword [esp + 0x174]
mov dword [esp + 0x158], eax
movzx eax, word [esp + 0x16d]
shl ecx, 0x10
movaps xmmword [esp + 0x420], xmm0
movsd xmm0, qword [esp + 0x18c]
mov dword [esp + 0x28c], esi
or ecx, eax
mov eax, dword [esp + 0x170]
movaps xmmword [esp + 0x410], xmm0
jmp 0x41a6ca
mov eax, dword [esp + 0x70]
mov dword [esp + 4], 1
mov dword [esp + 8], 0
xor edx, edx
mov eax, dword [eax]
mov eax, dword [eax]
mov eax, dword [eax]
mov eax, dword [eax]
mov eax, dword [eax]
mov byte [eax + 0x10], 1
mov eax, dword [eax + 0xc]
mov ecx, eax
mov dword [esp + 0x158], eax
shr eax, 8
mov dword [esp + 0x54], eax
mov eax, 6
jmp 0x41a6f8
mov edx, dword [esp + 0x16c]
mov ecx, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
movups xmm0, xmmword [esp + 0x17c]
movq xmm1, qword [esp + 0x18c]
mov dword [esp + 0x28c], ecx
mov ecx, edx
mov dword [esp + 0x158], edx
movaps xmmword [esp + 0x420], xmm0
movdqa xmmword [esp + 0x410], xmm1
shr ecx, 8
mov dword [esp + 0x54], ecx
mov ecx, eax
shr ecx, 8
mov edx, ecx
mov ecx, dword [esp + 0x178]
mov dword [esp], ecx
mov ecx, dword [esp + 0x198]
mov esi, dword [esp + 0x194]
mov dword [esp + 8], ecx
mov dword [esp + 0x290], esi
mov ecx, dword [esp + 0x54]
shl edx, 8
movzx eax, al
or eax, edx
shr edx, 0x18
mov dword [esp + 0x14], edx
shl ecx, 8
shld eax, ecx, 8
mov dword [esp + 0xc0], eax
movzx ecx, word [esp + 0x54]
mov ebx, dword [esp + 0xc0]
movzx eax, byte [esp + 0x158]
movaps xmm0, xmmword [esp + 0x420]
mov edx, dword [esp + 0x28c]
shl ecx, 8
shld dword [esp + 0x14], ebx, 0x18
shl ebx, 0x18
movaps xmmword [esp + 0x3e0], xmm0
movdqa xmm0, xmmword [esp + 0x410]
mov dword [esp + 0x54], edx
or ecx, eax
or ebx, ecx
mov ecx, dword [esp + 0x290]
movdqa xmmword [esp + 0x450], xmm0
mov dword [esp + 0xc], ecx
mov esi, dword [esp + 0x124]
cmp dword [esp + 0x100], 0
je 0x41a7ad
lea edi, [esi + 4]
jmp 0x41a797
add edi, 0x38
dec dword [esp + 0x100]
je 0x41a7ad
mov eax, dword [edi - 4]
test eax, eax
je 0x41a78b
push 1
push eax
push dword [edi]
call fcn.004ed020
add esp, 0xc
jmp 0x41a78b
mov eax, dword [esp + 0x120]
test eax, eax
je 0x41a7c7
imul eax, eax, 0x38
push 4
push eax
push esi
call fcn.004ed020
add esp, 0xc
cmp dword [esp + 4], 2
jne 0x41a837
mov edi, dword [esp + 0x394]
mov eax, dword [esp + 0x398]
mov dword [esp + 0xa8], eax
push eax
push edi
call fcn.004e54f0
add esp, 8
test eax, eax
je 0x41a8ac
push dword [esp + 0xa8]
push edi
call fcn.004e54f0
add esp, 8
mov dword [esp], eax
cmp dword [esp + 0x54], 0
je 0x41a86e
mov eax, dword [esp + 0x14]
lea edi, [eax + 4]
jmp 0x41a821
add edi, 0x38
dec dword [esp + 0x54]
je 0x41a86e
mov eax, dword [edi - 4]
test eax, eax
je 0x41a818
push 1
push eax
push dword [edi]
call fcn.004ed020
add esp, 0xc
jmp 0x41a818
mov ecx, dword [esp + 0x14]
movdqa xmm0, xmmword [esp + 0x450]
mov eax, dword [esp + 0x54]
and ecx, 0xffffff00
movd dword [esp + 0x10], xmm0
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0xa8], eax
movd dword [esp + 0xc0], xmm0
jmp 0x419ba3
test ebx, ebx
mov eax, ebx
je 0x41a886
imul eax, ebx, 0x38
push 4
push eax
push dword [esp + 0x1c]
call fcn.004ed020
add esp, 0xc
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0x14], 0x15
mov dword [esp + 8], 0
mov dword [esp + 4], 1
xor ecx, ecx
jmp 0x419ba3
mov edi, dword [esp + 0x36c]
mov eax, dword [esp + 0x370]
mov dword [esp + 0xa8], eax
push eax
push edi
call fcn.004e54f0
add esp, 8
test eax, eax
je 0x41a94a
push dword [esp + 0xa8]
push edi
call fcn.004e54f0
add esp, 8
mov dword [esp], eax
cmp dword [esp + 0x54], 0
je 0x41a911
mov eax, dword [esp + 0x14]
lea edi, [eax + 4]
jmp 0x41a8fb
add edi, 0x38
dec dword [esp + 0x54]
je 0x41a911
mov eax, dword [edi - 4]
test eax, eax
je 0x41a8f2
push 1
push eax
push dword [edi]
call fcn.004ed020
add esp, 0xc
jmp 0x41a8f2
test ebx, ebx
mov eax, ebx
je 0x41a929
imul eax, ebx, 0x38
push 4
push eax
push dword [esp + 0x1c]
call fcn.004ed020
add esp, 0xc
mov ebx, dword [esp + 0xa8]
mov dword [esp + 4], 1
mov dword [esp + 8], 0
mov eax, 0x15
jmp 0x419a39
mov eax, ebx
mov ecx, ebx
movzx edx, bl
and eax, 0xff000000
and ecx, 0xffff00
mov dword [esp + 0x2f4], edx
mov dword [esp + 0x2f0], eax
jmp 0x41957b
mov eax, 7
xor edx, edx
mov dword [esp + 8], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x158], ecx
mov dword [esp + 4], 0
jmp 0x41a6f8