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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x220
mov esi, ecx
lea eax, [esp + 0x10]
push dword [ebp + 8]
push edx
push eax
call fcn.004e6330
add esp, 0xc
mov eax, dword [esp + 0x10]
cmp eax, 2
jne 0x412565
mov eax, dword [esp + 0x24]
movq xmm0, qword [esp + 0x14]
movq xmm1, qword [esp + 0x1c]
lea edi, [esp + 0x10]
lea ebx, [esp + 0x1f0]
mov dword [esp + 0x84], esi
mov ecx, edi
mov edx, ebx
movq qword [esp + 0x1f0], xmm0
movq qword [esp + 0x1f8], xmm1
mov dword [esp + 0x200], eax
call fcn.00436c60
mov eax, dword [esp + 0x10]
cmp eax, 2
jne 0x4125ea
mov esi, dword [esp + 0x14]
push 9
push dword [esp + 0x1c]
push edi
call fcn.004e6920
add esp, 0xc
mov eax, dword [esp + 0x10]
cmp eax, 2
jne 0x412622
push ebx
call fcn.004e64c0
add esp, 4
xor ecx, ecx
cmp eax, esi
mov eax, 0xff
setne cl
cmovbe eax, ecx
test al, al
je 0x4124ca
movzx eax, al
cmp eax, 0xff
jne 0x4127b4
lea edi, [esp + 0x10]
lea edx, [esp + 0xa8]
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xac], esi
mov dword [esp + 0xb0], 0
mov ecx, edi
call fcn.00436970
mov edx, dword [esp + 0x10]
cmp edx, 2
jne 0x412764
mov ebx, dword [esp + 0x14]
push 1
push dword [esp + 0x1c]
push edi
call fcn.004e6920
add esp, 0xc
mov edx, dword [esp + 0x10]
cmp edx, 2
jne 0x412908
cmp ebx, 2
mov word [esp + 0x130], 0
jbe 0x4129a4
mov eax, 7
xor edx, edx
mov dword [esp + 0xc], 0x1010100
movd xmm1, eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 4], eax
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x50], ebx
jmp 0x412a82
movsd xmm1, qword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
movq xmm0, qword [esp + 0x14]
movsd xmm2, qword [esp + 0x30]
movsd qword [esp + 0xd0], xmm1
movsd xmm1, qword [esp + 0x38]
mov dword [esp + 0xd8], ecx
mov ecx, dword [esp + 0x40]
movq qword [esp + 0xc8], xmm0
movsd qword [esi + 0x24], xmm2
movq xmm2, qword [esp + 0xc8]
movsd qword [esi + 0x2c], xmm1
movsd xmm1, qword [esp + 0x28]
mov dword [esi + 0x34], ecx
mov ecx, dword [esp + 0xd8]
movsd qword [esi + 0x1c], xmm1
movsd xmm1, qword [esp + 0xd0]
mov dword [esi + 0x18], ecx
movq qword [esi + 8], xmm2
movsd qword [esi + 0x10], xmm1
mov dword [esi + 4], eax
mov dword [esi], 1
jmp 0x41275c
mov ecx, dword [esp + 0x14]
movzx ebx, byte [esp + 0x37]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
movq xmm1, qword [esp + 0x2f]
movd xmm0, dword [esp + 0x2a]
mov dword [esp + 8], eax
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x20]
mov byte [esp + 0x190], bl
mov ebx, esi
mov dword [esp + 0xc], edx
jmp 0x412658
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
movzx edx, byte [esp + 0x37]
movq xmm1, qword [esp + 0x2f]
movd xmm0, dword [esp + 0x2a]
mov dword [esp + 8], eax
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x20]
mov ebx, esi
mov dword [esp + 0xc], edi
mov byte [esp + 0x190], dl
movq qword [esp + 0x188], xmm1
shr ebx, 8
mov dword [esp + 0x60], ecx
mov eax, dword [esp + 0x24]
movzx edx, byte [esp + 0x3d]
movzx ecx, byte [esp + 0x2e]
mov edi, dword [esp + 0x84]
mov dword [esp + 0x7c], eax
movzx eax, byte [esp + 0x28]
mov dword [esp + 4], edx
mov edx, esi
mov dword [esp + 0x4c], eax
movzx eax, byte [esp + 0x29]
mov dword [esp + 0x44], eax
movzx eax, word [esp + 0x38]
mov dword [esp + 0x58], eax
movzx eax, word [esp + 0x3b]
mov dword [esp + 0x54], eax
movzx eax, word [esp + 0x42]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x3e]
mov dword [esp + 0x68], eax
mov ah, byte [esp + 0x3a]
movzx esi, dl
shl ebx, 8
movsd xmm1, qword [esp + 0x188]
movzx edx, byte [esp + 0x190]
or esi, ebx
mov ebx, dword [esp + 8]
mov byte [edi + 0x2b], dl
movsd qword [edi + 0x23], xmm1
mov byte [esp + 0x20c], dl
movsd qword [esp + 0x204], xmm1
mov dword [edi + 4], ebx
mov ebx, dword [esp + 0x70]
mov dword [edi + 0xc], esi
mov esi, dword [esp + 0xc]
mov dword [edi + 8], ebx
mov dword [edi + 0x10], esi
mov esi, dword [esp + 0x60]
mov ebx, dword [esp + 0x7c]
mov dword [edi + 0x14], esi
mov dword [edi + 0x18], ebx
mov ebx, dword [esp + 0x4c]
mov byte [edi + 0x1c], bl
mov ebx, dword [esp + 0x44]
mov byte [edi + 0x1d], bl
movd dword [edi + 0x1e], xmm0
mov byte [edi + 0x22], cl
mov ecx, dword [esp + 0x58]
mov word [edi + 0x2c], cx
mov byte [edi + 0x2e], ah
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x68]
mov word [edi + 0x2f], ax
mov eax, dword [esp + 4]
mov byte [edi + 0x31], al
mov eax, dword [esp + 0x6c]
mov dword [edi + 0x32], ecx
mov word [edi + 0x36], ax
mov dword [edi], 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
movzx eax, byte [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov edi, 0xffffff00
movsd xmm2, qword [esp + 0x2f]
movzx ebx, byte [esp + 0x37]
movdqu xmm1, xmmword [esp + 0x18]
movd xmm0, dword [esp + 0x2a]
and edi, dword [esp + 0x18]
mov dword [esp + 0x4c], eax
movzx eax, byte [esp + 0x29]
mov esi, ecx
movsd qword [esp + 0xc8], xmm2
mov byte [esp + 0xd0], bl
shr esi, 8
mov dword [esp + 0x70], esi
jmp 0x41295e
push esi
push dword [esp + 0x200]
push edi
call fcn.004e5500
add esp, 0xc
mov eax, dword [esp + 0x10]
cmp eax, 2
jne 0x412831
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x1fc]
mov dword [esp + 0xc], eax
push ebx
call fcn.004e64c0
add esp, 4
push eax
push esi
push edi
call fcn.004e5500
add esp, 0xc
mov eax, dword [esp + 0x10]
cmp eax, 2
jne 0x412831
mov eax, dword [esp + 0x14]
mov edx, 3
xor ebx, ebx
mov dword [esp + 8], 1
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x1fc]
mov dword [esp + 0x70], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x58], eax
jmp 0x4128c5
mov dword [esp + 8], eax
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
movq xmm1, qword [esp + 0x2f]
movd xmm0, dword [esp + 0x2a]
movzx esi, word [esp + 0x3b]
movzx ecx, byte [esp + 0x3d]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x1c]
mov ebx, edx
movq qword [esp + 0xc8], xmm1
and ebx, 0xffffff00
mov dword [esp + 0xc], eax
movzx eax, byte [esp + 0x37]
mov byte [esp + 0xd0], al
mov eax, dword [esp + 0x20]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x7c], eax
movzx eax, byte [esp + 0x28]
mov dword [esp + 0x4c], eax
movzx eax, byte [esp + 0x29]
mov dword [esp + 0x44], eax
movzx eax, word [esp + 0x38]
mov dword [esp + 0x58], eax
movzx eax, word [esp + 0x42]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x3e]
mov dword [esp + 0x68], eax
movzx eax, byte [esp + 0x2e]
mov dword [esp + 0x48], eax
mov ah, byte [esp + 0x3a]
movzx edx, dl
movq xmm1, qword [esp + 0xc8]
mov dword [esp + 4], ecx
mov edi, dword [esp + 0x84]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x54], esi
or edx, ebx
movzx ebx, byte [esp + 0xd0]
movq qword [esp + 0x188], xmm1
mov byte [esp + 0x190], bl
mov ebx, edx
shr ebx, 8
jmp 0x4126c0
movzx esi, byte [esp + 0x17]
movzx eax, word [esp + 0x15]
mov edi, 0xffffff00
movsd xmm2, qword [esp + 0x2f]
movzx ecx, byte [esp + 0x14]
movdqu xmm1, xmmword [esp + 0x18]
movd xmm0, dword [esp + 0x2a]
and edi, dword [esp + 0x18]
shl esi, 0x10
movsd qword [esp + 0xc8], xmm2
or esi, eax
movzx eax, byte [esp + 0x28]
mov dword [esp + 0x70], esi
mov dword [esp + 0x4c], eax
movzx eax, byte [esp + 0x37]
mov byte [esp + 0xd0], al
movzx eax, byte [esp + 0x29]
mov dword [esp + 0x44], eax
movzx eax, byte [esp + 0x2e]
mov dword [esp + 0x48], eax
movzx eax, word [esp + 0x38]
mov dword [esp + 0x58], eax
movzx eax, word [esp + 0x3b]
mov dword [esp + 0x54], eax
movzx eax, word [esp + 0x42]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x3e]
mov dword [esp + 0x68], eax
mov ah, byte [esp + 0x3a]
mov dword [esp + 0x5c], eax
movzx eax, byte [esp + 0x3d]
mov dword [esp + 4], eax
jmp 0x412a9a
lea edi, [esp + 0x10]
lea esi, [esp + 0x130]
lea edx, [esp + 0xa8]
mov ecx, edi
push ebx
push esi
call fcn.0043c7f0
add esp, 8
mov edx, dword [esp + 0x10]
cmp edx, 2
jne 0x4129fe
mov edx, dword [esp + 0x18]
mov dword [esp + 0xc], 0x100
test edx, edx
je 0x412b91
mov ecx, dword [esp + 0x14]
cmp edx, 1
jne 0x412baf
movzx eax, byte [ecx]
test al, al
jne 0x412bb6
xor eax, eax
jmp 0x412c28
movzx eax, byte [esp + 0x28]
mov esi, 0xffffff00
movsd xmm2, qword [esp + 0x2f]
movzx ebx, byte [esp + 0x37]
mov ecx, dword [esp + 0x14]
movdqu xmm1, xmmword [esp + 0x18]
movd xmm0, dword [esp + 0x2a]
and esi, dword [esp + 0x18]
mov dword [esp + 0x4c], eax
movzx eax, byte [esp + 0x29]
movsd qword [esp + 0xc8], xmm2
mov byte [esp + 0xd0], bl
mov dword [esp + 0xc], esi
mov dword [esp + 0x44], eax
mov eax, ecx
movzx eax, byte [esp + 0x2e]
mov bh, byte [esp + 0x3a]
mov dword [esp + 0x50], ecx
shr ecx, 8
movzx esi, word [esp + 0x38]
movzx edi, word [esp + 0x3b]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x3e]
mov dword [esp + 0x48], eax
movzx eax, word [esp + 0x42]
mov dword [esp + 0x5c], ebx
movzx ebx, byte [esp + 0x3d]
mov dword [esp + 4], ebx
mov dword [esp + 0x54], edi
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x50]
mov edi, dword [esp + 0xc]
mov dword [esp + 0x58], esi
mov dword [esp + 0x6c], eax
pshufd xmm2, xmm1, 0xee
mov dword [esp + 8], edx
pshufd xmm3, xmm1, 0xff
movd dword [esp + 0x60], xmm1
movd eax, xmm2
movsd xmm2, qword [esp + 0xc8]
movd dword [esp + 0x7c], xmm3
mov ebx, eax
mov edx, eax
mov esi, eax
shr eax, 0x18
mov dword [esp + 0x1a0], eax
movzx eax, byte [esp + 0xd0]
shr edx, 0x10
and ebx, 0xff00
mov dword [esp + 0x88], edx
movsd qword [esp + 0x8c], xmm2
pshufd xmm2, xmm1, 0x55
movd dword [esp + 0xc], xmm2
mov byte [esp + 0x94], al
mov eax, edi
and edi, 0xffff0000
and eax, 0xffffff00
movzx edx, cl
mov ecx, esi
and eax, 0xff00
movq xmm1, qword [esp + 0x8c]
movzx esi, cl
mov ecx, dword [esp + 0x70]
or eax, edi
movzx edi, byte [esp + 0x88]
or ebx, esi
movzx esi, byte [esp + 0x1a0]
movq qword [esp + 0x188], xmm1
shl ecx, 8
shl edi, 0x10
or edx, ecx
shl esi, 0x18
movzx ecx, bx
mov dword [esp + 0x70], edx
movzx edx, byte [esp + 0x60]
or edi, esi
or ecx, edi
mov dword [esp + 0x60], ecx
or edx, eax
movzx eax, byte [esp + 0x94]
mov ebx, edx
shr ebx, 8
mov byte [esp + 0x190], al
mov edi, dword [esp + 0x84]
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x5c]
jmp 0x4126c0
mov eax, 0x107
movd xmm1, eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 4], eax
jmp 0x412558
movzx eax, byte [ecx]
test al, al
je 0x412bfe
test al, al
js 0x412bf7
cmp edx, 2
jb 0x412c28
mov eax, 1
mov dword [esp + 4], ebx
mov dword [esp + 0x5c], ebx
sub eax, edx
xor edx, edx
mov ecx, eax
mov dword [esp + 0x50], eax
shr eax, 8
mov dword [esp + 0x70], eax
mov eax, 0x106
movd xmm1, eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
jmp 0x412a82
mov eax, 0x117
jmp 0x412c0b
movzx eax, byte [ecx + 1]
test al, al
js 0x412c22
mov eax, 0x107
movd xmm1, eax
xor edx, edx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
jmp 0x412554
dec edx
cmp edx, 2
jae 0x412bbf
mov byte [esp + 0xfc], al
lea eax, [esp + 0xfc]
push eax
push edi
call fcn.004eac30
add esp, 8
mov edx, dword [esp + 0x10]
cmp edx, 2
jne 0x412d0d
cmp dword [esp + 0x14], ebx
jne 0x412535
cmp byte [esp + 0xfc], 1
jne 0x412d5b
lea edi, [esp + 0x10]
lea edx, [esp + 0xa8]
mov ebx, esi
mov ecx, edi
call fcn.00436970
mov eax, dword [esp + 0x10]
cmp eax, 2
jne 0x412da5
mov esi, dword [esp + 0x14]
push 3
push dword [esp + 0x1c]
push edi
call fcn.004e6920
add esp, 0xc
mov eax, dword [esp + 0x10]
cmp eax, 2
mov dword [esp + 8], eax
jne 0x412da9
lea ecx, [esp + 0x10]
lea edx, [esp + 0xa8]
push esi
call fcn.00426130
add esp, 4
mov eax, dword [esp + 0x10]
cmp eax, 2
jne 0x412e8c
lea eax, [esp + 0xc8]
push esi
push dword [esp + 0xac]
push eax
call fcn.004e63f0
add esp, 0xc
cmp dword [esp + 0xc8], 2
jne 0x412eed
push dword [esp + 0xd0]
push dword [esp + 0xd0]
push ebx
call fcn.004e6660
add esp, 0xc
jmp 0x412f67
mov eax, 0xffffff00
movsd xmm2, qword [esp + 0x2f]
mov ecx, dword [esp + 0x14]
movdqu xmm1, xmmword [esp + 0x18]
movd xmm0, dword [esp + 0x2a]
and eax, dword [esp + 0x18]
movsd qword [esp + 0xc8], xmm2
mov dword [esp + 0xc], eax
movzx eax, byte [esp + 0x28]
mov dword [esp + 0x4c], eax
movzx eax, byte [esp + 0x29]
mov dword [esp + 0x44], eax
mov ah, byte [esp + 0x37]
mov byte [esp + 0xd0], ah
jmp 0x412a48
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x1a0], edx
mov dword [esp + 0x88], edx
mov dword [esp + 4], edx
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], edx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x60], 0x17
mov eax, 0x100
xor edi, edi
xor ebx, ebx
mov dword [esp + 8], 0
xor esi, esi
jmp 0x412b11
mov dword [esp + 8], eax
mov eax, dword [esp + 0x18]
movsd xmm1, qword [esp + 0x2f]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
movd xmm0, dword [esp + 0x2a]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x1c]
movsd qword [esp + 0xfc], xmm1
mov dword [esp + 0xc], eax
movzx eax, byte [esp + 0x37]
mov byte [esp + 0x104], al
mov eax, dword [esp + 0x24]
mov dword [esp + 0x7c], eax
movzx eax, word [esp + 0x38]
mov dword [esp + 0x58], eax
movzx eax, word [esp + 0x3b]
mov dword [esp + 0x54], eax
movzx eax, word [esp + 0x42]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x3e]
mov dword [esp + 0x68], eax
movzx eax, byte [esp + 0x28]
mov dword [esp + 0x4c], eax
movzx eax, byte [esp + 0x29]
mov dword [esp + 0x44], eax
movzx eax, byte [esp + 0x2e]
mov dword [esp + 0x48], eax
mov ah, byte [esp + 0x3a]
mov dword [esp + 0x5c], eax
movzx eax, byte [esp + 0x3d]
mov dword [esp + 4], eax
mov eax, edx
mov edi, dword [esp + 0x60]
movq xmm1, qword [esp + 0xfc]
mov ebx, edx
mov esi, edx
shr edx, 0x18
shr eax, 0x10
and ebx, 0xff00
mov dword [esp + 0x1a0], edx
mov dword [esp + 0x88], eax
movzx eax, byte [esp + 0x104]
movq qword [esp + 0x8c], xmm1
mov byte [esp + 0x94], al
mov eax, ecx
shr eax, 8
mov dword [esp + 0x70], eax
jmp 0x412b04
movsd xmm1, qword [esp + 0x34]
movsd xmm2, qword [esp + 0x2c]
movq xmm0, qword [esp + 0x3c]
movsd qword [esp + 0xec], xmm1
movsd xmm1, qword [esp + 0x24]
movsd qword [esp + 0xe4], xmm2
movsd xmm2, qword [esp + 0x14]
movq qword [esp + 0xf4], xmm0
movsd qword [esp + 0xdc], xmm1
movq xmm1, qword [esp + 0x1c]
movsd qword [esp + 0xcc], xmm2
movq qword [esp + 0xd4], xmm1
mov dword [esp + 0xc8], eax
movsd xmm1, qword [esp + 0xe8]
movsd xmm2, qword [esp + 0xe0]
mov eax, dword [esp + 0xf8]
movq xmm0, qword [esp + 0xf0]
movsd qword [esp + 0x150], xmm1
movsd xmm1, qword [esp + 0xd8]
movsd qword [esp + 0x148], xmm2
movq xmm2, qword [esp + 0xc8]
mov dword [esp + 0x160], eax
movq qword [esp + 0x158], xmm0
movsd qword [esp + 0x140], xmm1
movq xmm1, qword [esp + 0xd0]
movq qword [esp + 0x130], xmm2
movq qword [esp + 0x138], xmm1
mov eax, dword [esp + 0x130]
cmp eax, 2
mov dword [esp + 8], eax
jne 0x413313
mov eax, dword [esp + 0x134]
mov dword [esp + 0x1e8], eax
mov eax, dword [esp + 0x138]
mov dword [esp + 0x1e4], eax
push dword [esp + 0xb0]
push dword [esp + 0xb0]
call fcn.004e54f0
add esp, 8
test eax, eax
mov dword [esp + 0x1b8], 2
je 0x413071
lea ebx, [esp + 0x20]
lea edi, [esp + 0xa8]
push dword [esp + 0xa8]
call fcn.004e6380
add esp, 4
test al, 1
je 0x413071
movzx eax, dl
push eax
lea eax, [esp + 0x14]
push eax
call fcn.004e6b30
add esp, 8
mov eax, dword [esp + 0x10]
movzx esi, word [esp + 0x15]
mov dword [esp + 8], eax
cmp eax, 2
movzx eax, byte [esp + 0x14]
jne 0x4133d7
cmp eax, 0x15
jne 0x413071
shl esi, 8
or esi, 0x15
push esi
call fcn.004e69b0
add esp, 4
test al, al
jne 0x413071
push esi
call fcn.004e69b0
add esp, 4
lea ecx, [esp + 0x10]
test al, al
je 0x413457
mov edx, edi
call fcn.0043a410
mov eax, dword [esp + 0x10]
cmp eax, 2
mov dword [esp + 8], eax
jne 0x413610
push dword [esp + 0xb0]
push dword [esp + 0xb0]
call fcn.004e54f0
add esp, 8
test eax, eax
jne 0x412fcb
mov dword [esp + 0x48], ecx
mov dword [esp + 0x60], ecx
mov esi, dword [esp + 0x1c4]
movzx ecx, byte [esp + 0x76]
movdqa xmm0, xmmword [esp + 0x1a0]
mov dword [esp + 0xfe], esi
mov dword [esp + 0x102], eax
mov eax, dword [esp + 0x60]
mov byte [esp + 0x1c2], cl
movzx ecx, word [esp + 0x74]
movdqu xmmword [esp + 0xc8], xmm0
mov word [esp + 0xbc], ax
mov eax, dword [esp + 0x88]
mov byte [esp + 0x106], cl
mov word [esp + 0x1c0], cx
movzx edx, word [esp + 0x1c1]
mov dword [esp + 0xbe], eax
movzx eax, word [esp + 0x17a]
mov dword [esp + 0x1c8], edx
mov word [esp + 0xc2], ax
mov eax, dword [esp + 0xff]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x103]
mov dword [esp + 0x1e0], eax
mov eax, dword [esp + 0xbd]
mov dword [esp + 0x1ec], eax
movzx eax, byte [esp + 0xc3]
mov byte [esp + 0xc6], al
movzx eax, byte [esp + 0xc8]
mov byte [esp + 0xc7], al
movzx eax, word [esp + 0xc9]
mov dword [esp + 0x58], eax
movzx eax, word [esp + 0xd3]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0xcf]
mov dword [esp + 0x68], eax
movzx eax, word [esp + 0xd5]
mov word [esp + 0x1be], ax
push dword [esp + 0xb0]
push dword [esp + 0xb0]
call fcn.004e54f0
add esp, 8
mov cl, 2
test eax, eax
mov dword [esp + 0x1cc], 0
mov dword [esp + 0xc], ecx
je 0x413253
lea esi, [esp + 0xa8]
push dword [esp + 0xa8]
call fcn.004e6380
add esp, 4
test al, 1
je 0x413253
movzx eax, dl
push eax
lea eax, [esp + 0x14]
push eax
call fcn.004e6b30
add esp, 8
mov eax, dword [esp + 0x10]
movzx ebx, word [esp + 0x15]
cmp eax, 2
mov dword [esp + 8], eax
movzx eax, byte [esp + 0x14]
mov dword [esp + 0x50], eax
jne 0x413690
cmp byte [esp + 0x50], 0x15
jne 0x413253
shl ebx, 8
or ebx, 0x15
push ebx
call fcn.004e69b0
add esp, 4
cmp al, 1
ja 0x413253
push ebx
call fcn.004e69b0
add esp, 4
lea ecx, [esp + 0x10]
cmp al, 1
je 0x41371b
mov edx, esi
call fcn.0043a410
mov eax, dword [esp + 0x10]
cmp eax, 2
mov dword [esp + 8], eax
jne 0x41393a
push dword [esp + 0xb0]
push dword [esp + 0xb0]
call fcn.004e54f0
add esp, 8
test eax, eax
jne 0x4131a7
xor edi, edi
xor ecx, ecx
xor eax, eax
cmp byte [esp + 0xc], 2
je 0x4144f5
and eax, 0xff000000
and ecx, 0xffff00
or ecx, eax
mov eax, edi
movzx eax, al
mov dword [esp + 0x70], ecx
or eax, ecx
test eax, eax
je 0x4144f5
cmp byte [esp + 0xb8], 0
mov dword [esp + 0x1cc], eax
je 0x4144f5
movzx eax, byte [esp + 0x1dc]
movsd xmm0, qword [esp + 0x1d4]
shr dword [esp + 0x70], 8
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x54], ecx
mov dword [esp + 4], ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x4c], ecx
mov ecx, edi
xor ebx, ebx
xor esi, esi
xor edi, edi
mov dword [esp + 0x1a0], 0
mov dword [esp + 8], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x60], 0x17
mov byte [esp + 0x94], al
mov eax, 0x200
movsd qword [esp + 0x8c], xmm0
jmp 0x412b11
mov eax, dword [esp + 0x138]
movsd xmm1, qword [esp + 0x14f]
mov ecx, dword [esp + 0x134]
mov edx, dword [esp + 0x140]
movd xmm0, dword [esp + 0x14a]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x13c]
movsd qword [esp + 0xfc], xmm1
mov dword [esp + 0xc], eax
movzx eax, byte [esp + 0x157]
mov byte [esp + 0x104], al
mov eax, dword [esp + 0x144]
mov dword [esp + 0x7c], eax
movzx eax, word [esp + 0x158]
mov dword [esp + 0x58], eax
movzx eax, word [esp + 0x15b]
mov dword [esp + 0x54], eax
movzx eax, word [esp + 0x162]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x15e]
mov dword [esp + 0x68], eax
movzx eax, byte [esp + 0x148]
mov dword [esp + 0x4c], eax
movzx eax, byte [esp + 0x149]
mov dword [esp + 0x44], eax
movzx eax, byte [esp + 0x14e]
mov dword [esp + 0x48], eax
mov ah, byte [esp + 0x15a]
mov dword [esp + 0x5c], eax
movzx eax, byte [esp + 0x15d]
jmp 0x412e35
mov edx, dword [esp + 0x1c]
movzx ecx, byte [esp + 0x17]
shl esi, 8
mov edi, dword [esp + 0x18]
movss xmm0, dword [esp + 0x2a]
movsd xmm1, qword [esp + 0x2e]
or esi, eax
movzx eax, word [esp + 0x24]
mov dword [esp + 0xc], edx
movzx edx, word [esp + 0x20]
shl ecx, 0x18
or esi, ecx
movzx ecx, word [esp + 0x36]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x26]
mov dword [esp + 0x50], esi
movzx esi, word [esp + 0x42]
mov word [esp + 0x74], dx
movzx edx, byte [esp + 0x22]
mov word [esp + 0x54], cx
movzx ecx, word [esp + 0x38]
mov dword [esp + 0x6c], esi
mov byte [esp + 0x76], dl
movzx edx, byte [esp + 0x23]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x1a0], edx
mov edx, dword [esp + 0x3e]
mov dword [esp + 0x68], edx
jmp 0x41367d
lea edx, [esp + 0xa8]
call fcn.00436970
mov eax, dword [esp + 0x10]
cmp eax, 2
mov dword [esp + 8], eax
jne 0x413a18
movzx eax, byte [esp + 0x18]
movzx ecx, byte [esp + 0x19]
movzx edx, byte [esp + 0x1a]
cmp al, 0x15
jne 0x413b8a
mov ah, dl
and ah, 1
je 0x413b8a
lea ecx, [esp + 0x10]
lea edx, [esp + 0xa8]
push dword [esp + 0x14]
call fcn.004266e0
add esp, 4
mov eax, dword [esp + 0x10]
cmp eax, 2
mov dword [esp + 8], eax
jne 0x413d05
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea edi, [esp + 0x10]
mov dword [esp + 0x134], ecx
mov dword [esp + 0x130], eax
mov dword [esp + 0x138], edx
lea edx, [esp + 0x130]
mov ecx, edi
call fcn.00434fe0
mov eax, dword [esp + 0x10]
cmp eax, 2
mov dword [esp + 8], eax
jne 0x413e0d
mov esi, dword [esp + 0x14]
push 5
push dword [esp + 0x1c]
push edi
call fcn.004e6920
add esp, 0xc
mov eax, dword [esp + 0x10]
cmp eax, 2
mov dword [esp + 8], eax
jne 0x413ed2
lea ecx, [esp + 0x10]
lea edx, [esp + 0x130]
push esi
call fcn.00411ad0
add esp, 4
mov eax, dword [esp + 0x10]
cmp eax, 2
mov dword [esp + 8], eax
jne 0x413e0d
movzx eax, word [esp + 0x14]
movups xmm0, xmmword [esp + 0x2a]
mov ecx, dword [esp + 0x24]
movzx edx, word [esp + 0x3a]
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x134]
mov dword [esp + 0x1b8], eax
mov eax, dword [esp + 0x16]
movaps xmmword [esp + 0x1a0], xmm0
mov word [esp + 0x1bc], dx
mov dword [esp + 0x194], ecx
mov dword [esp + 0x1c4], eax
movzx eax, word [esp + 0x1a]
mov word [esp + 8], ax
movzx eax, word [esp + 0x28]
mov dword [esp + 0x10], ecx
mov word [esp + 0x198], ax
mov word [esp + 0x14], ax
mov eax, dword [esp + 0x138]
mov dword [esp + 0xc], eax
push eax
push esi
call fcn.004e54f0
add esp, 8
test eax, eax
je 0x4141e8
mov edi, dword [esp + 0xc]
push edi
push esi
call fcn.004e54f0
add esp, 8
mov ecx, eax
mov al, 0x15
mov dword [esp + 0x68], 0
mov dword [esp + 8], 1
mov dword [esp + 0x6c], 0
mov dword [esp + 0x50], edi
xor ebx, ebx
mov dword [esp + 0x58], eax
mov dword [esp + 4], eax
jmp 0x413f76
mov eax, dword [esp + 0x14]
movzx ecx, word [esp + 0x38]
mov edi, dword [esp + 0x18]
movss xmm0, dword [esp + 0x2a]
movsd xmm1, qword [esp + 0x2e]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x58], ecx
movzx ecx, word [esp + 0x42]
mov dword [esp + 0xc], eax
movzx eax, word [ebx]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x3e]
mov word [esp + 0x74], ax
movzx eax, byte [ebx + 2]
mov dword [esp + 0x68], ecx
mov byte [esp + 0x76], al
movzx eax, byte [esp + 0x23]
mov dword [esp + 0x1a0], eax
movzx eax, word [esp + 0x24]
mov dword [esp + 0x44], eax
movzx eax, word [esp + 0x36]
mov word [esp + 0x54], ax
mov eax, dword [esp + 0x26]
movzx ecx, word [esp + 0x3c]
movzx edx, word [esp + 0x3a]
mov dword [esp + 4], ecx
jmp 0x414009
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x20]
movzx ecx, word [esp + 0x42]
movsd xmm1, qword [esp + 0x2f]
mov esi, dword [esp + 0x3e]
movzx edx, byte [esp + 0x17]
movss xmm0, dword [esp + 0x2a]
mov dword [esp + 0xa4], eax
mov eax, edi
mov dword [esp + 0x174], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xb4], edi
movsd qword [esp + 0x164], xmm1
mov dword [esp + 0x170], esi
shr eax, 0x18
mov dword [esp + 0x1a0], eax
movzx eax, byte [esp + 0x2e]
mov dword [esp + 0xc], ecx
mov byte [esp + 0x67], al
movzx eax, byte [esp + 0x37]
mov byte [esp + 0x16c], al
movzx eax, word [esp + 0x38]
mov word [esp + 0x82], ax
movzx eax, word [esp + 0x3b]
mov dword [esp + 0x54], eax
jmp 0x4139d6
lea edx, [esp + 0xa8]
call fcn.00436970
mov eax, dword [esp + 0x10]
cmp eax, 2
mov dword [esp + 8], eax
jne 0x413aaa
movzx eax, word [esp + 0x18]
movzx edx, byte [esp + 0x1a]
cmp al, 0x15
jne 0x413be7
mov ecx, edx
and cl, 1
je 0x413be7
lea ecx, [esp + 0x10]
lea edx, [esp + 0xa8]
push dword [esp + 0x14]
call fcn.004266e0
add esp, 4
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x1b]
mov dword [esp + 8], eax
cmp eax, 2
mov ah, byte [esp + 0x19]
mov edi, eax
movzx eax, byte [esp + 0x1a]
jne 0x413d7a
mov edx, dword [esp + 0x14]
lea ebx, [esp + 0x10]
mov dword [esp + 0x98], edx
movzx edx, byte [esp + 0x18]
mov byte [esp + 0x9c], dl
mov edx, edi
mov byte [esp + 0x9d], dh
mov byte [esp + 0x9e], al
mov byte [esp + 0x9f], cl
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x98]
mov dword [esp + 0xa0], ecx
mov ecx, ebx
call fcn.00434fe0
mov eax, dword [esp + 0x10]
cmp eax, 2
mov dword [esp + 8], eax
jne 0x413e6c
mov esi, dword [esp + 0x14]
push 2
push dword [esp + 0x1c]
push ebx
call fcn.004e6920
add esp, 0xc
mov eax, dword [esp + 0x10]
cmp eax, 2
mov dword [esp + 8], eax
jne 0x414111
push 1
push esi
push ebx
call fcn.004e56a0
add esp, 0xc
mov eax, dword [esp + 0x10]
cmp eax, 2
mov dword [esp + 8], eax
jne 0x414189
mov edi, dword [esp + 0x14]
mov byte [esp + 0x78], 0
push 1
push ebx
call fcn.004e5780
add esp, 8
mov eax, dword [esp + 0x10]
cmp eax, 2
mov dword [esp + 8], eax
jne 0x41425b
lea esi, [esp + 0xc8]
lea edx, [esp + 0x98]
mov ecx, esi
push dword [esp + 0x14]
call fcn.004264a0
add esp, 4
mov eax, dword [esp + 0xc8]
cmp eax, 2
mov dword [esp + 8], eax
jne 0x4142be
mov edx, dword [esp + 0x98]
lea eax, [esp + 0x78]
lea ecx, [esp + 0x130]
push 1
push eax
call fcn.0043c7f0
add esp, 8
mov eax, dword [esp + 0x130]
cmp eax, 2
mov dword [esp + 8], eax
jne 0x41432a
movzx eax, byte [esp + 0x78]
lea ecx, [esp + 0x10]
lea edx, [esp + 0x98]
mov byte [esp + 0xc], al
push edi
call fcn.004264a0
add esp, 4
mov eax, dword [esp + 0x10]
cmp eax, 2
jne 0x414848
mov edx, dword [esp + 0x98]
lea ecx, [esp + 0x10]
mov ebx, edx
push edi
call fcn.00426130
add esp, 4
mov eax, dword [esp + 0x10]
cmp eax, 2
jne 0x414848
push edi
push dword [ebx]
push esi
call fcn.004e63f0
add esp, 0xc
cmp dword [esp + 0xc8], 2
jne 0x4148a9
push dword [esp + 0xd0]
push dword [esp + 0xd0]
lea eax, [esp + 0x138]
push eax
call fcn.004e6660
add esp, 0xc
jmp 0x414923
mov eax, dword [esp + 0x18]
movzx ecx, word [esp + 0x20]
mov edx, dword [esp + 0x14]
movsd xmm1, qword [esp + 0x2f]
movss xmm0, dword [esp + 0x2a]
mov dword [esp + 0xa4], eax
movzx eax, byte [esp + 0x22]
mov ebx, edx
mov dword [esp + 0x50], edx
shr edx, 0x18
movsd qword [esp + 0x164], xmm1
shr ebx, 8
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x37]
mov dword [esp + 0xb4], ecx
mov byte [esp + 0x16c], al
movzx eax, byte [esp + 0x2e]
mov byte [esp + 0x67], al
movzx eax, word [esp + 0x38]
mov word [esp + 0x82], ax
movzx eax, word [esp + 0x3b]
mov dword [esp + 0x54], eax
movzx eax, word [esp + 0x42]
mov dword [esp + 0x174], eax
mov eax, dword [esp + 0x3e]
mov dword [esp + 0x170], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc], eax
movzx eax, byte [esp + 0x23]
mov dword [esp + 0x1a0], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0xb8], eax
movzx eax, byte [esp + 0x28]
mov dword [esp + 0x4c], eax
movzx eax, byte [esp + 0x29]
mov dword [esp + 0x44], eax
mov ah, byte [esp + 0x3a]
mov dword [esp + 0x5c], eax
movzx eax, byte [esp + 0x3d]
mov dword [esp + 4], eax
mov eax, ecx
shr ecx, 0x18
shr eax, 0x10
jmp 0x413c55
movzx eax, word [esp + 0x24]
mov edx, dword [esp + 0x3c]
movsd xmm0, qword [esp + 0x1c]
movzx ebx, byte [esp + 0x19]
mov bh, byte [esp + 0x1a]
movq xmm1, qword [esp + 0x2e]
movd xmm2, dword [esp + 0x38]
mov dword [esp + 0x44], eax
mov word [esp + 0xa0], ax
mov eax, dword [esp + 0x40]
mov dword [esp + 4], edx
movsd qword [esp + 0x98], xmm0
movd xmm0, dword [esp + 0x2a]
mov ecx, dword [esp + 0x98]
shrd edx, eax, 0x10
shr eax, 0x10
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x68], edx
mov dword [esp + 0xc], ecx
movzx edx, byte [esp + 0x1b]
movzx ecx, byte [esp + 0x9f]
mov dword [esp + 0x50], eax
movzx eax, byte [esp + 0x18]
mov dword [esp + 0x58], eax
movzx eax, word [esp + 0x36]
mov word [esp + 0x54], ax
mov eax, dword [esp + 0x26]
jmp 0x413fae
movzx edx, byte [esp + 0x2e]
movzx esi, word [esp + 0x42]
mov eax, dword [esp + 0x14]
movsd xmm1, qword [esp + 0x2f]
mov edi, dword [esp + 0x3e]
movzx ecx, byte [esp + 0x1b]
movd xmm0, dword [esp + 0x2a]
mov byte [esp + 0x67], dl
movzx edx, byte [esp + 0x37]
mov dword [esp + 0x174], esi
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x50], eax
movzx eax, byte [esp + 0x18]
mov ah, byte [esp + 0x19]
movsd qword [esp + 0x17c], xmm1
mov dword [esp + 0x170], edi
mov edi, dword [esp + 0x20]
movq xmm1, qword [esp + 0x17c]
mov byte [esp + 0x184], dl
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x24]
mov dword [esp + 0xa4], eax
movzx eax, byte [esp + 0x1a]
mov dword [esp + 0xb4], edi
movzx edx, byte [esp + 0x184]
movq qword [esp + 0x194], xmm1
mov dword [esp + 0xb8], esi
mov byte [esp + 0x19c], dl
movzx edx, word [esp + 0x38]
mov word [esp + 0x82], dx
movzx edx, word [esp + 0x3b]
mov dword [esp + 0x54], edx
movzx edx, byte [esp + 0x28]
mov dword [esp + 0x4c], edx
movzx edx, byte [esp + 0x29]
mov dword [esp + 0x44], edx
mov dh, byte [esp + 0x3a]
mov dword [esp + 0x5c], edx
movzx edx, byte [esp + 0x3d]
mov dword [esp + 4], edx
jmp 0x413c17
mov byte [esp + 0x98], al
mov byte [esp + 0x99], cl
mov byte [esp + 0x9a], dl
mov edi, 0x1713
mov dword [esp + 0x50], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 0x98]
mov dword [esp + 0xc], eax
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x58], eax
mov dword [esp + 4], eax
jmp 0x413ff6
shl edx, 0x10
mov dword [esp + 8], 0
or edx, eax
mov ah, 0x17
mov al, 0x13
mov dword [esp + 0xc], edx
mov dword [esp + 0xa4], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x54], eax
mov dword [esp + 4], eax
mov dword [esp + 0x4c], edx
mov dword [esp + 0x44], edx
movzx edx, byte [esp + 0x19c]
mov edi, dword [esp + 0xb4]
movq xmm1, qword [esp + 0x194]
mov byte [esp + 0x16c], dl
mov edx, dword [esp + 0x50]
shr edi, 0x18
movq qword [esp + 0x164], xmm1
mov dword [esp + 0x1a0], edi
mov ebx, edx
shr edx, 0x18
shr ebx, 8
movzx edx, dl
movzx edi, bx
movzx ecx, cl
movq xmm1, qword [esp + 0x164]
shl edx, 0x10
shl ecx, 0x18
or edi, edx
mov edx, dword [esp + 0xb4]
mov dword [esp + 0x70], edi
movzx edi, al
movzx eax, byte [esp + 0x16c]
shl edi, 0x10
movq qword [esp + 0x8c], xmm1
or edi, ecx
mov ecx, dword [esp + 0xa4]
mov ebx, edx
mov esi, edx
shr edx, 0x10
mov byte [esp + 0x94], al
and ebx, 0xff00
mov dword [esp + 0x88], edx
movzx eax, ch
movzx ecx, cl
shl eax, 8
or eax, edi
or ecx, eax
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0x7c], ecx
movzx ecx, word [esp + 0x82]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x170]
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x6c], ecx
movzx ecx, byte [esp + 0x67]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x50]
jmp 0x412b11
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x40]
mov eax, dword [esp + 0x24]
movzx edi, word [esp + 0x28]
movd xmm0, dword [esp + 0x2a]
movq xmm1, qword [esp + 0x2e]
movd xmm2, dword [esp + 0x38]
mov ecx, ebx
movzx ecx, word [esp + 0x36]
mov dword [esp + 4], edx
shrd edx, esi, 0x10
mov dword [esp + 0x58], ebx
shr esi, 0x10
shr ebx, 8
mov dword [esp + 0x164], eax
mov word [esp + 0x168], di
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x6c], esi
mov word [esp + 0x54], cx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x50], edx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x20]
jmp 0x413f76
mov edx, dword [esp + 0x14]
movsd xmm1, qword [esp + 0x2f]
movd xmm0, dword [esp + 0x2a]
mov esi, dword [esp + 0x3e]
mov dword [esp + 0x50], edx
mov edx, edi
mov dl, byte [esp + 0x18]
movsd qword [esp + 0xbc], xmm1
movzx edi, word [esp + 0x42]
mov dword [esp + 0x170], esi
movq xmm1, qword [esp + 0xbc]
mov dword [esp + 0xa4], edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x174], edi
movq qword [esp + 0x194], xmm1
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0xb4], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0xb8], edx
movzx edx, byte [esp + 0x2e]
mov byte [esp + 0x67], dl
movzx edx, byte [esp + 0x37]
mov byte [esp + 0xc4], dl
movzx edx, byte [esp + 0xc4]
jmp 0x413b45
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x40]
mov eax, dword [esp + 0x24]
movzx edi, word [esp + 0x28]
movd xmm0, dword [esp + 0x2a]
movq xmm1, qword [esp + 0x2e]
movd xmm2, dword [esp + 0x38]
mov ecx, ebx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x58], ebx
shr ebx, 8
mov dword [esp + 4], edx
shrd edx, esi, 0x10
shr esi, 0x10
mov dword [esp + 0x17c], eax
mov word [esp + 0x180], di
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], esi
mov dword [esp + 0x50], ecx
jmp 0x413f42
movsd xmm2, qword [esp + 0x24]
movsd xmm1, qword [esp + 0x2c]
mov eax, dword [esp + 0x14]
movq xmm0, qword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
movsd qword [esp + 0x110], xmm2
movsd qword [esp + 0x118], xmm1
movq xmm2, qword [esp + 0x34]
movq xmm1, qword [esp + 0x3c]
movq qword [esp + 0x108], xmm0
movq qword [esp + 0x120], xmm2
movq qword [esp + 0x128], xmm1
mov dword [esp + 0x104], ecx
mov dword [esp + 0x100], eax
jmp 0x4143bc
movzx ecx, byte [esp + 0x16]
movzx eax, word [esp + 0x14]
movzx ebx, byte [esp + 0x1b]
movzx esi, word [esp + 0x28]
movd xmm0, dword [esp + 0x2a]
movq xmm1, qword [esp + 0x2e]
movd xmm2, dword [esp + 0x38]
shl ecx, 0x10
mov word [esp + 0x180], si
or eax, ecx
mov ecx, dword [esp + 0x17]
mov dl, ch
shld ebx, ecx, 0x10
shl ecx, 0x18
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x24]
or ecx, eax
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x17c], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 4], edx
shrd edx, ecx, 0x10
shr ecx, 0x10
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x1c]
movzx eax, word [esp + 0x36]
movzx edx, word [esp + 0x180]
mov esi, dword [esp + 0x17c]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x20]
mov word [esp + 0x54], ax
mov dword [esp + 0x164], esi
mov word [esp + 0x168], dx
mov eax, dword [esp + 0x164]
movzx edx, word [esp + 0x168]
mov dword [esp + 0x9c], ecx
shr ecx, 0x18
mov word [esp + 0x1d8], dx
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x44], eax
mov edx, ebx
mov eax, dword [esp + 0x1d6]
shr edx, 0x10
movzx edx, dl
movzx esi, bh
movzx edi, byte [esp + 0x58]
mov dword [esp + 0x1a0], ecx
movd dword [esp + 0x58], xmm2
shl edx, 0x18
shl esi, 0x10
or esi, edx
movzx edx, bl
shl edx, 8
or edx, esi
or edi, edx
movzx edx, byte [esp + 0x9e]
mov byte [esp + 0x7a], dl
movzx edx, word [esp + 0x9c]
mov word [esp + 0x78], dx
pextrw edx, xmm2, 1
movzx ebx, byte [esp + 0x7a]
movzx esi, word [esp + 0x78]
mov byte [esp + 0x76], bl
mov word [esp + 0x74], si
mov ecx, dword [esp + 0x50]
movq qword [esp + 0xcb], xmm1
mov word [esp + 0xd7], dx
mov dh, dl
pextrw ebx, xmm1, 1
mov dword [esp + 0x60], edi
movd dword [esp + 0x48], xmm1
mov dword [esp + 0x5c], edx
mov esi, ecx
mov byte [esp + 0xfc], ch
mov ecx, dword [esp + 0x44]
shr esi, 0x10
mov word [esp + 0xfd], si
movzx esi, byte [esp + 0xfe]
mov word [esp + 0xbd], cx
mov ecx, dword [esp + 4]
mov dword [esp + 0xbf], eax
shl esi, 0x10
mov word [esp + 0xd9], cx
movzx ecx, word [esp + 0xfc]
or ecx, esi
movzx esi, word [esp + 0xcc]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 4]
mov word [esp + 0x8c], si
mov esi, eax
shr eax, 0x18
mov byte [esp + 0x8e], bh
mov dl, ch
mov dword [esp + 0x44], eax
movzx eax, word [esp + 0x54]
shr esi, 0x10
mov ecx, dword [esp + 0x50]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xbd]
mov dword [esp + 0x4c], esi
movzx esi, word [esp + 0x74]
mov word [esp + 0x93], ax
mov eax, dword [esp + 0xcf]
mov dword [esp + 0x7c], edx
movzx edx, word [esp + 0xd8]
mov ebx, esi
and ebx, 0xff00
mov dword [esp + 0x8f], eax
mov eax, edi
and edi, 0xffff0000
mov dword [esp + 0x54], edx
movzx edx, byte [esp + 0x76]
and eax, 0xffffff00
mov dword [esp + 0x88], edx
jmp 0x412b11
movzx eax, byte [esp + 0x16]
movzx ecx, word [esp + 0x14]
movsd xmm1, qword [esp + 0x1f]
movsd xmm2, qword [esp + 0x27]
movq xmm0, qword [esp + 0x17]
mov byte [esp + 0x102], al
mov word [esp + 0x100], cx
movsd qword [esp + 0x10b], xmm1
movsd xmm1, qword [esp + 0x2f]
movsd qword [esp + 0x113], xmm2
movq xmm2, qword [esp + 0x37]
movq qword [esp + 0x103], xmm0
movsd qword [esp + 0x11b], xmm1
movq xmm1, qword [esp + 0x3c]
movq qword [esp + 0x123], xmm2
movq qword [esp + 0x128], xmm1
jmp 0x4143bc
movsd xmm2, qword [esp + 0x20]
movsd xmm1, qword [esp + 0x28]
movq xmm0, qword [esp + 0x18]
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x14]
movsd qword [esp + 0x10c], xmm2
movsd qword [esp + 0x114], xmm1
movq xmm2, qword [esp + 0x30]
movq xmm1, qword [esp + 0x38]
movq qword [esp + 0x104], xmm0
mov dword [esp + 0x12c], ecx
movq qword [esp + 0x11c], xmm2
movq qword [esp + 0x124], xmm1
jmp 0x413ec6
movzx eax, word [esp + 0x14]
mov byte [esp + 0x7a], bl
shl dword [esp + 0x1b8], 0x10
mov word [esp + 0x17a], ax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x88], eax
movzx eax, word [esp + 8]
mov word [esp + 0x98], ax
mov dword [esp + 0x9a], edi
movzx ecx, word [esp + 0x9c]
mov eax, dword [esp + 0x98]
mov word [esp + 0x78], cx
movzx ecx, byte [esp + 0x7a]
mov byte [esp + 0x76], cl
movzx ecx, word [esp + 0x78]
mov word [esp + 0x74], cx
mov ecx, ebx
shr ecx, 0x10
mov dword [esp + 0x60], ecx
mov cl, bh
mov dword [esp + 0x48], ecx
jmp 0x413079
movsd xmm2, qword [esp + 0x20]
movsd xmm1, qword [esp + 0x28]
movq xmm0, qword [esp + 0x18]
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x14]
movsd qword [esp + 0x140], xmm2
movsd qword [esp + 0x148], xmm1
movq xmm2, qword [esp + 0x30]
movq xmm1, qword [esp + 0x38]
movq qword [esp + 0x138], xmm0
mov dword [esp + 0x160], ecx
movq qword [esp + 0x150], xmm2
movq qword [esp + 0x158], xmm1
mov dword [esp + 0x134], eax
jmp 0x41432a
movsd xmm1, qword [esp + 0xec]
movsd xmm2, qword [esp + 0xe4]
movq xmm0, qword [esp + 0xf4]
movsd qword [esp + 0x154], xmm1
movsd xmm1, qword [esp + 0xdc]
movsd qword [esp + 0x14c], xmm2
movq xmm2, qword [esp + 0xcc]
movq qword [esp + 0x15c], xmm0
movsd qword [esp + 0x144], xmm1
movq xmm1, qword [esp + 0xd4]
movq qword [esp + 0x134], xmm2
movq qword [esp + 0x13c], xmm1
movsd xmm2, qword [esp + 0x144]
movsd xmm1, qword [esp + 0x14c]
mov ecx, dword [esp + 0x134]
movq xmm0, qword [esp + 0x13c]
mov eax, dword [esp + 0x138]
movsd qword [esp + 0x110], xmm2
movsd qword [esp + 0x118], xmm1
movq xmm2, qword [esp + 0x154]
movq xmm1, qword [esp + 0x15c]
mov edx, ecx
movq qword [esp + 0x108], xmm0
shr edx, 8
movq qword [esp + 0x120], xmm2
movq qword [esp + 0x128], xmm1
mov byte [esp + 0x100], cl
shr ecx, 0x18
mov word [esp + 0x101], dx
mov byte [esp + 0x103], cl
mov ecx, 8
mov dword [esp + ecx + 0xfc], eax
movzx edx, byte [esp + 0x11a]
mov eax, dword [esp + 0x100]
movsd xmm1, qword [esp + 0x11b]
movzx ecx, byte [esp + 0x107]
movd xmm0, dword [esp + 0x116]
cmp dword [esp + 8], 3
mov byte [esp + 0x67], dl
movzx edx, byte [esp + 0x123]
mov dword [esp + 0x50], eax
movzx eax, byte [esp + 0x104]
mov ah, byte [esp + 0x105]
movsd qword [esp + 0xbc], xmm1
movq xmm1, qword [esp + 0xbc]
mov byte [esp + 0xc4], dl
mov dword [esp + 0xa4], eax
movzx eax, byte [esp + 0x106]
movzx edx, byte [esp + 0xc4]
movq qword [esp + 0x194], xmm1
mov byte [esp + 0x19c], dl
movzx edx, word [esp + 0x124]
mov word [esp + 0x82], dx
movzx edx, word [esp + 0x127]
mov dword [esp + 0x54], edx
movzx edx, word [esp + 0x12e]
mov dword [esp + 0x174], edx
mov edx, dword [esp + 0x12a]
mov dword [esp + 0x170], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x10c]
mov dword [esp + 0xb4], edx
mov edx, dword [esp + 0x110]
mov dword [esp + 0xb8], edx
movzx edx, byte [esp + 0x114]
mov dword [esp + 0x4c], edx
movzx edx, byte [esp + 0x115]
mov dword [esp + 0x44], edx
mov dh, byte [esp + 0x126]
mov dword [esp + 0x5c], edx
movzx edx, byte [esp + 0x129]
mov dword [esp + 4], edx
jne 0x413c17
mov al, 2
xor ecx, ecx
xor edi, edi
mov dword [esp + 0xc], eax
xor eax, eax
cmp byte [esp + 0xc], 2
jne 0x413264
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x1ec]
movdqa xmm0, xmmword [esp + 0x1a0]
mov esi, dword [esp + 0xac]
mov byte [esp + 0x8c], al
mov eax, dword [esp + 0x88]
mov dword [esp + 0x8d], ecx
shr eax, 0x18
mov byte [esp + 0x91], al
pextrw eax, xmm0, 1
mov dword [esp + 0x5c], eax
movzx eax, word [esp + 0x17a]
mov byte [esp + 0x92], al
pextrw eax, xmm0, 3
mov dword [esp + 4], eax
movzx eax, byte [esp + 0xc6]
mov byte [esp + 0x93], al
movzx eax, byte [esp + 0xc7]
mov byte [esp + 0x94], al
mov byte [esp + 0x218], al
movzx eax, byte [esp + 0x1d3]
movsd xmm0, qword [esp + 0x8c]
mov byte [esp + 0xca], al
movzx eax, word [esp + 0x1d1]
movsd qword [esp + 0x210], xmm0
movsd xmm0, qword [esp + 0x210]
mov word [esp + 0xc8], ax
movzx eax, byte [esp + 0x218]
movsd qword [esp + 0x10], xmm0
mov byte [esp + 0x18], al
mov eax, dword [esp + 0xb0]
mov edi, eax
push eax
push esi
call fcn.004e54f0
add esp, 8
test eax, eax
je 0x41462a
push edi
push esi
call fcn.004e54f0
add esp, 8
movdqa xmm1, xmmword [esp + 0x1a0]
movd xmm0, dword [esp + 0x1c8]
mov dword [esp + 0x60], eax
xor ebx, ebx
mov edx, 0x15
mov dword [esp + 8], 1
mov dword [esp + 0xc], edi
mov dword [esp + 0x70], edi
pextrw eax, xmm1, 2
pslld xmm0, 0x10
mov dword [esp + 0x54], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x44], eax
jmp 0x412b7d
movzx eax, byte [esp + 0x18]
movsd xmm0, qword [esp + 0x10]
movzx ecx, byte [esp + 0xca]
movzx edx, word [esp + 0xc8]
movsd xmm1, qword [esp + 0x1f8]
mov byte [esp + 0x190], al
mov byte [esp + 0x20c], al
mov byte [esp + 0xd0], al
mov eax, dword [esp + 0x200]
movsd qword [esp + 0x188], xmm0
movsd qword [esp + 0x204], xmm0
movsd qword [esp + 0xc8], xmm0
movq xmm0, qword [esp + 0x1f0]
mov byte [esp + 0x132], cl
mov word [esp + 0x130], dx
movsd qword [esp + 0x18], xmm1
test al, al
mov dword [esp + 0x20], eax
movq qword [esp + 0x10], xmm0
je 0x4146cc
mov ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x1c]
mov dword [ecx + 4], 1
mov dword [ecx + 8], eax
mov byte [ecx + 0xc], 1
jmp 0x414709
lea eax, [esp + 0x10]
push eax
call fcn.004e64c0
add esp, 4
test eax, eax
je 0x414715
mov esi, dword [esp + 0x1c]
lea eax, [esp + 0x10]
push eax
call fcn.004e64c0
add esp, 4
mov ecx, dword [esp + 0x84]
mov dword [ecx + 4], 1
mov dword [ecx + 8], esi
mov byte [ecx + 0xc], 0x15
mov dword [ecx + 0x10], esi
mov dword [ecx + 0x14], eax
mov eax, 1
mov dword [ecx], eax
jmp 0x41275c
movzx eax, bl
movzx ecx, bh
movzx edx, byte [esp + 0x44]
mov esi, dword [esp + 0x1c4]
mov ebx, dword [esp + 0x1e4]
mov edi, dword [esp + 0x1cc]
movsd xmm0, qword [esp + 0xc8]
shl eax, 0x18
shl ecx, 0x10
or ecx, eax
movzx eax, byte [esp + 8]
shl edx, 8
or edx, ecx
or eax, edx
mov edx, dword [esp + 0x1b8]
shld esi, edx, 0x10
shr edx, 1
shl esi, 8
and edx, 1
movzx ecx, si
or ecx, edx
mov edx, esi
mov esi, dword [esp + 0x1e8]
and edx, 0xffff0000
or ecx, edx
mov edx, dword [esp + 0x84]
xor ecx, 1
mov dword [edx + 4], esi
mov dword [edx + 8], ebx
mov dword [edx + 0xc], edi
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x7c]
mov dword [edx + 0x14], ecx
mov dword [edx + 0x18], eax
mov eax, dword [esp + 0x1e0]
mov byte [edx + 0x1c], al
mov byte [edx + 0x1d], ah
shr eax, 0x10
mov word [edx + 0x1e], ax
mov eax, dword [esp + 0x1c8]
mov word [edx + 0x20], ax
mov eax, dword [esp + 0x48]
mov byte [edx + 0x22], al
movzx eax, byte [esp + 0xd0]
movsd qword [edx + 0x23], xmm0
movdqa xmm0, xmmword [esp + 0x1a0]
mov byte [edx + 0x2b], al
mov eax, dword [esp + 0x58]
mov word [edx + 0x2c], ax
mov eax, dword [esp + 0x5c]
mov byte [edx + 0x2e], ah
pextrw eax, xmm0, 2
mov word [edx + 0x2f], ax
mov eax, dword [esp + 4]
mov byte [edx + 0x31], al
mov eax, dword [esp + 0x6c]
mov word [edx + 0x36], ax
mov eax, dword [esp + 0x68]
mov dword [edx + 0x32], eax
movzx eax, word [esp + 0x1be]
mov word [edx + 0x38], ax
pextrw eax, xmm0, 7
mov byte [edx + 0x3a], ah
movzx eax, word [esp + 0x1bc]
mov word [edx + 0x3b], ax
movzx eax, byte [esp + 0x132]
mov byte [edx + 0x3f], al
movzx eax, word [esp + 0x130]
mov word [edx + 0x3d], ax
xor eax, eax
mov dword [edx], eax
jmp 0x41275c
movq xmm0, qword [esp + 0x3c]
movsd xmm1, qword [esp + 0x34]
movsd xmm2, qword [esp + 0x2c]
movq qword [esp + 0xf4], xmm0
movsd qword [esp + 0xec], xmm1
movsd xmm1, qword [esp + 0x24]
movsd qword [esp + 0xe4], xmm2
movq xmm2, qword [esp + 0x14]
movsd qword [esp + 0xdc], xmm1
movq xmm1, qword [esp + 0x1c]
movq qword [esp + 0xd4], xmm1
movq qword [esp + 0xcc], xmm2
mov dword [esp + 0xc8], eax
movsd xmm1, qword [esp + 0xe8]
movsd xmm2, qword [esp + 0xe0]
mov eax, dword [esp + 0xf8]
movq xmm0, qword [esp + 0xf0]
movsd qword [esp + 0x150], xmm1
movsd xmm1, qword [esp + 0xd8]
movsd qword [esp + 0x148], xmm2
movq xmm2, qword [esp + 0xc8]
mov dword [esp + 0x160], eax
movq qword [esp + 0x158], xmm0
movsd qword [esp + 0x140], xmm1
movq xmm1, qword [esp + 0xd0]
movq qword [esp + 0x130], xmm2
movq qword [esp + 0x138], xmm1
mov eax, dword [esp + 0x130]
cmp eax, 2
mov dword [esp + 8], eax
jne 0x414a31
movzx eax, byte [esp + 0xc]
push dword [esp + 0x138]
push dword [esp + 0x138]
push eax
lea eax, [esp + 0x108]
push eax
call fcn.004e04d0
add esp, 0x10
mov eax, dword [esp + 0xfc]
cmp eax, 2
mov dword [esp + 8], eax
jne 0x4143bc
movzx eax, byte [esp + 0x104]
mov edi, dword [esp + 0x100]
mov bh, byte [esp + 0x106]
mov bl, byte [esp + 0x107]
mov esi, dword [esp + 0x9c]
mov byte [esp + 8], al
movzx eax, byte [esp + 0x105]
mov byte [esp + 0x44], al
mov eax, dword [esp + 0x110]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0xc], eax
push eax
push esi
call fcn.004e54f0
add esp, 8
test eax, eax
je 0x414ab4
mov edi, dword [esp + 0xc]
push edi
push esi
call fcn.004e54f0
add esp, 8
mov dword [esp + 0xb4], eax
movzx eax, byte [esp + 0xc4]
movsd xmm0, qword [esp + 0xbc]
mov dword [esp + 8], 1
mov dword [esp + 0x50], edi
mov byte [esp + 0x184], al
mov byte [esp + 0x19c], al
mov al, 0x15
movsd qword [esp + 0x194], xmm0
mov dword [esp + 0xa4], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x54], eax
mov dword [esp + 4], eax
jmp 0x413c0f
movsd xmm1, qword [esp + 0x148]
movq xmm0, qword [esp + 0x140]
movq xmm2, qword [esp + 0x150]
mov esi, dword [esp + 0x160]
mov ecx, dword [esp + 0x134]
mov edx, dword [esp + 0x138]
mov eax, dword [esp + 0x13c]
movsd qword [esp + 0x114], xmm1
movq xmm1, qword [esp + 0x158]
movq qword [esp + 0x10c], xmm0
movq qword [esp + 0x11c], xmm2
mov dword [esp + 0x12c], esi
movq qword [esp + 0x124], xmm1
mov dword [esp + 0x100], ecx
mov ecx, 0xc
mov dword [esp + 0x104], edx
jmp 0x4143b5
mov eax, edi
mov ecx, edi
mov dword [esp + 0xc], 0
and ecx, 0xffffff00
and eax, 0xff000000
cmp byte [esp + 0xc], 2
jne 0x413264
jmp 0x4144f5