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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
mov eax, 0x2d40
call fcn.100f90b0
mov esi, esp
mov dword [esi + 0x2d28], ebp
call 0x10065120
pop eax
mov edx, dword [ebp + 0xc]
mov dword [esi + 0x5c], eax
lea eax, [esi + 0x2d30]
mov dword [eax - 4], esp
or dword [eax + 8], 0xffffffff
mov dword [eax + 4], 0x10084c90
mov ecx, dword fs:[0]
mov dword [eax], ecx
mov dword fs:[0], eax
mov edx, dword [edx]
mov eax, dword [edx + 0x54]
mov dword [esi + 8], edx
test byte [eax + 0x1e], 1
jne 0x1006517d
cmp byte [edx + 0x38], 3
lea eax, [edx + 0x30]
mov ecx, 0x1011c79c
cmovne ecx, eax
xor eax, eax
cmp byte [ecx + 8], 2
cmovne eax, ecx
jne 0x10065189
mov al, byte [edx + 0x41]
cmp al, 2
je 0x100651b1
and al, 1
jne 0x100651b1
mov byte [esi + 0xb4], 2
jmp 0x100652c6
mov ecx, dword [eax]
lock inc dword [ecx]
jle 0x10068ba0
mov edx, dword [eax + 4]
mov al, byte [eax + 8]
mov dword [esi + 0xac], ecx
mov dword [esi + 0xb0], edx
mov byte [esi + 0xb4], al
jmp 0x100652c6
mov edi, dword [esi + 8]
lea ebx, [esi + 0x1988]
mov al, byte [edi + 0x3f]
cmp al, 2
sete cl
or cl, al
movzx eax, cl
and eax, 1
push dword [ebp + 0x14]
push dword [ebp + 0x10]
mov dword [esi + 0x3c], eax
push eax
push ebx
call fcn.1008150c
add esp, 0x10
mov al, byte [edi + 0x3f]
and dword [esi + 0x2d38], 0
mov byte [esi + 0xc], al
push ebx
call fcn.100879f0
pop ecx
test eax, eax
je 0x10065225
shl edx, 4
test edx, edx
je 0x1006520a
add edx, 0xfffffff0
cmp byte [eax + 0xc], 0
lea eax, [eax + 0x10]
jne 0x100651f8
jmp 0x10065225
mov eax, dword [esi + 8]
cmp dword [eax + 0x50], 1
jne 0x10065225
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x4c]
mov eax, dword [eax]
cmp dword [eax + 0x18], 0
je 0x10065ff1
lea ecx, [esi + 0x2260]
and dword [esi + 0x2d38], 0
and dword [ecx], 0
call fcn.10053118
cmp dword [ebp + 0x14], 1
jne 0x10065263
mov eax, dword [esi + 8]
cmp dword [eax + 0x50], 0
je 0x100683ca
mov eax, dword [eax + 0x4c]
mov eax, dword [eax]
cmp word [eax + 0x1c], 0
jne 0x10065263
cmp dword [eax + 0x18], 0
je 0x10065e55
and dword [esi + 0x1e98], 0
and dword [esi + 0x2d38], 0
mov dword [esi + 0x1e9c], 0x1011cfa8
lea ecx, [esi + 0x1e98]
call fcn.10053118
lea eax, [esi + 0x1988]
push eax
call fcn.100879f0
pop ecx
test eax, eax
je 0x100652ad
lea ecx, [esi + 0xac]
push edx
push eax
push dword [esi + 0x3c]
push ecx
call fcn.10080da0
add esp, 0x10
jmp 0x100652b4
mov byte [esi + 0xb4], 2
or dword [esi + 0x2d38], 0xffffffff
lea ecx, [esi + 0x1988]
call fcn.10052ee4
mov eax, dword [esi + 8]
lock inc dword [eax]
jle 0x10068ba0
mov al, byte [esi + 0xb4]
cmp al, 2
mov byte [esi + 0xc], al
jne 0x100652e8
mov byte [esi + 0xc0], 2
jmp 0x10065318
mov eax, dword [esi + 0xac]
lock inc dword [eax]
jle 0x10068ba0
mov ecx, dword [esi + 0xb0]
mov dword [esi + 0xb8], eax
mov dword [esi + 0x14], eax
mov al, byte [esi + 0xc]
mov dword [esi + 0xbc], ecx
mov dword [esi + 0x30], ecx
mov byte [esi + 0xc0], al
mov eax, dword [esi + 8]
mov dword [esi + 0xe0], eax
cmp byte [eax + 0x3c], 0
movzx edx, byte [eax + 0x3d]
push 0xa
pop ecx
cmove edx, ecx
mov dword [esi + 0x18], edx
mov dl, byte [eax + 0x40]
cmp dl, 2
sete cl
or cl, dl
mov edx, dword [eax + 8]
and cl, 1
xor edi, edi
inc edi
mov dword [esi + 0x3c], edi
cmp edx, 2
cmove edx, edi
mov edi, 0xa00000
cmovne edi, dword [eax + 0xc]
movzx eax, byte [eax + 0x3e]
xor ebx, ebx
mov dword [esi + 0xc8], edx
mov dword [esi + 0x2d38], 0x10
cmp al, 3
mov dword [esi + 0xcc], edi
mov byte [esi + 0xd0], 1
cmovne ebx, eax
mov eax, dword [esi + 0x18]
mov byte [esi + 0xd1], al
lea eax, [esi + 0xe60]
mov byte [esi + 0xd2], bl
mov byte [esi + 0xd3], cl
mov word [esi + 0xd4], 2
push eax
call fcn.100740e8
pop eax
lea edi, [esi + 0x2260]
lea edx, [esi + 0xc8]
mov ecx, edi
call fcn.100837dd
push edi
lea edi, [esi + 0xe60]
push edi
call fcn.100742e3
pop ecx
pop edx
mov dword [esi + 0x2d38], 0x28
lea eax, [esi + 0x6a8]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push edi
push eax
call fcn.100743b8
add esp, 0x10
mov eax, dword [esi + 0x6a8]
cmp eax, 8
mov dword [esi + 0x18], eax
jne 0x100657c3
mov eax, dword [esi + 0x6ac]
lea ecx, [esi + 0xe60]
mov dword [esi + 0x2d38], 0x11
mov dword [esi + 0x34], eax
mov dword [esi + 0xe4], eax
call fcn.10055519
cmp byte [esi + 0xc], 2
je 0x10065435
mov eax, dword [esi + 0x14]
lock inc dword [eax]
jle 0x10068ba0
mov eax, dword [esi + 8]
mov al, byte [eax + 0x3f]
mov byte [esi + 0xe68], 3
cmp al, 2
sete cl
or cl, al
mov eax, dword [esi + 0x14]
and cl, 1
mov byte [esi + 0xe6c], cl
lea ecx, [esi + 0x6a8]
mov dword [esi + 0x6a8], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 0x6ac], eax
mov al, byte [esi + 0xc]
mov byte [esi + 0x6b0], al
lea eax, [esi + 0x1e98]
push ecx
lea ecx, [esi + 0xe60]
push ecx
push eax
call fcn.1007a411
add esp, 0xc
lea eax, [esi + 0xe60]
mov byte [esi + 0x48], 1
mov dword [esi + 0x2d38], 0x25
push eax
call fcn.1007a4a3
pop eax
movsd xmm0, qword [esi + 0x1e98]
movsd xmm1, qword [esi + 0x1ea0]
lea eax, [esi + 0x1c10]
mov dword [esi + 0x2d38], 0x27
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
push eax
lea eax, [esi + 0xe60]
push eax
call fcn.1007a59b
pop ecx
pop edx
mov eax, dword [esi + 0x34]
lock inc dword [eax]
jle 0x10068ba0
push eax
lea eax, [esi + 0xe60]
push eax
lea eax, [esi + 0x6a8]
push eax
call fcn.1007a544
add esp, 0xc
mov eax, dword [esi + 0x6a8]
cmp eax, 8
mov dword [esi + 0x18], eax
jne 0x100657f5
mov ecx, dword [esi + 0x6ac]
mov edx, dword [esi + 0x6b0]
mov eax, dword [esi + 0x6bc]
movsd xmm0, qword [esi + 0x6b4]
mov dword [esi + 0x2d38], 0x26
mov dword [esi + 0x420], ecx
mov dword [esi + 0x18], ecx
lea ecx, [esi + 0xe60]
mov dword [esi + 0x424], edx
movsd qword [esi + 0x17a0], xmm0
mov dword [esi + 0x17a8], eax
mov dword [esi + 0x20], edx
movsd qword [esi + 0x428], xmm0
mov dword [esi + 0x430], eax
call fcn.10055159
lea ecx, [esi + 0x428]
mov eax, dword [esi + 0x18]
cmp byte [esi + 0xc], 2
mov edi, dword [esi + 0x20]
mov edx, dword [ecx + 8]
movsd xmm0, qword [ecx]
mov dword [esi + 0xe8], eax
mov dword [esi + 0xec], edi
mov dword [esi + 0xf8], edx
movsd qword [esi + 0xf0], xmm0
je 0x100655ae
mov eax, dword [esi + 0x14]
lock inc dword [eax]
jle 0x10068ba0
mov eax, dword [esi + 0x14]
mov dword [esi + 0x128], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 0x12c], eax
mov al, byte [esi + 0xc]
mov byte [esi + 0x130], al
mov eax, dword [esi + 8]
mov al, byte [eax + 0x45]
cmp al, 2
je 0x100655d7
and al, 1
je 0x100655ed
mov eax, dword [esi + 8]
mov al, byte [eax + 0x3f]
cmp al, 2
je 0x100659d5
and al, 1
jne 0x100659d5
lea eax, [esi + 0x128]
mov dword [esi + 0x2d38], 0x12
push eax
call fcn.10055de3
pop eax
push 2
pop eax
movsd xmm0, qword [esi + 0x2260]
movsd xmm1, qword [esi + 0x2268]
movsd qword [esi + 0x98], xmm0
movsd qword [esi + 0xa0], xmm1
mov dword [esi + 0x90], ecx
mov dword [esi + 0x94], eax
mov eax, dword [esi + 8]
mov al, byte [eax + 0x44]
cmp al, 2
push 3
pop ecx
mov dword [esi + 0x18], ecx
je 0x1006564b
and al, 1
je 0x10065766
mov ecx, dword [esi + 8]
mov eax, dword [ecx + 0x54]
cmp dword [eax + 0x18], 0
jne 0x10065661
test byte [eax + 0x1d], 3
je 0x10065766
mov al, byte [ecx + 0x3f]
mov byte [esi + 0x20], al
mov al, byte [ecx + 0x46]
mov byte [esi + 0x28], al
mov eax, dword [ecx + 0x10]
mov dword [esi + 0x7c], eax
mov eax, dword [ecx + 0x14]
mov dword [esi + 0x2d38], 0x13
mov dword [esi + 0x40], eax
lea eax, [esi + 0x6a8]
push eax
call fcn.1005b27d
pop eax
mov edi, dword [esi + 0x7c]
mov edx, dword [esi + 0x40]
xor eax, eax
mov ecx, 0x100000
inc eax
cmp edi, 2
cmove edx, ecx
mov cl, byte [esi + 0x28]
cmovne eax, edi
mov dword [esi + 0x2260], eax
mov dword [esi + 0x2264], edx
mov dl, byte [esi + 0x20]
cmp cl, 2
sete al
or al, cl
and al, 1
cmp dl, 2
sete cl
or cl, dl
and cl, 1
mov byte [esi + 0x2268], cl
mov byte [esi + 0x2269], 1
mov byte [esi + 0x226a], al
lea eax, [esi + 0x2260]
push eax
lea edi, [esi + 0x6a8]
push edi
call fcn.1005c038
pop ecx
pop edx
mov eax, dword [esi + 0x34]
lock inc dword [eax]
jle 0x10068ba0
mov dword [esi + 0x2d38], 0x21
push eax
push edi
lea eax, [esi + 0xe60]
push eax
call fcn.1005b2cc
add esp, 0xc
lea ecx, [esi + 0x6a8]
mov byte [esi + 0x61], 1
mov dword [esi + 0x2d38], 0x20
call fcn.10055519
cmp dword [esi + 0xe60], 0
je 0x10065bad
lea eax, [esi + 0xe68]
push 0x48
push eax
lea edi, [esi + 0x6a8]
push edi
call fcn.100f9c00
add esp, 0xc
mov ecx, edi
mov byte [esi + 0x61], 0
call fcn.10054842
lea edi, [esi + 0x2e0]
push 0x130
lea eax, [esi + 0x6a8]
push eax
push edi
call fcn.100f9c00
add esp, 0xc
mov eax, dword [esi + 0x18]
mov dword [edi + 0x130], eax
mov eax, dword [esi + 0x20]
mov dword [edi + 0x138], ebx
mov dword [edi + 0x134], eax
mov eax, dword [esi + 8]
mov al, byte [eax + 0x42]
cmp al, 2
je 0x100658d6
and al, 1
jne 0x100658d6
xor ebx, ebx
push 2
pop eax
mov dword [esi + 0x20], eax
mov dword [esi + 0x40], 0
jmp 0x100664e3
lea eax, [esi + 0x6ac]
lea ecx, [esi + 0x250]
push 0x44
push eax
push ecx
call fcn.100f9c00
add esp, 0xc
lea ecx, [esi + 0xe60]
mov dword [esi + 0x2d38], 0x10
call fcn.10055519
jmp 0x10065ce9
lea eax, [esi + 0x6b8]
mov ecx, dword [eax - 4]
movsd xmm0, qword [eax - 0xc]
mov dword [esi + 0xc80], ecx
movsd qword [esi + 0xc78], xmm0
push 0x38
push eax
lea eax, [esi + 0x2260]
push eax
call fcn.100f9c00
add esp, 0xc
mov eax, dword [esi + 0xc80]
movsd xmm0, qword [esi + 0xc78]
lea ecx, [esi + 0xe60]
mov byte [esi + 0x48], 0
mov dword [esi + 0x2d38], 0x25
mov dword [esi + 0x17a8], eax
movsd qword [esi + 0x17a0], xmm0
movsd qword [esi + 0x2e0], xmm0
mov dword [esi + 0x2e8], eax
call fcn.10055159
movsd xmm0, qword [esi + 0x2e0]
mov eax, dword [esi + 0x2e8]
movsd qword [esi + 0x128], xmm0
mov dword [esi + 0x130], eax
push 0x38
pop edi
lea ebx, [esi + 0x1988]
push edi
lea eax, [esi + 0x2260]
push eax
push ebx
call fcn.100f9c00
add esp, 0xc
mov eax, dword [esi + 0x130]
movsd xmm0, qword [esi + 0x128]
lea ecx, [esi + 0x25c]
mov dword [esi + 0x210], eax
movsd qword [esi + 0x208], xmm0
movsd qword [ecx - 0xc], xmm0
mov dword [ecx - 4], eax
push edi
push ebx
push ecx
call fcn.100f9c00
add esp, 0xc
jmp 0x10065cd2
lea eax, [esi + 0xe60]
mov dword [esi + 0x2d38], 0x14
push eax
call fcn.100740e8
pop eax
lea edi, [esi + 0x1988]
lea edx, [esi + 0xc8]
mov ecx, edi
call fcn.100837dd
mov byte [edi + 0xa], 2
lea edx, [esi + 0x420]
mov eax, dword [edi + 8]
movsd xmm0, qword [edi]
mov cl, byte [edi + 0xf]
mov dword [edx + 8], eax
movzx eax, word [edi + 0xd]
movsd qword [edx], xmm0
mov byte [edx + 0xc], 1
mov byte [edx + 0xf], cl
mov word [esi + 0x1c10], ax
mov word [edx + 0xd], ax
push edx
lea edi, [esi + 0xe60]
push edi
call fcn.100742e3
pop ecx
pop edx
mov dword [esi + 0x2d38], 0x1f
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push edi
lea eax, [esi + 0x6a8]
push eax
call fcn.100743b8
add esp, 0x10
mov eax, dword [esi + 0x6a8]
cmp eax, 8
mov dword [esi + 0x18], eax
jne 0x10065b4d
mov eax, dword [esi + 0x6ac]
lea ecx, [esi + 0xe60]
mov dword [esi + 0x2d38], 0x15
mov dword [esi + 0x40], eax
mov dword [esi + 0xc4], eax
call fcn.10055519
mov eax, dword [esi + 8]
lea ebx, [esi + 0x1988]
mov cl, byte [eax + 0x42]
mov eax, ecx
and al, 1
cmp cl, 2
je 0x10065d8b
test al, al
jne 0x10065d8b
mov dword [esi + 0x28], 0
push 2
pop eax
lea edi, [esi + 0x420]
lea ebx, [esi + 0xe60]
mov dword [esi + 0x20], eax
jmp 0x1006649e
mov eax, dword [esi + 0x14]
mov byte [esi + 0xe70], 3
and dword [esi + 0xe60], 0
mov dword [esi + 0x2d38], 0x12
mov dword [esi + 0x6a8], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 0x6ac], eax
mov al, byte [esi + 0xc]
mov byte [esi + 0x6b0], al
lea eax, [esi + 0x6a8]
push eax
lea eax, [esi + 0xe60]
push eax
lea eax, [esi + 0x1e98]
push eax
call fcn.100714e6
add esp, 0xc
lea eax, [esi + 0xe60]
mov byte [esi + 0x49], 1
mov dword [esi + 0x2d38], 0x22
push eax
call fcn.1007158e
pop eax
mov eax, dword [esi + 0x1ea8]
movsd xmm0, qword [esi + 0x1e98]
movsd xmm1, qword [esi + 0x1ea0]
mov dword [esi + 0x2d38], 0x24
mov dword [esi + 0x1c20], eax
lea eax, [esi + 0x1c10]
movsd qword [esi + 0x1c18], xmm1
movsd qword [esi + 0x1c10], xmm0
push eax
lea eax, [esi + 0xe60]
push eax
call fcn.1007169e
pop ecx
pop edx
mov eax, dword [esi + 0x34]
lock inc dword [eax]
jle 0x10068ba0
push eax
lea eax, [esi + 0xe60]
push eax
lea eax, [esi + 0x6a8]
push eax
call fcn.1007163b
add esp, 0xc
mov eax, dword [esi + 0x6a8]
cmp eax, 8
mov dword [esi + 0x18], eax
jne 0x10065be5
mov ecx, dword [esi + 0x6ac]
mov eax, dword [esi + 0x6b0]
movsd xmm0, qword [esi + 0x6bc]
movsd xmm1, qword [esi + 0x6b4]
mov dword [esi + 0x2d38], 0x23
mov dword [esi + 0x420], ecx
mov dword [esi + 0x20], ecx
lea ecx, [esi + 0xe60]
mov dword [esi + 0x424], eax
movsd qword [esi + 0x17a0], xmm1
movsd qword [esi + 0x17a8], xmm0
mov dword [esi + 0x18], eax
movsd qword [esi + 0x428], xmm1
movsd qword [esi + 0x430], xmm0
call fcn.100554a2
lea eax, [esi + 0x428]
mov ecx, dword [esi + 0x20]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
mov eax, dword [esi + 0x18]
movsd qword [esi + 0x2260], xmm0
movsd qword [esi + 0x2268], xmm1
jmp 0x10065607
lea eax, [esi + 0x6ac]
lea ecx, [esi + 0x250]
push 0x44
push eax
push ecx
call fcn.100f9c00
add esp, 0xc
lea ecx, [esi + 0xe60]
mov dword [esi + 0x2d38], 0x14
call fcn.10055519
lea eax, [esi + 0x2e0]
mov dword [esi + 0x2d38], 0x13
push eax
call fcn.1005481f
pop eax
lea eax, [esi + 0x90]
mov dword [esi + 0x2d38], 0x12
push eax
call fcn.100555e1
pop eax
jmp 0x10065cbd
lea ebx, [esi + 0xe64]
push 0x130
push ebx
lea eax, [esi + 0x6a8]
push eax
call fcn.100f9c00
add esp, 0xc
mov eax, dword [ebx + 0x130]
mov ecx, dword [ebx + 0x134]
mov ebx, dword [ebx + 0x138]
mov dword [esi + 0x18], eax
mov dword [esi + 0x20], ecx
jmp 0x10065766
lea eax, [esi + 0x6bc]
lea edi, [esi + 0x2270]
movsd xmm0, qword [eax - 0x10]
movsd xmm1, qword [eax - 8]
movsd qword [esi + 0xc80], xmm1
movsd qword [esi + 0xc78], xmm0
push 0x34
push eax
push edi
call fcn.100f9c00
add esp, 0xc
movsd xmm0, qword [esi + 0xc78]
movsd xmm1, qword [esi + 0xc80]
lea ecx, [esi + 0xe60]
mov byte [esi + 0x49], 0
mov dword [esi + 0x2d38], 0x22
movsd qword [esi + 0x17a8], xmm1
movsd qword [esi + 0x17a0], xmm0
movsd qword [edi - 0x10], xmm0
movsd qword [edi - 8], xmm1
call fcn.100554a2
lea edi, [esi + 0x1988]
push 0x44
lea eax, [esi + 0x2260]
push eax
push edi
call fcn.100f9c00
add esp, 0xc
movsd xmm0, qword [edi]
movsd xmm1, qword [edi + 8]
lea eax, [esi + 0x1998]
lea edi, [esi + 0x260]
movsd qword [esi + 0x2e0], xmm0
movsd qword [esi + 0x2e8], xmm1
push 0x34
push eax
push edi
call fcn.100f9c00
add esp, 0xc
movsd xmm0, qword [esi + 0x2e0]
movsd xmm1, qword [esi + 0x2e8]
movsd qword [edi - 0x10], xmm0
movsd qword [edi - 8], xmm1
lea ecx, [esi + 0xe8]
mov dword [esi + 0x2d38], 0x11
call fcn.10055073
lea eax, [esi + 0xe4]
mov dword [esi + 0x2d38], 0x10
push eax
call fcn.10054831
pop eax
lea eax, [esi + 0xb8]
mov dword [esi + 0x2d38], 0xf
push eax
call fcn.10055de3
pop eax
lea eax, [esi + 0xe0]
mov dword [esi + 0x2d38], 0xe
push eax
call fcn.100546da
pop eax
lea eax, [esi + 0x250]
lea edx, [esi + 0x298]
push 0x44
pop edi
push edi
push eax
push edx
call fcn.100f9c00
add esp, 0xc
mov ebx, dword [ebp + 8]
lea eax, [ebx + 0xc]
push edi
lea ecx, [esi + 0x298]
push ecx
push eax
call fcn.100f9c00
add esp, 0xc
mov eax, dword [esi + 0x3c]
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 0x18]
or dword [esi + 0x2d38], 0xffffffff
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov dword [ebx + 8], ecx
or dword [esi + 0x2d38], 0xffffffff
lea eax, [esi + 0xac]
push eax
call fcn.10055de3
pop eax
mov eax, dword [esi + 0x2d30]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
cmp byte [esi + 0xc], 2
je 0x10065da7
mov eax, dword [esi + 0x14]
lock inc dword [eax]
jle 0x10068ba0
mov eax, dword [esi + 8]
mov cl, byte [eax + 0x42]
mov eax, ecx
and al, 1
mov edx, dword [esi + 0x14]
mov edi, dword [esi + 0x30]
mov ah, byte [esi + 0xc]
cmp cl, 2
mov dword [esi + 0x80], edx
mov dword [esi + 0x84], edi
mov byte [esi + 0x88], ah
je 0x10065ddd
test al, al
jne 0x10065ddd
mov dword [esi + 0x28], 0
push 2
pop eax
mov dword [esi + 0x20], eax
jmp 0x10066439
mov eax, dword [esi + 8]
mov al, byte [eax + 0x3f]
cmp al, 2
sete cl
and dword [esi + 0xe70], 0
and dword [esi + 0xe78], 0
and dword [esi + 0xe7c], 0
or cl, al
and cl, 1
cmp byte [esi + 0xc], 2
push 2
pop eax
lea edx, [esi + 0xe60]
mov dword [esi + 0xe60], eax
mov dword [esi + 0xe68], eax
mov byte [esi + 0xea8], 3
mov byte [esi + 0xeac], cl
mov dword [esi + 0xead], 0x2020202
mov byte [esi + 0xeb1], 2
mov dword [esi + 0x20], eax
jne 0x1006611c
mov dword [esi + 0x28], 0
mov byte [esi + 0x1990], 2
jmp 0x10066147
cmp byte [eax + 0x28], 0
je 0x10065263
mov eax, dword [esi + 8]
mov al, byte [eax + 0x3f]
cmp al, 2
je 0x10065e71
and al, 1
je 0x10065263
mov eax, dword [ebp + 0x10]
push dword [eax]
call fcn.100437cf
pop ecx
cmp word [eax], 7
jne 0x10065263
lea ecx, [esi + 0x2718]
and dword [ecx], 0
mov dword [ecx + 4], 4
and dword [ecx + 8], 0
mov edi, dword [eax + 8]
imul eax, dword [eax + 0xc], 0x1c
add eax, edi
mov dword [esi + 0x34], eax
xor eax, eax
cmp edi, dword [esi + 0x34]
je 0x100676e8
and dword [esi + 0x6a8], 0
mov dword [esi + 0x6ac], 1
and dword [esi + 0x6b0], 0
mov dword [esi + 0x17a0], edi
mov byte [esi + 0x1f], 1
mov dword [esi + 0x2d38], 3
mov dword [esi + 0x14], edi
push edi
call fcn.100437cf
pop ecx
movzx ecx, word [eax]
cmp ecx, 6
je 0x10065f98
cmp ecx, 1
jne 0x100690a4
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
mov byte [esi + 0x1f], 1
push eax
push ecx
lea eax, [esi + 0x6a8]
push eax
call fcn.10099954
add esp, 0xc
mov eax, dword [esi + 0x6b0]
movsd xmm0, qword [esi + 0x6a8]
mov dword [esi + 0xe68], eax
mov eax, dword [esi + 0x2720]
movsd qword [esi + 0xe60], xmm0
cmp eax, dword [esi + 0x2718]
jne 0x10065f60
mov dword [esi + 0x2d38], 4
push eax
lea eax, [esi + 0x2718]
push eax
call fcn.100488fe
pop eax
pop ecx
mov eax, dword [esi + 0x2720]
mov ecx, dword [esi + 0x271c]
movsd xmm0, qword [esi + 0xe60]
mov edx, dword [esi + 0xe68]
imul eax, eax, 0xc
mov edi, dword [esi + 0x14]
mov dword [ecx + eax + 8], edx
movsd qword [ecx + eax], xmm0
add edi, 0x1c
mov eax, dword [esi + 0x2720]
inc eax
mov dword [esi + 0x2720], eax
jmp 0x10065ea8
mov ecx, dword [eax + 8]
imul eax, dword [eax + 0xc], 0x1c
add eax, ecx
mov dword [esi + 0x18], eax
cmp ecx, dword [esi + 0x18]
mov dword [esi + 0xc], ecx
je 0x10065f17
mov eax, dword [esi + 0xc]
mov byte [esi + 0x1f], 1
mov dword [esi + 0xc78], eax
push eax
call fcn.100437cf
pop ecx
cmp word [eax], 1
jne 0x10069035
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
mov byte [esi + 0x1f], 1
push eax
push ecx
lea eax, [esi + 0x6a8]
push eax
call fcn.10099954
add esp, 0xc
mov ecx, dword [esi + 0xc]
add ecx, 0x1c
jmp 0x10065fa4
mov dl, byte [esi + 0xc]
movzx eax, word [eax + 0x1c]
test dl, 1
sete cl
cmp dl, 2
setne dl
and dword [esi + 0x2d38], 0
test dl, cl
jne 0x10065225
test ax, ax
jne 0x10065225
lea eax, [esi + 0x1988]
push eax
call fcn.100879f0
pop ecx
test eax, eax
je 0x10069110
lea ecx, [esi + 0xe60]
push edx
push eax
push 1
push ecx
call fcn.100812eb
add esp, 0x10
cmp byte [esi + 0xe60], 7
je 0x10065225
lea edi, [esi + 0x990]
push 0x1a8
lea ebx, [esi + 0xe60]
push ebx
push edi
call fcn.100f9c00
add esp, 0xc
movzx eax, byte [edi]
mov dword [esi + 8], eax
mov eax, dword [eax*4 + 0x10069c24]
add eax, dword [esi + 0x5c]
jmp eax
mov ecx, dword [esi + 0x14]
lock inc dword [ecx]
jle 0x10068ba0
mov dword [esi + 0x1988], ecx
mov eax, dword [esi + 0x30]
mov cl, byte [esi + 0xc]
mov dword [esi + 0x28], 0
mov dword [esi + 0x198c], eax
mov byte [esi + 0x1990], cl
mov dword [esi + 0x2d38], 0x16
push ebx
push edx
lea eax, [esi + 0x6a8]
push eax
call fcn.1005f0a4
add esp, 0xc
mov al, 1
lea edi, [esi + 0x6c0]
mov byte [edi + 0x35], al
lea eax, [esi + 0x140]
push 0x36
push edi
push eax
call fcn.100f9c00
add esp, 0xc
mov eax, dword [edi + 0x38]
mov ecx, dword [edi + 0x3c]
mov edi, dword [esi + 8]
mov dh, byte [edi + 0x46]
cmp dh, 2
sete dl
or dl, dh
mov dh, 1
and dl, dh
cmp dword [edi + 0x28], 0
mov edi, 0x200000
je 0x100661a8
mov edi, dword [esi + 8]
mov edi, dword [edi + 0x2c]
xor ebx, ebx
shrd eax, ecx, 0x10
shr ecx, 0x10
mov dword [esi + 0x2d38], 0x17
inc ebx
cmp byte [esi + 0xc], 2
mov dword [esi + 0x128], ebx
mov dword [esi + 0x12c], 3
mov dword [esi + 0x130], ebx
mov dword [esi + 0x134], 0xa
mov dword [esi + 0x138], ebx
mov dword [esi + 0x13c], edi
mov byte [esi + 0x176], dl
mov byte [esi + 0x177], dh
setne byte [esi + 0x178]
mov byte [esi + 0x179], 0
mov dword [esi + 0x17a], eax
lea eax, [esi + 0xe60]
mov word [esi + 0x17e], cx
push eax
call fcn.1005f33d
pop eax
lea ecx, [esi + 0x6a8]
lea edx, [esi + 0x128]
mov dword [esi + 0x2d38], 0x1e
call fcn.10082c1a
lea eax, [esi + 0x6a8]
push eax
lea eax, [esi + 0xe60]
push eax
call fcn.1005f7ae
pop ecx
pop edx
mov eax, dword [esi + 0x34]
lock inc dword [eax]
jle 0x10068ba0
push eax
lea eax, [esi + 0xe60]
push eax
lea eax, [esi + 0x1e98]
push eax
call fcn.1005f405
add esp, 0xc
mov al, 1
lea ecx, [esi + 0xe60]
mov dword [esi + 0x2d38], 0x18
mov byte [esi + 0x38], al
mov byte [esi + 0x39], al
call fcn.100542ff
mov eax, dword [esi + 0x20d0]
xor eax, 2
or eax, dword [esi + 0x20d4]
jne 0x100662cd
push 0x48
lea eax, [esi + 0x1e98]
push eax
lea edi, [esi + 0xe60]
push edi
call fcn.100f9c00
add esp, 0xc
mov ecx, edi
mov byte [esi + 0x38], 0
mov byte [esi + 0x39], 1
call fcn.10054842
jmp 0x10066422
push 0x288
lea eax, [esi + 0x1e98]
push eax
lea eax, [esi + 0x1c10]
push eax
call fcn.100f9c00
add esp, 0xc
lea eax, [esi + 0xe60]
mov byte [esi + 0x2c], 1
mov dword [esi + 0x2d38], 0x19
push eax
call fcn.1005f33d
pop eax
lea ecx, [esi + 0x6a8]
lea edx, [esi + 0x128]
mov dword [esi + 0x2d38], 0x1d
call fcn.10082c1a
mov byte [esi + 0x6f4], 0
push 0x58
lea ebx, [esi + 0x6a8]
push ebx
lea edi, [esi + 0x1988]
push edi
call fcn.100f9c00
add esp, 0xc
lea eax, [esi + 0xc78]
mov byte [eax + 8], 2
push eax
push edi
push ebx
call fcn.1005f0a4
add esp, 0xc
mov byte [esi + 0x6f8], 0
push 0x58
lea eax, [esi + 0x6a8]
push eax
lea edi, [esi + 0x1988]
push edi
call fcn.100f9c00
add esp, 0xc
push edi
lea eax, [esi + 0xe60]
push eax
call fcn.1005f7ae
pop ecx
pop edx
mov eax, dword [esi + 0x40]
lea ecx, [esi + 0x420]
lock inc dword [eax]
jle 0x10068ba0
push eax
lea eax, [esi + 0xe60]
push eax
push ecx
call fcn.1005f405
add esp, 0xc
mov al, 1
lea ecx, [esi + 0xe60]
mov dword [esi + 0x2d38], 0x1a
mov byte [esi + 0x4a], al
mov byte [esi + 0x4b], al
mov byte [esi + 0x4c], al
call fcn.100542ff
mov eax, dword [esi + 0x658]
xor eax, 2
or eax, dword [esi + 0x65c]
jne 0x10067307
push 0x48
lea eax, [esi + 0x420]
push eax
lea edi, [esi + 0xe60]
push edi
call fcn.100f9c00
add esp, 0xc
mov al, 1
mov ecx, edi
mov byte [esi + 0x4b], 0
mov byte [esi + 0x4a], al
mov byte [esi + 0x4c], al
call fcn.10054842
lea eax, [esi + 0x1c10]
mov byte [esi + 0x38], 1
mov byte [esi + 0x39], 0
mov dword [esi + 0x2d38], 0x18
push eax
call fcn.10053c0f
pop eax
lea eax, [esi + 0x168]
mov dword [esi + 0x2d38], 0x16
push eax
call fcn.10053103
pop eax
lea eax, [esi + 0x80]
mov dword [esi + 0x2d38], 0x15
push eax
call fcn.10055de3
pop eax
lea eax, [esi + 0x208]
push 0x44
push eax
lea edi, [esi + 0x420]
push edi
call fcn.100f9c00
add esp, 0xc
lea eax, [esi + 0xc78]
push 0x1e8
push eax
lea ebx, [esi + 0x1988]
push ebx
call fcn.100f9c00
add esp, 0xc
push 0x2d0
lea eax, [esi + 0x6a8]
push eax
lea ebx, [esi + 0xe60]
push ebx
call fcn.100f9c00
add esp, 0xc
lea eax, [esi + 0x180]
push 0x44
push edi
push eax
call fcn.100f9c00
add esp, 0xc
lea eax, [esi + 0x17a0]
push 0x1e8
lea ecx, [esi + 0x1988]
push ecx
push eax
call fcn.100f9c00
add esp, 0xc
push 0x2d0
push ebx
lea eax, [esi + 0x2260]
push eax
call fcn.100f9c00
add esp, 0xc
mov ebx, dword [esi + 0x28]
lea eax, [esi + 0x180]
lea ecx, [esi + 0x250]
push 0x44
push eax
push ecx
call fcn.100f9c00
add esp, 0xc
lea eax, [esi + 0x17a0]
lea ecx, [esi + 0x2530]
push 0x1e8
push eax
push ecx
call fcn.100f9c00
add esp, 0xc
lea edi, [esi + 0x990]
push 0x2d0
lea eax, [esi + 0x2260]
push eax
push edi
call fcn.100f9c00
add esp, 0xc
movsd xmm1, qword [esi + 0xf0]
mov eax, dword [esi + 0xc0]
movsd xmm0, qword [esi + 0xb8]
movsd xmm3, qword [esi + 0xe8]
movsd xmm2, qword [esi + 0x90]
lea ecx, [esi + 0x2120]
movsd qword [esi + 0x108], xmm1
movsd xmm1, qword [esi + 0x98]
mov dword [esi + 0x120], eax
mov eax, dword [esi + 0xf8]
movsd qword [esi + 0x118], xmm0
movsd qword [esi + 0x100], xmm3
movsd qword [edi + 0x2d0], xmm2
movsd qword [edi + 0x2d8], xmm1
movsd xmm1, qword [esi + 0xa0]
mov dword [esi + 0x110], eax
movsd qword [edi + 0x2e0], xmm1
push 0x13c
lea eax, [esi + 0x2e0]
push eax
push ecx
call fcn.100f9c00
add esp, 0xc
mov eax, dword [esi + 0x20]
xor eax, 3
or eax, ebx
je 0x10065d17
mov dword [esi + 0x28], ebx
lea ecx, [esi + 0x298]
push 0x44
pop eax
push eax
lea eax, [esi + 0x250]
push eax
push ecx
call fcn.100f9c00
add esp, 0xc
lea edi, [esi + 0x2b40]
push 0x1e8
lea eax, [esi + 0x2530]
push eax
push edi
call fcn.100f9c00
add esp, 0xc
lea eax, [esi + 0x2718]
push 0x2e8
lea ecx, [esi + 0x990]
push ecx
push eax
call fcn.100f9c00
add esp, 0xc
mov eax, dword [esi + 0x120]
movsd xmm0, qword [esi + 0x118]
movsd xmm2, qword [esi + 0x100]
movsd xmm1, qword [esi + 0x108]
lea ebx, [esi + 0x2a04]
mov dword [esi + 0x58], eax
mov eax, dword [esi + 0x110]
movsd qword [esi + 0x50], xmm0
movsd qword [esi + 0x68], xmm2
movsd qword [esi + 0x70], xmm1
mov dword [esi + 0x78], eax
push 0x13c
lea eax, [esi + 0x2120]
push eax
push ebx
call fcn.100f9c00
add esp, 0xc
lea eax, [esi + 0x1c4]
push 0x44
pop ecx
push ecx
lea ecx, [esi + 0x298]
push ecx
push eax
call fcn.100f9c00
add esp, 0xc
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x54]
test byte [eax + 0x20], 2
je 0x10066889
test byte [eax + 0x1e], 1
jne 0x10066889
mov ebx, dword [esi + 0x20]
lea eax, [esi + 0x1988]
xor ebx, 2
push 0x44
lea ecx, [esi + 0x1c4]
push ecx
push eax
call fcn.100f9c00
add esp, 0xc
push 0x1e8
push edi
lea edi, [esi + 0x6a8]
push edi
call fcn.100f9c00
add esp, 0xc
push 0x2e8
lea eax, [esi + 0x2718]
push eax
lea eax, [esi + 0x990]
push eax
call fcn.100f9c00
add esp, 0xc
mov eax, dword [esi + 0x58]
movsd xmm0, qword [esi + 0x50]
movsd xmm2, qword [esi + 0x68]
movsd xmm1, qword [esi + 0x70]
mov dword [esi + 0x1c18], eax
mov eax, dword [esi + 0x78]
movsd qword [esi + 0x1c10], xmm0
movsd qword [esi + 0x420], xmm2
movsd qword [esi + 0x428], xmm1
mov dword [esi + 0x430], eax
push 0x13c
lea eax, [esi + 0x2a04]
push eax
lea edi, [esi + 0x2260]
push edi
call fcn.100f9c00
add esp, 0xc
or ebx, dword [esi + 0x28]
je 0x1006691f
mov ecx, dword [esi + 0x3c]
lea eax, [esi + 0xe74]
mov dword [eax - 0xc], ecx
mov ecx, dword [esi + 0xc]
mov dword [eax - 8], ecx
mov ecx, dword [esi + 0x18]
mov dword [eax - 4], ecx
push 0x44
lea ecx, [esi + 0x1c4]
push ecx
push eax
call fcn.100f9c00
add esp, 0xc
lea edi, [esi + 0xeb8]
push 0x1e8
lea eax, [esi + 0x2b40]
push eax
push edi
call fcn.100f9c00
add esp, 0xc
mov eax, dword [esi + 0x28]
lea ebx, [esi + 0x10a8]
mov dword [edi + 0x1ec], eax
mov eax, dword [esi + 0x20]
mov dword [edi + 0x1e8], eax
push 0x2e8
lea eax, [esi + 0x2718]
push eax
push ebx
call fcn.100f9c00
add esp, 0xc
mov eax, dword [esi + 0x40]
movsd xmm0, qword [esi + 0x50]
movsd xmm1, qword [esi + 0x70]
mov dword [ebx + 0x2e8], eax
mov eax, dword [esi + 8]
mov dword [ebx + 0x2ec], eax
mov eax, dword [esi + 0x34]
mov dword [ebx + 0x2f0], eax
mov eax, dword [esi + 0x58]
movsd qword [ebx + 0x2f4], xmm0
movsd xmm0, qword [esi + 0x68]
mov dword [ebx + 0x2fc], eax
mov eax, dword [esi + 0x78]
movsd qword [ebx + 0x300], xmm0
movsd qword [ebx + 0x308], xmm1
mov dword [ebx + 0x310], eax
lea ebx, [esi + 0x13bc]
push 0x13c
lea eax, [esi + 0x2a04]
push eax
push ebx
call fcn.100f9c00
add esp, 0xc
xor eax, eax
mov byte [ebx + 0x13c], 0
mov dword [esi + 0x2d38], 0x3d
inc eax
mov dword [edi - 0x58], eax
mov dword [edi - 0x54], eax
push 8
pop edx
mov ecx, 0x6a0
call fcn.1000dee4
mov edi, eax
push 0x6a0
lea eax, [esi + 0xe60]
push eax
push edi
call fcn.100f9c00
add esp, 0xc
mov eax, dword [ebp + 8]
mov dword [eax + 4], edi
mov dword [eax + 8], 0x1011cefc
jmp 0x100670c0
lea eax, [esi + 0x1988]
push 0x44
lea ecx, [esi + 0x1c4]
push ecx
push eax
call fcn.100f9c00
add esp, 0xc
push 0x1e8
push edi
lea edi, [esi + 0x6a8]
push edi
call fcn.100f9c00
add esp, 0xc
push 0x2e8
lea eax, [esi + 0x2718]
push eax
lea eax, [esi + 0x990]
push eax
call fcn.100f9c00
add esp, 0xc
mov eax, dword [esi + 0x58]
movsd xmm0, qword [esi + 0x50]
movsd xmm2, qword [esi + 0x68]
movsd xmm1, qword [esi + 0x70]
mov dword [esi + 0x1c18], eax
mov eax, dword [esi + 0x78]
movsd qword [esi + 0x1c10], xmm0
movsd qword [esi + 0x420], xmm2
movsd qword [esi + 0x428], xmm1
mov dword [esi + 0x430], eax
push 0x13c
push ebx
lea edi, [esi + 0x2260]
push edi
call fcn.100f9c00
add esp, 0xc
lea eax, [esi + 0x1988]
push 0x44
pop ebx
push ebx
push eax
lea eax, [esi + 0x1c4]
push eax
call fcn.100f9c00
add esp, 0xc
mov eax, 0x1e8
push eax
lea eax, [esi + 0x6a8]
push eax
lea ebx, [esi + 0x2b40]
push ebx
call fcn.100f9c00
add esp, 0xc
mov eax, 0x2e8
push eax
lea eax, [esi + 0x990]
push eax
lea eax, [esi + 0x2718]
push eax
call fcn.100f9c00
add esp, 0xc
mov eax, dword [esi + 0x1c18]
movsd xmm0, qword [esi + 0x1c10]
movsd xmm2, qword [esi + 0x420]
movsd xmm1, qword [esi + 0x428]
mov dword [esi + 0x58], eax
mov eax, dword [esi + 0x430]
movsd qword [esi + 0x50], xmm0
movsd qword [esi + 0x68], xmm2
movsd qword [esi + 0x70], xmm1
mov dword [esi + 0x78], eax
mov eax, 0x13c
push eax
push edi
lea eax, [esi + 0x2a04]
push eax
call fcn.100f9c00
add esp, 0xc
mov eax, dword [esi + 0x3c]
lea ecx, [esi + 0xe6c]
mov dword [ecx - 0xc], eax
mov eax, dword [esi + 0xc]
mov dword [ecx - 8], eax
mov eax, dword [esi + 0x18]
mov dword [ecx - 4], eax
push 0x44
pop eax
push eax
lea eax, [esi + 0x1c4]
push eax
push ecx
call fcn.100f9c00
add esp, 0xc
lea edi, [esi + 0xeb0]
mov eax, 0x1e8
push eax
push ebx
push edi
call fcn.100f9c00
add esp, 0xc
mov eax, dword [esi + 0x28]
lea ebx, [esi + 0x10a0]
mov dword [edi + 0x1ec], eax
mov eax, dword [esi + 0x20]
mov dword [edi + 0x1e8], eax
mov eax, 0x2e8
push eax
lea eax, [esi + 0x2718]
push eax
push ebx
call fcn.100f9c00
add esp, 0xc
mov eax, dword [esi + 0x40]
mov edi, dword [esi + 8]
movsd xmm0, qword [esi + 0x50]
movsd xmm1, qword [esi + 0x70]
mov dword [ebx + 0x2e8], eax
mov eax, dword [esi + 0x34]
mov dword [ebx + 0x2ec], edi
mov dword [ebx + 0x2f0], eax
mov eax, dword [esi + 0x58]
movsd qword [ebx + 0x2f4], xmm0
movsd xmm0, qword [esi + 0x68]
mov dword [ebx + 0x2fc], eax
mov eax, dword [esi + 0x78]
movsd qword [ebx + 0x300], xmm0
movsd qword [ebx + 0x308], xmm1
mov dword [ebx + 0x310], eax
lea ebx, [esi + 0x13b4]
mov eax, 0x13c
push eax
lea eax, [esi + 0x2a04]
push eax
push ebx
call fcn.100f9c00
add esp, 0xc
mov byte [ebx + 0x13c], 0
lea ebx, [esi + 0x2718]
mov al, byte [edi + 0x41]
lea edi, [esi + 0x2a04]
cmp al, 2
je 0x10066ac2
and al, 1
je 0x10066b95
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x54]
test byte [eax + 0x1e], 1
jne 0x10066b95
mov eax, dword [esi + 0x20]
lea ecx, [esi + 0x1c4]
lea edx, [esi + 0x1988]
xor eax, 2
or eax, dword [esi + 0x28]
jne 0x100671b2
push 0x44
push ecx
push edx
call fcn.100f9c00
add esp, 0xc
push 0x1e8
lea eax, [esi + 0x2b40]
push eax
lea eax, [esi + 0x6a8]
push eax
call fcn.100f9c00
add esp, 0xc
push 0x2e8
push ebx
lea eax, [esi + 0x990]
push eax
call fcn.100f9c00
add esp, 0xc
mov eax, dword [esi + 0x58]
movsd xmm0, qword [esi + 0x50]
movsd xmm2, qword [esi + 0x68]
movsd xmm1, qword [esi + 0x70]
mov dword [esi + 0x2e8], eax
mov eax, dword [esi + 0x78]
movsd qword [esi + 0x2e0], xmm0
movsd qword [esi + 0xc78], xmm2
movsd qword [esi + 0xc80], xmm1
mov dword [esi + 0xc88], eax
push 0x13c
push edi
lea eax, [esi + 0x2260]
push eax
call fcn.100f9c00
lea ecx, [esi + 0x1988]
lea eax, [esi + 0x1c4]
add esp, 0xc
mov dword [esi + 0x28], 0
push 2
pop edx
mov dword [esi + 0x20], edx
jmp 0x10066c3b
push 0x44
mov edi, ebx
lea ebx, [esi + 0x1c4]
push ebx
lea ebx, [esi + 0x1988]
push ebx
call fcn.100f9c00
add esp, 0xc
push 0x1e8
lea eax, [esi + 0x2b40]
push eax
lea eax, [esi + 0x6a8]
push eax
call fcn.100f9c00
add esp, 0xc
push 0x2e8
push edi
lea eax, [esi + 0x990]
push eax
call fcn.100f9c00
add esp, 0xc
mov eax, dword [esi + 0x58]
movsd xmm0, qword [esi + 0x50]
movsd xmm2, qword [esi + 0x68]
movsd xmm1, qword [esi + 0x70]
mov dword [esi + 0x2e8], eax
mov eax, dword [esi + 0x78]
movsd qword [esi + 0x2e0], xmm0
movsd qword [esi + 0xc78], xmm2
movsd qword [esi + 0xc80], xmm1
mov dword [esi + 0xc88], eax
push 0x13c
lea eax, [esi + 0x2a04]
push eax
lea eax, [esi + 0x2260]
push eax
call fcn.100f9c00
mov ecx, ebx
lea eax, [esi + 0x1c4]
add esp, 0xc
mov dword [esi + 0x14], 0
push 0x44
pop ebx
push ebx
push ecx
push eax
call fcn.100f9c00
add esp, 0xc
mov eax, 0x1e8
push eax
lea eax, [esi + 0x6a8]
push eax
lea edi, [esi + 0x2b40]
push edi
call fcn.100f9c00
add esp, 0xc
mov eax, 0x2e8
push eax
lea eax, [esi + 0x990]
push eax
lea eax, [esi + 0x2718]
push eax
call fcn.100f9c00
add esp, 0xc
mov eax, dword [esi + 0x2e8]
movsd xmm0, qword [esi + 0x2e0]
movsd xmm2, qword [esi + 0xc78]
movsd xmm1, qword [esi + 0xc80]
mov dword [esi + 0x58], eax
mov eax, dword [esi + 0xc88]
movsd qword [esi + 0x50], xmm0
movsd qword [esi + 0x68], xmm2
movsd qword [esi + 0x70], xmm1
mov dword [esi + 0x78], eax
mov eax, 0x13c
push eax
lea eax, [esi + 0x2260]
push eax
lea ebx, [esi + 0x2a04]
push ebx
call fcn.100f9c00
add esp, 0xc
mov eax, dword [esi + 0x3c]
mov dword [esi + 0xe60], eax
mov eax, dword [esi + 0xc]
mov dword [esi + 0xe64], eax
mov eax, dword [esi + 0x18]
mov dword [esi + 0xe68], eax
push 0x44
pop eax
push eax
lea eax, [esi + 0x1c4]
push eax
lea eax, [esi + 0xe6c]
push eax
call fcn.100f9c00
add esp, 0xc
mov eax, 0x1e8
push eax
push edi
lea eax, [esi + 0xeb0]
push eax
call fcn.100f9c00
add esp, 0xc
mov eax, dword [esi + 0x28]
mov dword [esi + 0x109c], eax
mov eax, dword [esi + 0x20]
mov dword [esi + 0x1098], eax
mov eax, 0x2e8
push eax
lea eax, [esi + 0x2718]
push eax
lea eax, [esi + 0x10a0]
push eax
call fcn.100f9c00
add esp, 0xc
mov eax, dword [esi + 0x40]
mov edi, dword [esi + 8]
movsd xmm0, qword [esi + 0x50]
movsd xmm1, qword [esi + 0x70]
mov dword [esi + 0x1388], eax
mov eax, dword [esi + 0x34]
mov dword [esi + 0x138c], edi
mov dword [esi + 0x1390], eax
mov eax, dword [esi + 0x58]
movsd qword [esi + 0x1394], xmm0
movsd xmm0, qword [esi + 0x68]
mov dword [esi + 0x139c], eax
mov eax, dword [esi + 0x78]
movsd qword [esi + 0x13a0], xmm0
movsd qword [esi + 0x13a8], xmm1
mov dword [esi + 0x13b0], eax
mov eax, 0x13c
push eax
push ebx
lea eax, [esi + 0x13b4]
push eax
call fcn.100f9c00
add esp, 0xc
mov ecx, dword [esi + 0x30]
mov edx, dword [esi + 0x14]
mov eax, ecx
mov byte [esi + 0x14f0], dl
mov word [esi + 0x14f5], cx
shr eax, 0x10
mov byte [esi + 0x14f7], al
mov eax, dword [esi + 0x7c]
mov dword [esi + 0x14f1], eax
mov al, byte [edi + 0x41]
mov edi, ebx
lea ebx, [esi + 0x2718]
cmp al, 2
je 0x10066dfa
and al, 1
je 0x10066e10
mov eax, dword [esi + 8]
mov al, byte [eax + 0x3f]
cmp al, 2
je 0x100670cb
and al, 1
jne 0x100670cb
lea eax, [esi + 0x208]
push 0x44
lea ecx, [esi + 0x1c4]
push ecx
push eax
call fcn.100f9c00
add esp, 0xc
push 0x1e8
lea eax, [esi + 0x2b40]
push eax
lea eax, [esi + 0x1988]
push eax
call fcn.100f9c00
add esp, 0xc
push 0x2e8
push ebx
lea eax, [esi + 0x6a8]
push eax
call fcn.100f9c00
add esp, 0xc
mov eax, dword [esi + 0x58]
movsd xmm0, qword [esi + 0x50]
movsd xmm2, qword [esi + 0x68]
movsd xmm1, qword [esi + 0x70]
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0x78]
movsd qword [esi + 0x80], xmm0
movsd qword [esi + 0x90], xmm2
movsd qword [esi + 0x98], xmm1
mov dword [esi + 0xa0], eax
push 0x13c
push edi
lea eax, [esi + 0x1e98]
push eax
call fcn.100f9c00
add esp, 0xc
mov ecx, dword [esi + 0x14f4]
mov eax, dword [esi + 0x14f0]
mov edx, ecx
mov dword [esi + 0x14], eax
shld ecx, eax, 0x18
shr edx, 8
mov dword [esi + 0x30], edx
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x2d38], 0x29
lea eax, [esi + 0x208]
push 0x44
pop edi
push edi
push eax
lea eax, [esi + 0x1c4]
push eax
call fcn.100f9c00
add esp, 0xc
mov eax, 0x1e8
push eax
lea eax, [esi + 0x1988]
push eax
lea ebx, [esi + 0x2b40]
push ebx
call fcn.100f9c00
add esp, 0xc
mov eax, 0x2e8
push eax
lea eax, [esi + 0x6a8]
push eax
lea eax, [esi + 0x2718]
push eax
call fcn.100f9c00
add esp, 0xc
mov eax, dword [esi + 0x88]
movsd xmm0, qword [esi + 0x80]
movsd xmm2, qword [esi + 0x90]
movsd xmm1, qword [esi + 0x98]
mov dword [esi + 0x58], eax
mov eax, dword [esi + 0xa0]
movsd qword [esi + 0x50], xmm0
movsd qword [esi + 0x68], xmm2
movsd qword [esi + 0x70], xmm1
mov dword [esi + 0x78], eax
mov eax, 0x13c
push eax
lea eax, [esi + 0x1e98]
push eax
lea edi, [esi + 0x2a04]
push edi
call fcn.100f9c00
add esp, 0xc
mov ecx, dword [esi + 0x3c]
lea eax, [esi + 0xe74]
mov dword [eax - 0xc], ecx
mov ecx, dword [esi + 0xc]
mov dword [eax - 8], ecx
mov ecx, dword [esi + 0x18]
mov dword [eax - 4], ecx
push 0x44
pop ecx
push ecx
lea ecx, [esi + 0x1c4]
push ecx
push eax
call fcn.100f9c00
add esp, 0xc
mov eax, 0x1e8
lea edi, [esi + 0xeb8]
push eax
push ebx
push edi
call fcn.100f9c00
add esp, 0xc
mov eax, dword [esi + 0x28]
lea ebx, [esi + 0x10a8]
mov dword [edi + 0x1ec], eax
mov eax, dword [esi + 0x20]
mov dword [edi + 0x1e8], eax
mov eax, 0x2e8
push eax
lea eax, [esi + 0x2718]
push eax
push ebx
call fcn.100f9c00
add esp, 0xc
mov eax, dword [esi + 0x40]
movsd xmm0, qword [esi + 0x50]
movsd xmm1, qword [esi + 0x70]
mov dword [ebx + 0x2e8], eax
mov eax, dword [esi + 8]
mov dword [ebx + 0x2ec], eax
mov eax, dword [esi + 0x34]
mov dword [ebx + 0x2f0], eax
mov eax, dword [esi + 0x58]
movsd qword [ebx + 0x2f4], xmm0
movsd xmm0, qword [esi + 0x68]
mov dword [ebx + 0x2fc], eax
mov eax, dword [esi + 0x78]
movsd qword [ebx + 0x300], xmm0
movsd qword [ebx + 0x308], xmm1
mov dword [ebx + 0x310], eax
mov eax, 0x13c
lea ebx, [esi + 0x13bc]
push eax
lea eax, [esi + 0x2a04]
push eax
push ebx
call fcn.100f9c00
add esp, 0xc
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x30]
mov dword [esi + 0x2d38], 0x29
mov byte [ebx + 0x13c], al
mov eax, ecx
mov word [ebx + 0x141], cx
shr eax, 0x10
mov byte [ebx + 0x143], al
mov eax, dword [esi + 0x5c]
mov dword [ebx + 0x13d], eax
xor eax, eax
inc eax
mov dword [edi - 0x58], eax
mov dword [edi - 0x54], eax
push 8
pop edx
mov ecx, 0x6a0
call fcn.1000dee4
mov edi, eax
push 0x6a0
lea eax, [esi + 0xe60]
push eax
push edi
call fcn.100f9c00
add esp, 0xc
mov eax, dword [ebp + 8]
mov dword [eax + 4], edi
mov dword [eax + 8], 0x1011ce00
mov dword [eax], 2
jmp 0x10065d60
mov eax, dword [esi + 8]
lea ecx, [esi + 0x1c4]
mov eax, dword [eax + 0x54]
test byte [eax + 0x1e], 1
jne 0x100672fa
mov eax, dword [esi + 0x20]
xor eax, 2
or eax, dword [esi + 0x28]
jne 0x100672b1
test dl, dl
jne 0x100672b1
lea eax, [esi + 0x208]
push 0x44
push ecx
push eax
call fcn.100f9c00
add esp, 0xc
push 0x1e8
lea eax, [esi + 0x2b40]
push eax
lea eax, [esi + 0x1988]
push eax
call fcn.100f9c00
add esp, 0xc
push 0x2e8
push ebx
lea eax, [esi + 0x6a8]
push eax
call fcn.100f9c00
add esp, 0xc
mov eax, dword [esi + 0x58]
movsd xmm0, qword [esi + 0x50]
movsd xmm2, qword [esi + 0x68]
movsd xmm1, qword [esi + 0x70]
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0x78]
movsd qword [esi + 0x80], xmm0
movsd qword [esi + 0x90], xmm2
movsd qword [esi + 0x98], xmm1
mov dword [esi + 0xa0], eax
push 0x13c
push edi
lea eax, [esi + 0x1e98]
push eax
call fcn.100f9c00
add esp, 0xc
mov ecx, dword [esi + 0x14f4]
mov eax, dword [esi + 0x14f0]
mov dword [esi + 0x28], 0
mov edx, ecx
shld ecx, eax, 0x18
mov dword [esi + 0x14], eax
shr edx, 8
push 2
pop eax
mov dword [esi + 0x20], eax
jmp 0x10066ebe
movzx eax, byte [esi + 0x139c]
test al, 1
jne 0x1006740d
mov eax, dword [esi + 8]
mov al, byte [eax + 0x3f]
mov byte [esi + 0x27], 1
mov dword [esi + 0x2d38], 0x39
cmp al, 2
mov byte [esi + 8], al
lea eax, [esi + 0x420]
sete byte [esi + 0x40]
push eax
call fcn.100a9acf
pop eax
mov byte [esi + 0x27], 1
push 1
lea eax, [esi + 0x420]
push eax
call fcn.100aa488
pop ecx
pop edx
mov al, byte [esi + 8]
mov ecx, dword [ebp + 0x14]
or byte [esi + 0x40], al
lea eax, [esi + 0x2530]
and dword [eax], 0
mov dword [eax + 4], 4
and dword [eax + 8], 0
mov eax, dword [ebp + 0x10]
lea ecx, [eax + ecx*4]
mov dword [esi + 0xc], ecx
cmp eax, dword [esi + 0xc]
lea ecx, [esi + 0x420]
je 0x10067288
mov dword [esi + 8], eax
mov eax, dword [eax]
mov dword [esi + 0x2d38], 0x3b
push eax
push ecx
lea eax, [esi + 0x1c10]
push eax
call fcn.100a9af0
add esp, 0xc
lea ecx, [esi + 0x2530]
lea edx, [esi + 0x1c10]
mov dword [esi + 0x2d38], 0x3c
call fcn.10051c01
lea ecx, [esi + 0x1c10]
mov dword [esi + 0x2d38], 0x3b
call fcn.10052ee4
mov eax, dword [esi + 8]
add eax, 4
jmp 0x10067225
test byte [esi + 0x40], 1
mov dword [esi + 0x2d38], 0x3b
je 0x1006749f
push 0
lea eax, [esi + 0x2530]
push eax
call fcn.100aaf0c
pop eax
pop ecx
jmp 0x100674b5
movzx eax, byte [esi + 0x139c]
test al, 1
jne 0x100672fa
cmp dword [ebp + 0x14], 1
jne 0x10068308
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x2d38], 0x2b
mov eax, dword [eax]
mov byte [esi + 0x12], 1
push eax
call fcn.100437cf
pop ecx
movzx ecx, word [eax]
lea edi, [esi + 0x990]
mov ecx, dword [ecx*4 + 0x10069c58]
add ecx, dword [esi + 0x5c]
jmp ecx
lea eax, [esi + 0x208]
push 0x44
jmp 0x10066e1e
push 0x288
lea eax, [esi + 0x420]
push eax
lea eax, [esi + 0x1988]
push eax
call fcn.100f9c00
add esp, 0xc
lea eax, [esi + 0x6a8]
mov byte [esi + 0x62], 0
mov byte [esi + 0x63], 1
mov dword [esi + 0x2d38], 0x1b
push eax
call fcn.1005fd3c
pop eax
mov edi, 0x288
push edi
lea eax, [esi + 0x1c10]
push eax
lea ebx, [esi + 0xe60]
push ebx
call fcn.100f9c00
add esp, 0xc
add ebx, edi
push edi
lea eax, [esi + 0x1988]
push eax
push ebx
call fcn.100f9c00
add esp, 0xc
lea ecx, [esi + 0x6a8]
mov dword [esi + 0x2d38], 0x1c
call fcn.100542ff
lea eax, [esi + 0x1c1c]
mov ecx, dword [eax - 0xc]
mov dword [esi + 0x3c], ecx
mov ecx, dword [eax - 8]
mov dword [esi + 0xc], ecx
mov ecx, dword [eax - 4]
mov dword [esi + 0x18], ecx
lea ecx, [esi + 0x208]
push 0x44
push eax
push ecx
call fcn.100f9c00
add esp, 0xc
lea eax, [esi + 0x1c60]
push 0x1e8
push eax
lea eax, [esi + 0xc78]
push eax
call fcn.100f9c00
add esp, 0xc
lea eax, [esi + 0x10a0]
mov ecx, dword [eax - 8]
mov edx, dword [eax - 4]
mov dword [esi + 0x20], ecx
mov dword [esi + 0x28], edx
push 0x2d0
push eax
lea eax, [esi + 0x6a8]
push eax
call fcn.100f9c00
add esp, 0xc
lea eax, [esi + 0x168]
mov dword [esi + 0x2d38], 0x16
push eax
call fcn.10053103
pop eax
jmp 0x10066439
push 0x44
push ecx
push edx
call fcn.100f9c00
add esp, 0xc
push 0x1e8
lea eax, [esi + 0x2b40]
push eax
lea eax, [esi + 0x6a8]
push eax
call fcn.100f9c00
add esp, 0xc
push 0x2e8
push ebx
lea eax, [esi + 0x990]
push eax
call fcn.100f9c00
add esp, 0xc
mov eax, dword [esi + 0x58]
movsd xmm0, qword [esi + 0x50]
movsd xmm2, qword [esi + 0x68]
movsd xmm1, qword [esi + 0x70]
mov dword [esi + 0x2e8], eax
mov eax, dword [esi + 0x78]
movsd qword [esi + 0x2e0], xmm0
movsd qword [esi + 0xc78], xmm2
movsd qword [esi + 0xc80], xmm1
mov dword [esi + 0xc88], eax
push 0x13c
push edi
lea eax, [esi + 0x2260]
push eax
call fcn.100f9c00
lea ecx, [esi + 0x1988]
jmp 0x10066c32
lea ecx, [esi + 0x2530]
call fcn.10051bda
lea ecx, [esi + 0x2530]
call fcn.10051bf3
mov eax, dword [esi + 0x2534]
test eax, eax
je 0x10067884
mov ecx, dword [esi + 0x2538]
test ecx, ecx
je 0x10067884
mov edx, dword [eax + 4]
mov edi, dword [eax + 8]
shl ecx, 4
mov byte [esi + 0x13], 1
mov dword [esi + 0x2d38], 0x3a
add ecx, eax
mov dword [esi + 0x28], edx
mov dword [esi + 0x30], edi
push 1
push eax
push ecx
lea eax, [esi + 0x420]
push eax
call fcn.10097324
add esp, 0x10
lea eax, [esi + 0x43c]
mov ebx, dword [esi + 0x30]
mov ecx, dword [eax - 0x1c]
mov edx, dword [eax - 0x18]
mov eax, dword [eax - 0x14]
mov dword [esi + 0x20], ecx
test eax, eax
je 0x1006753d
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x2d38], 0x3a
sub ecx, edx
shr ecx, 4
cmp ecx, eax
jbe 0x1006770a
shl eax, 4
add edx, eax
jmp 0x10067550
cmp edx, dword [esi + 0x20]
mov dword [esi + 0x2d38], 0x3a
je 0x1006770a
mov eax, dword [edx + 4]
mov ecx, dword [edx + 8]
mov dword [esi + 0x18], ebx
mov dword [esi + 0x3c], edx
mov byte [esi + 0x13], 1
add ecx, eax
push eax
push ecx
call fcn.1003c480
pop ecx
pop edi
mov dword [esi + 8], eax
mov dword [esi + 0xc], edx
mov eax, dword [esi + 0x30]
mov edx, dword [esi + 0x28]
mov byte [esi + 0x13], 1
mov ecx, eax
sub ecx, dword [esi + 0x18]
push 0x1011b29c
push eax
call fcn.10038cc7
pop ecx
pop edi
add edx, eax
mov byte [esi + 0x13], 1
push eax
push edx
call fcn.1003c480
pop ecx
pop edi
mov byte [esi + 0x13], 1
push edx
push eax
push dword [esi + 0xc]
push dword [esi + 8]
lea eax, [esi + 0x1e98]
push eax
call fcn.100972e8
add esp, 0x14
mov eax, dword [esi + 0x1eb0]
movsd xmm0, qword [esi + 0x1ea8]
movsd xmm2, qword [esi + 0x1e98]
movsd xmm1, qword [esi + 0x1ea0]
mov byte [esi + 0x13], 1
mov dword [esi + 0x438], eax
lea eax, [esi + 0x420]
movsd qword [esi + 0x430], xmm0
movsd qword [esi + 0x428], xmm1
movsd qword [esi + 0x420], xmm2
push eax
lea eax, [esi + 0x1c10]
push eax
call fcn.100972b9
pop eax
pop ecx
movsd xmm1, qword [esi + 0x1c20]
movsd xmm0, qword [esi + 0x1c28]
movsd xmm2, qword [esi + 0x1c10]
movsd qword [esi + 0x430], xmm1
movsd xmm1, qword [esi + 0x1c18]
movsd qword [esi + 0x438], xmm0
movsd qword [esi + 0x420], xmm2
movsd qword [esi + 0x428], xmm1
cmp byte [esi + 0x43c], 0
jne 0x10067884
lea eax, [esi + 0x420]
mov byte [esi + 0x13], 1
push eax
lea eax, [esi + 0x43c]
push eax
call fcn.100954ff
pop ecx
pop edi
mov eax, dword [esi + 0x420]
mov dword [esi + 0x34], edx
mov edx, dword [esi + 0x424]
mov edi, dword [esi + 0x42c]
add dword [esi + 0x3c], 0x10
xor ebx, ebx
mov ecx, eax
mov dword [esi + 8], edx
mov dword [esi + 0xc], edi
sub ecx, edx
mov edx, dword [esi + 0x428]
mov dword [esi + 0x18], ecx
mov ecx, edx
sub ecx, edi
mov dword [esi + 0x14], ecx
lea edi, [eax + ebx]
cmp edi, dword [esi + 8]
je 0x100676c4
lea edi, [edx + ebx]
cmp edi, dword [esi + 0xc]
je 0x100676c9
mov cl, byte [eax + ebx - 1]
cmp cl, byte [edx + ebx - 1]
jne 0x100676ce
dec ebx
jmp 0x100676a7
mov ebx, dword [esi + 0x18]
jmp 0x100676d6
mov ebx, dword [esi + 0x14]
jmp 0x100676d6
mov eax, dword [esi + 0x34]
neg ebx
mov byte [eax], 1
mov edx, dword [esi + 0x3c]
xor eax, eax
test ebx, ebx
jne 0x10067518
jmp 0x10067884
cmp eax, 0xbb7
ja 0x100679d9
and dword [esi + 0x2d38], 0
lea ecx, [esi + 0x2718]
call fcn.100553f4
jmp 0x10065263
mov eax, dword [esi + 0x30]
mov edx, dword [esi + 0x28]
mov byte [esi + 0x13], 1
mov ecx, eax
sub ecx, ebx
push 0x1011b2ac
push eax
call fcn.10038cc7
pop ecx
pop edi
test eax, eax
je 0x10067884
test edx, edx
je 0x10067884
mov dword [esi + 0x1e98], eax
movzx eax, byte [esi + 0x40]
mov dword [esi + 0x1e9c], edx
mov byte [esi + 0x13], 1
and eax, 1
push 1
lea ecx, [esi + 0x1e98]
push ecx
push eax
lea eax, [esi + 0x420]
push eax
call fcn.10080d65
add esp, 0x10
cmp byte [esi + 0x428], 2
jne 0x10067fce
mov eax, dword [esi + 0xe60]
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0xe64]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xe68]
mov dword [esi + 0x18], eax
push 0x44
lea edi, [esi + 0xe6c]
push edi
lea eax, [esi + 0x1988]
push eax
call fcn.100f9c00
add esp, 0xc
push 0x1e8
lea eax, [esi + 0xeb0]
push eax
lea eax, [esi + 0x6a8]
push eax
call fcn.100f9c00
add esp, 0xc
mov eax, dword [esi + 0x1098]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x109c]
mov dword [esi + 0x28], eax
push 0x2e8
lea eax, [esi + 0x10a0]
push eax
lea eax, [esi + 0x990]
push eax
call fcn.100f9c00
add esp, 0xc
mov eax, dword [esi + 0x1388]
movsd xmm0, qword [edi + 0x528]
movsd xmm1, qword [edi + 0x53c]
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x138c]
movsd qword [esi + 0x2e0], xmm0
movsd xmm0, qword [edi + 0x534]
movsd qword [esi + 0xc80], xmm1
mov dword [esi + 8], eax
mov eax, dword [edi + 0x530]
movsd qword [esi + 0xc78], xmm0
mov dword [esi + 0x2e8], eax
mov eax, dword [edi + 0x544]
mov dword [esi + 0xc88], eax
mov eax, dword [esi + 0x1390]
mov dword [esi + 0x34], eax
push 0x13c
lea eax, [esi + 0x13b4]
push eax
lea eax, [esi + 0x2260]
push eax
call fcn.100f9c00
add esp, 0xc
movzx edx, byte [esi + 0x14f7]
movzx ecx, word [esi + 0x14f5]
mov al, byte [esi + 0x14f0]
jmp 0x1006799b
mov eax, dword [esi + 0xe60]
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0xe64]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xe68]
mov dword [esi + 0x18], eax
push 0x44
lea edi, [esi + 0xe6c]
push edi
lea eax, [esi + 0x1988]
push eax
call fcn.100f9c00
add esp, 0xc
push 0x1e8
lea eax, [esi + 0xeb0]
push eax
lea eax, [esi + 0x6a8]
push eax
call fcn.100f9c00
add esp, 0xc
mov eax, dword [esi + 0x1098]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x109c]
mov dword [esi + 0x28], eax
push 0x2e8
lea eax, [esi + 0x10a0]
push eax
lea eax, [esi + 0x990]
push eax
call fcn.100f9c00
add esp, 0xc
mov eax, dword [esi + 0x1388]
movsd xmm0, qword [edi + 0x528]
movsd xmm1, qword [edi + 0x53c]
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x138c]
movsd qword [esi + 0x2e0], xmm0
movsd xmm0, qword [edi + 0x534]
movsd qword [esi + 0xc80], xmm1
mov dword [esi + 8], eax
mov eax, dword [edi + 0x530]
movsd qword [esi + 0xc78], xmm0
mov dword [esi + 0x2e8], eax
mov eax, dword [edi + 0x544]
mov dword [esi + 0xc88], eax
mov eax, dword [esi + 0x1390]
mov dword [esi + 0x34], eax
push 0x13c
lea eax, [esi + 0x13b4]
push eax
lea eax, [esi + 0x2260]
push eax
call fcn.100f9c00
add esp, 0xc
movzx edx, byte [esi + 0x14f7]
movzx ecx, word [esi + 0x14f5]
mov al, byte [esi + 0x14f0]
mov dword [esi + 0x2d38], 0x39
shl edx, 0x10
mov dword [esi + 0x14], eax
or ecx, edx
mov dword [esi + 0x30], ecx
mov ecx, dword [esi + 0x14f1]
mov dword [esi + 0x7c], ecx
lea ecx, [esi + 0x2530]
mov byte [esi + 0x27], 0
mov dword [esi + 0x2d38], 0x39
call fcn.10052ee4
lea eax, [esi + 0x1c4]
lea ecx, [esi + 0x1988]
jmp 0x10066c42
mov ecx, dword [esi + 0x271c]
test ecx, ecx
je 0x10065263
mov edx, dword [esi + 0x2718]
lea edi, [esi + 0xe60]
mov dword [esi + 0x2260], edx
xor edx, edx
mov dword [esi + 0x2264], ecx
mov dword [esi + 0x2268], eax
inc edx
mov dword [esi + 0x2d38], edx
push eax
push ecx
push edx
push edi
call fcn.1007fcf0
add esp, 0x10
mov al, byte [esi + 0xe68]
cmp al, 3
jne 0x10067f53
and dword [esi + 0x2d38], 0
lea ecx, [esi + 0x2260]
call fcn.100553f4
jmp 0x10065263
or dword [esi + 0x2d38], 0xffffffff
lea ecx, [esi + 0x1988]
call fcn.10052ee4
jmp 0x10065d74
lea ecx, [esi + 0xe60]
movzx edi, word [ecx + 9]
mov ah, byte [ecx + 0xb]
mov edx, dword [ecx + 4]
mov ebx, dword [ecx]
mov dword [ecx + 4], edx
mov dword [ecx], ebx
mov byte [ecx + 8], al
mov word [esi + 0x990], di
mov word [ecx + 9], di
mov byte [esi + 0x992], ah
mov byte [ecx + 0xb], ah
call fcn.10069c78
mov dword [esi + 0xc], eax
and dword [esi + 0x2d38], 0
lea ecx, [esi + 0x2260]
call fcn.100553f4
mov ecx, dword [esi + 0xc]
test ecx, ecx
mov dword [esi + 0x1e98], ecx
mov dword [esi + 0x1e9c], 0x1011cfa8
je 0x1006527b
mov eax, dword [ebp + 8]
mov dword [eax + 4], ecx
mov dword [eax + 8], 0x1011cfa8
mov dword [eax], 2
jmp 0x10067dff
mov eax, dword [esi + 0xe60]
mov ebx, dword [esi + 0x428]
movsd xmm0, qword [esi + 0x420]
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0xe64]
mov dword [esi + 0x1c18], ebx
movsd qword [esi + 0x1c10], xmm0
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xe68]
mov dword [esi + 0x18], eax
push 0x44
lea edi, [esi + 0xe6c]
push edi
lea eax, [esi + 0x1988]
push eax
call fcn.100f9c00
add esp, 0xc
push 0x1e8
lea eax, [esi + 0xeb0]
push eax
lea eax, [esi + 0x6a8]
push eax
call fcn.100f9c00
add esp, 0xc
mov eax, dword [esi + 0x1098]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x109c]
mov dword [esi + 0x28], eax
push 0x2e8
lea eax, [esi + 0x10a0]
push eax
lea eax, [esi + 0x990]
push eax
call fcn.100f9c00
add esp, 0xc
mov eax, dword [esi + 0x1388]
movsd xmm0, qword [edi + 0x528]
movsd xmm1, qword [edi + 0x53c]
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x138c]
movsd qword [esi + 0x2e0], xmm0
movsd xmm0, qword [edi + 0x534]
movsd qword [esi + 0xc80], xmm1
mov dword [esi + 8], eax
mov eax, dword [edi + 0x530]
movsd qword [esi + 0xc78], xmm0
mov dword [esi + 0x2e8], eax
mov eax, dword [edi + 0x544]
mov dword [esi + 0xc88], eax
mov eax, dword [esi + 0x1390]
mov dword [esi + 0x34], eax
push 0x13c
lea eax, [esi + 0x13b4]
push eax
lea eax, [esi + 0x2260]
push eax
call fcn.100f9c00
add esp, 0xc
movzx eax, byte [esi + 0x14f7]
movzx ecx, word [esi + 0x14f5]
shl eax, 0x10
or ecx, eax
mov al, byte [esi + 0x14f0]
test bl, bl
mov dword [esi + 0x30], ecx
mov ecx, dword [esi + 0x14f1]
mov dword [esi + 0x14], eax
mov dword [esi + 0x7c], ecx
je 0x100682d9
mov eax, dword [esi + 0x1c18]
movsd xmm0, qword [esi + 0x1c10]
lea ecx, [esi + 0x2530]
mov byte [esi + 0x27], 0
mov dword [esi + 0x2d38], 0x39
mov dword [esi + 0x17a8], eax
movsd qword [esi + 0x17a0], xmm0
call fcn.10052ee4
mov ecx, dword [esi + 0x3c]
lea eax, [esi + 0xe74]
mov dword [eax - 0xc], ecx
mov ecx, dword [esi + 0xc]
mov dword [eax - 8], ecx
mov ecx, dword [esi + 0x18]
mov dword [eax - 4], ecx
push 0x44
lea ecx, [esi + 0x1988]
push ecx
push eax
call fcn.100f9c00
add esp, 0xc
lea edi, [esi + 0xeb8]
push 0x1e8
lea eax, [esi + 0x6a8]
push eax
push edi
call fcn.100f9c00
add esp, 0xc
mov eax, dword [esi + 0x28]
lea ebx, [esi + 0x10a8]
mov dword [edi + 0x1ec], eax
mov eax, dword [esi + 0x20]
mov dword [edi + 0x1e8], eax
push 0x2e8
lea eax, [esi + 0x990]
push eax
push ebx
call fcn.100f9c00
add esp, 0xc
mov eax, dword [esi + 0x40]
movsd xmm0, qword [esi + 0x2e0]
movsd xmm1, qword [esi + 0xc80]
mov dword [ebx + 0x2e8], eax
mov eax, dword [esi + 8]
mov dword [ebx + 0x2ec], eax
mov eax, dword [esi + 0x34]
mov dword [ebx + 0x2f0], eax
mov eax, dword [esi + 0x2e8]
movsd qword [ebx + 0x2f4], xmm0
movsd xmm0, qword [esi + 0xc78]
mov dword [ebx + 0x2fc], eax
mov eax, dword [esi + 0xc88]
movsd qword [ebx + 0x300], xmm0
movsd qword [ebx + 0x308], xmm1
mov dword [ebx + 0x310], eax
lea ebx, [esi + 0x13bc]
push 0x13c
lea eax, [esi + 0x2260]
push eax
push ebx
call fcn.100f9c00
add esp, 0xc
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x30]
movsd xmm0, qword [esi + 0x17a0]
movsd xmm1, qword [esi + 0x17a8]
mov dword [esi + 0x2d38], 0x38
mov byte [ebx + 0x13c], al
mov eax, ecx
mov word [ebx + 0x141], cx
shr eax, 0x10
mov byte [ebx + 0x143], al
mov eax, dword [esi + 0x7c]
mov dword [ebx + 0x13d], eax
xor eax, eax
movsd qword [ebx + 0x144], xmm0
movsd qword [ebx + 0x14c], xmm1
inc eax
mov dword [edi - 0x58], eax
mov dword [edi - 0x54], eax
push 8
pop edx
mov ecx, 0x6b0
call fcn.1000dee4
mov edi, eax
push 0x6b0
lea eax, [esi + 0xe60]
push eax
push edi
call fcn.100f9c00
add esp, 0xc
mov eax, dword [ebp + 8]
mov dword [eax + 4], edi
mov dword [eax + 8], 0x1011cea8
jmp 0x100670c0
lea eax, [esi + 0x1c10]
mov byte [esi + 0x13], 0
push eax
call fcn.10055e59
pop eax
jmp 0x100679af
lea eax, [esi + 0x208]
push 0x44
lea edi, [esi + 0xe6c]
push edi
push eax
call fcn.100f9c00
add esp, 0xc
push 0x1e8
lea eax, [esi + 0xeb0]
push eax
lea eax, [esi + 0x1988]
push eax
call fcn.100f9c00
add esp, 0xc
mov eax, dword [esi + 0x1098]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x109c]
mov dword [esi + 0x28], eax
push 0x2e8
lea eax, [esi + 0x10a0]
push eax
lea eax, [esi + 0x6a8]
push eax
call fcn.100f9c00
add esp, 0xc
mov eax, dword [esi + 0x138c]
movsd xmm0, qword [edi + 0x528]
movsd xmm1, qword [edi + 0x53c]
mov dword [esi + 8], eax
mov eax, dword [edi + 0x530]
movsd qword [esi + 0x80], xmm0
movsd xmm0, qword [edi + 0x534]
movsd qword [esi + 0x98], xmm1
mov dword [esi + 0x88], eax
mov eax, dword [edi + 0x544]
movsd qword [esi + 0x90], xmm0
mov dword [esi + 0xa0], eax
push 0x13c
lea eax, [esi + 0x13b4]
push eax
jmp 0x10066e97
push 0x1011cc70
push 0
push 0
call fcn.1010c7f0
add esp, 0xc
jmp 0x10069143
ud2
lea eax, [esi + 0xc78]
lea ecx, [esi + 0x420]
lea edx, [esi + 0xe60]
lea edi, [esi + 0x1c10]
mov byte [esi + 0x1f], 1
mov dword [ecx], eax
xor eax, eax
mov dword [edi], edx
mov dword [edx + 8], 0x1011ccd0
mov dword [ecx + 4], fcn.10095cd0
mov dword [edi + 4], fcn.100f2650
inc eax
mov dword [edx + 0xc], eax
and dword [edx], 0
mov dword [edx + 0x10], ecx
mov dword [edx + 0x14], eax
lea edx, [esi + 0x990]
mov dword [edx + 8], 0x1011c9ec
mov dword [edx + 0xc], eax
and dword [edx], 0
mov dword [edx + 0x10], edi
mov dword [edx + 0x14], eax
push 0x1011ccd8
push edx
call fcn.1010c690
pop eax
pop ecx
jmp 0x10069143
lea eax, [esi + 0x17a0]
lea ecx, [esi + 0x420]
lea edx, [esi + 0xe60]
lea edi, [esi + 0x1c10]
mov byte [esi + 0x1f], 1
mov dword [ecx], eax
xor eax, eax
mov dword [edi], edx
mov dword [edx + 8], 0x1011cca0
mov dword [ecx + 4], fcn.10095cd0
mov dword [edi + 4], fcn.100f2650
inc eax
mov dword [edx + 0xc], eax
and dword [edx], 0
mov dword [edx + 0x10], ecx
mov dword [edx + 0x14], eax
lea edx, [esi + 0x990]
mov dword [edx + 8], 0x1011c9ec
mov dword [edx + 0xc], eax
and dword [edx], 0
mov dword [edx + 0x10], edi
mov dword [edx + 0x14], eax
push 0x1011cca8
push edx
call fcn.1010c690
pop eax
pop ecx
jmp 0x10069143
push 0x1011d188
push 0x2b
push 0x1011b7a8
call fcn.1010c750
add esp, 0xc
jmp 0x10069143
ud2