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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x178
cmp edx, 0x15
jae 0x10063e0f
mov ebx, ecx
cmp edx, 1
jbe 0x10063e07
mov ecx, ebx
push 1
call fcn.10063380
add esp, 4
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov esi, ecx
mov byte [esp + 0x2c], 1
mov byte [esp + 0x30], 1
mov dword [esp + 0x3c], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x40], eax
mov eax, edx
movzx ecx, byte [esp + 0x2c]
mov dword [esp + 0x18], esi
mov ebx, esi
mov esi, eax
mov dword [esp + 0x38], eax
and byte [esp + 0x30], cl
cmp dword [esp + 0x3c], 0
je 0x100649af
test byte [esp + 0x2c], 1
je 0x1006439b
mov ecx, esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x24], ebx
shr ecx, 2
cmp esi, 0x31
lea edx, [ecx + ecx]
lea eax, [ecx + ecx*2]
mov dword [esp + 0x20], eax
jbe 0x10063ee0
lea esi, [ecx - 1]
mov eax, ecx
mov dword [esp], ecx
mov dword [esp + 0x14], edx
mov ecx, esi
shl eax, 4
mov dword [esp + 8], esi
shl ecx, 4
mov esi, dword [ebx + eax]
mov edi, dword [ebx + eax + 4]
mov eax, dword [ebx + ecx]
mov ecx, dword [ebx + ecx + 4]
mov dword [esp + 0x44], esi
mov dword [esp + 0x1c], edi
cmp eax, esi
mov esi, eax
mov eax, ecx
sbb eax, edi
jae 0x10063ef0
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x44]
mov edi, dword [esp + 8]
mov dword [esp + 0xc], 1
mov dword [esp + 4], edx
mov edx, dword [esp]
mov dword [esp + 0x10], eax
mov dword [esp + 0x28], edi
mov dword [esp + 8], edx
mov edx, esi
jmp 0x10063f0f
mov dword [esp + 8], 0
jmp 0x100640e3
mov eax, dword [esp]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 0
mov dword [esp + 0x28], eax
mov eax, dword [esp]
inc eax
mov esi, eax
shl esi, 4
mov edi, dword [ebx + esi]
mov esi, dword [ebx + esi + 4]
mov ebx, ecx
cmp edx, edi
sbb ebx, esi
mov ebx, esi
cmovae eax, dword [esp + 0x28]
setb byte [esp]
cmp edi, edx
sbb ebx, ecx
cmovb edi, edx
cmovb esi, ecx
movzx ecx, byte [esp]
mov edx, dword [esp + 0x24]
cmp dword [esp + 0x10], edi
sbb dword [esp + 4], esi
setb bl
adc ecx, dword [esp + 0xc]
test bl, bl
mov ebx, dword [esp + 0x14]
cmovne eax, dword [esp + 8]
mov dword [esp + 0xc], ecx
lea ecx, [ebx - 1]
mov dword [esp], eax
mov eax, ebx
mov dword [esp + 8], ecx
shl ecx, 4
shl eax, 4
mov esi, dword [edx + ecx]
mov ecx, dword [edx + ecx + 4]
mov edi, dword [edx + eax]
mov eax, dword [edx + eax + 4]
mov edx, eax
cmp esi, edi
mov eax, ecx
sbb eax, edx
jae 0x10063fb0
mov eax, dword [esp + 8]
inc dword [esp + 0xc]
mov dword [esp + 0x10], edx
mov edx, ebx
mov dword [esp + 0x28], edi
mov dword [esp + 8], ebx
mov dword [esp + 0x1c], eax
mov eax, esi
jmp 0x10063fc2
mov dword [esp + 0x10], ecx
mov ecx, edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x1c], ebx
mov eax, edi
mov edx, ebx
mov ebx, dword [esp + 0x24]
or edx, 1
mov dword [esp + 4], eax
mov esi, edx
shl esi, 4
mov edi, dword [ebx + esi]
mov esi, dword [ebx + esi + 4]
cmp eax, edi
mov eax, edx
mov edx, ecx
sbb edx, esi
mov edx, esi
cmovae eax, dword [esp + 0x1c]
setb byte [esp + 0x14]
cmp edi, dword [esp + 4]
sbb edx, ecx
movzx edx, byte [esp + 0x14]
cmovb edi, dword [esp + 4]
cmovb esi, ecx
cmp dword [esp + 0x28], edi
sbb dword [esp + 0x10], esi
setb cl
adc edx, dword [esp + 0xc]
test cl, cl
cmovne eax, dword [esp + 8]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x14], eax
mov eax, edx
lea ecx, [edx - 1]
shl eax, 4
mov dword [esp + 4], ecx
shl ecx, 4
mov edi, dword [ebx + eax]
mov esi, dword [ebx + eax + 4]
mov eax, dword [ebx + ecx]
mov ecx, dword [ebx + ecx + 4]
mov dword [esp + 8], eax
cmp eax, edi
mov eax, ecx
sbb eax, esi
jae 0x10064070
mov eax, dword [esp + 4]
inc dword [esp + 0xc]
mov dword [esp + 0x28], edi
mov dword [esp + 0x10], esi
mov dword [esp + 4], edx
mov dword [esp + 0x1c], eax
jmp 0x10064086
mov eax, dword [esp + 8]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 8], edi
mov ecx, esi
mov dword [esp + 0x28], eax
inc edx
mov esi, edx
shl esi, 4
mov edi, dword [ebx + esi]
mov eax, dword [ebx + esi + 4]
mov esi, dword [esp + 8]
mov ebx, ecx
cmp esi, edi
sbb ebx, eax
mov ebx, esi
cmovae edx, dword [esp + 0x1c]
setb byte [esp + 0x20]
cmp edi, esi
mov esi, eax
sbb esi, ecx
cmovb edi, ebx
cmovb eax, ecx
movzx ecx, byte [esp + 0x20]
mov ebx, dword [esp + 0x24]
cmp dword [esp + 0x28], edi
sbb dword [esp + 0x10], eax
setb al
adc ecx, dword [esp + 0xc]
test al, al
cmovne edx, dword [esp + 4]
mov dword [esp + 8], ecx
mov ecx, dword [esp]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x14]
mov eax, edx
mov dword [esp + 0x14], edx
mov dword [esp], ecx
shl ecx, 4
mov edx, ebx
shl eax, 4
mov edx, dword [edx + ecx + 4]
mov edi, dword [ebx + eax]
mov esi, dword [ebx + eax + 4]
mov ebx, dword [ebx + ecx]
mov ecx, edx
cmp ebx, edi
sbb ecx, esi
jae 0x10064120
mov eax, dword [esp]
inc dword [esp + 8]
mov dword [esp + 0xc], edi
mov dword [esp + 4], esi
mov dword [esp + 0x10], eax
jmp 0x1006413b
mov eax, dword [esp + 0x14]
mov ecx, dword [esp]
mov dword [esp + 0xc], ebx
mov dword [esp + 4], edx
mov ebx, edi
mov edx, esi
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov esi, ecx
shl esi, 4
mov edi, dword [eax + esi]
mov esi, dword [eax + esi + 4]
mov eax, edx
cmp ebx, edi
sbb eax, esi
setb al
adc dword [esp + 8], 0
test al, al
mov eax, dword [esp + 0x10]
cmovne eax, ecx
cmp edi, ebx
mov ecx, eax
mov eax, esi
sbb eax, edx
cmovb edi, ebx
cmovb esi, edx
cmp dword [esp + 0xc], edi
sbb dword [esp + 4], esi
jae 0x100641a0
cmp dword [esp + 8], 0xb
mov edi, dword [esp + 0x34]
mov eax, 1
jae 0x100641c0
mov ebx, dword [esp + 0x24]
mov edx, dword [esp + 0x14]
jmp 0x100641ae
mov eax, dword [esp + 8]
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x34]
mov edx, ecx
test eax, eax
sete al
test byte [esp + 0x30], al
je 0x1006421d
jmp 0x100643ad
mov ebx, dword [esp + 0x24]
mov ecx, edi
mov eax, edi
shl ecx, 4
shr eax, 1
lea ecx, [ebx + ecx - 0x10]
mov edx, ebx
nop word cs:[eax + eax]
nop dword [eax]
movsd xmm0, qword [edx]
mov esi, dword [edx + 8]
movsd xmm1, qword [ecx]
movsd xmm2, qword [ecx + 8]
movsd qword [edx + 8], xmm2
movsd qword [edx], xmm1
movsd qword [ecx], xmm0
mov dword [ecx + 8], esi
add edx, 0x10
add ecx, 0xfffffff0
dec eax
jne 0x100641e0
mov edx, dword [esp + 0x14]
mov al, 1
not edx
add edx, edi
test byte [esp + 0x30], al
jne 0x100643ad
cmp dword [esp + 0x40], 0
je 0x100643d0
cmp edx, edi
jae 0x100649bd
mov eax, edx
mov esi, edx
mov edx, dword [esp + 0x40]
shl eax, 4
mov ecx, dword [ebx + eax]
cmp ecx, dword [edx]
mov ecx, dword [ebx + eax + 4]
sbb ecx, dword [edx + 4]
jb 0x100643e0
movsd xmm1, qword [ebx + 8]
add eax, ebx
movsd xmm0, qword [ebx]
xor esi, esi
movsd xmm3, qword [eax]
movsd qword [esp + 0x78], xmm1
movsd xmm1, qword [eax + 8]
movsd qword [esp + 0x70], xmm0
movsd xmm2, qword [esp + 0x70]
movsd qword [ebx], xmm3
movsd qword [ebx + 8], xmm1
movsd xmm1, qword [esp + 0x78]
movsd qword [eax], xmm2
movsd qword [eax + 8], xmm1
lea eax, [ebx + 0x10]
mov dword [esp + 8], eax
lea eax, [edi - 1]
mov ecx, dword [ebx]
mov edi, dword [ebx + 4]
mov edx, dword [ebx + 8]
mov dword [esp], ecx
mov dword [esp + 0x14], edi
mov dword [esp + 0x20], edx
cmp esi, eax
jae 0x100642d8
mov ecx, esi
shl ecx, 4
add ecx, dword [esp + 8]
nop word [eax + eax]
mov edx, dword [esp]
mov ebx, dword [ecx + 4]
cmp dword [ecx], edx
sbb ebx, dword [esp + 0x14]
jb 0x100642d8
inc esi
add ecx, 0x10
cmp eax, esi
jne 0x100642c0
mov esi, eax
mov ecx, eax
shl ecx, 4
add ecx, dword [esp + 8]
nop word cs:[eax + eax]
nop dword [eax + eax]
dec eax
cmp esi, eax
jae 0x10064360
mov edi, dword [esp]
mov edx, dword [ecx - 0xc]
lea ebx, [ecx - 0x10]
cmp dword [ecx - 0x10], edi
mov ecx, ebx
sbb edx, dword [esp + 0x14]
jb 0x100642f0
mov edx, dword [esp + 8]
mov ecx, esi
movsd xmm3, qword [ebx + 8]
inc esi
shl ecx, 4
movsd xmm0, qword [edx + ecx]
movsd xmm1, qword [edx + ecx + 8]
movsd qword [esp + 0x70], xmm0
movsd xmm0, qword [ebx]
movsd qword [esp + 0x78], xmm1
movsd qword [edx + ecx + 8], xmm3
movsd xmm2, qword [esp + 0x78]
movsd qword [edx + ecx], xmm0
movsd xmm0, qword [esp + 0x70]
movsd qword [ebx + 8], xmm2
movsd qword [ebx], xmm0
cmp esi, eax
jb 0x100642ae
jmp 0x100642d8
mov ebx, dword [esp + 0x24]
mov eax, dword [esp]
inc esi
mov dword [ebx], eax
mov eax, dword [esp + 0x14]
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x20]
mov dword [ebx + 8], eax
mov eax, dword [esp + 0x34]
mov edx, eax
sub edx, esi
jb 0x100649e1
shl esi, 4
add ebx, esi
cmp edx, 0x15
mov esi, edx
jae 0x10063e40
jmp 0x10063df6
mov ecx, ebx
mov edx, esi
call fcn.1010ef10
dec dword [esp + 0x3c]
jmp 0x10063e56
mov esi, edx
mov ecx, ebx
mov edx, edi
call fcn.1010f100
mov edx, esi
test al, al
je 0x1006421d
jmp 0x10063e07
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x38]
mov ecx, edx
jmp 0x100643e4
mov ecx, esi
mov eax, ebx
cmp ecx, edi
jae 0x100649c9
movsd xmm0, qword [eax]
shl ecx, 4
movsd xmm1, qword [eax + 8]
lea ebx, [eax + 0x10]
mov dword [esp + 0x38], edi
xor esi, esi
movsd xmm3, qword [eax + ecx + 8]
movsd qword [esp + 0x70], xmm0
movsd xmm0, qword [eax + ecx]
movsd qword [esp + 0x78], xmm1
movsd xmm2, qword [esp + 0x78]
movsd qword [eax + 8], xmm3
movsd qword [eax], xmm0
movsd xmm0, qword [esp + 0x70]
movsd qword [eax + ecx + 8], xmm2
movsd qword [eax + ecx], xmm0
mov ecx, eax
lea eax, [edi - 1]
mov edx, dword [ecx]
mov edi, dword [ecx + 4]
mov dword [esp + 0x18], ecx
mov ecx, dword [ecx + 8]
mov dword [esp + 0x64], ecx
mov ecx, ebx
mov dword [esp + 0x24], edx
mov dword [esp + 0x1c], edi
nop word [eax + eax]
mov edx, dword [esp + 0x24]
mov edi, dword [esp + 0x1c]
cmp edx, dword [ecx]
sbb edi, dword [ecx + 4]
jae 0x10064479
inc esi
add ecx, 0x10
cmp eax, esi
jne 0x10064460
mov esi, eax
mov ecx, dword [esp + 0x38]
shl ecx, 4
add ecx, dword [esp + 0x18]
nop word cs:[eax + eax]
nop
mov edx, eax
mov edi, ecx
cmp esi, eax
jae 0x100644ae
mov ecx, dword [esp + 0x24]
lea eax, [edx - 1]
cmp ecx, dword [edi - 0x10]
mov ecx, dword [esp + 0x1c]
sbb ecx, dword [edi - 0xc]
lea ecx, [edi - 0x10]
jae 0x10064490
cmp esi, edx
ja 0x100649ed
mov eax, esi
mov ecx, edi
mov dword [esp + 0x60], esi
mov dword [esp + 0x58], edx
xor esi, esi
mov dword [esp + 0x20], 0x80
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0
mov dword [esp + 0x2c], 0x80
shl eax, 4
mov edx, ecx
add ebx, eax
mov edi, ebx
mov eax, ebx
mov dword [esp + 0x5c], ebx
jmp 0x10064542
mov eax, dword [esp + 4]
mov dword [esp + 4], eax
cmp eax, esi
mov eax, 0
mov ecx, 0
mov dword [esp + 0xc], ebx
cmove eax, dword [esp + 0x2c]
shl eax, 4
add edi, eax
mov eax, dword [esp + 0x20]
neg eax
cmp ebx, dword [esp + 0x10]
cmovne eax, ecx
shl eax, 4
add edx, eax
cmp dword [esp + 0x28], 0x1010
jb 0x100647b0
mov eax, edx
mov dword [esp], edx
sub eax, edi
cmp eax, 0x1010
mov dword [esp + 0x28], eax
jae 0x100645b0
mov ebx, dword [esp + 4]
mov edx, dword [esp + 0xc]
shr eax, 4
mov dword [esp + 0x30], esi
cmp ebx, esi
mov esi, eax
setb cl
cmp edx, dword [esp + 0x10]
setb dl
or dl, cl
lea ecx, [eax - 0x80]
test dl, dl
cmovne esi, ecx
cmp ebx, dword [esp + 0x30]
mov ebx, dword [esp + 0x20]
cmovb ebx, ecx
mov ecx, dword [esp + 0x2c]
cmovae ecx, esi
test dl, dl
mov esi, dword [esp + 0x30]
mov edx, dword [esp]
mov dword [esp + 0x2c], ecx
jne 0x100645b4
mov ecx, dword [esp + 0x28]
shr ecx, 5
sub eax, ecx
mov dword [esp + 0x2c], ecx
mov ebx, eax
jmp 0x100645b4
mov ebx, dword [esp + 0x20]
cmp dword [esp + 4], esi
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [esp + 8], edi
mov dword [esp + 0x20], ebx
jne 0x10064626
cmp dword [esp + 0x2c], 0
je 0x10064669
mov eax, edi
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x1c]
xor ecx, ecx
lea esi, [esp + 0xf4]
nop dword [eax + eax]
mov edx, dword [esp + 0x24]
mov byte [esi], cl
inc ecx
cmp edx, dword [eax]
mov edx, ebx
sbb edx, dword [eax + 4]
sbb esi, 0xffffffff
add eax, 0x10
cmp edi, ecx
jne 0x100645f0
lea edi, [esp + 0xf4]
mov edx, dword [esp]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 0x20]
mov dword [esp + 4], edi
mov edi, dword [esp + 8]
cmp ecx, eax
jne 0x10064690
test ebx, ebx
je 0x10064680
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0x1c]
lea eax, [edx - 0x10]
xor ecx, ecx
lea ebx, [esp + 0x70]
nop
mov edx, dword [esp + 0x24]
mov byte [ebx], cl
inc ecx
cmp edx, dword [eax]
mov edx, esi
sbb edx, dword [eax + 4]
adc ebx, 0
add eax, 0xfffffff0
cmp dword [esp + 0x20], ecx
jne 0x10064640
mov edx, dword [esp]
mov esi, dword [esp + 0x30]
lea ecx, [esp + 0x70]
mov eax, ebx
jmp 0x10064690
lea edi, [esp + 0xf4]
mov esi, edi
mov dword [esp + 4], edi
mov edi, dword [esp + 8]
cmp ecx, eax
jne 0x10064690
jmp 0x1006462a
lea ecx, [esp + 0x70]
mov eax, ecx
nop word cs:[eax + eax]
mov ebx, ecx
mov ecx, esi
mov dword [esp + 0x10], eax
sub ecx, dword [esp + 4]
sub eax, ebx
cmp ecx, eax
cmovb eax, ecx
test eax, eax
je 0x10064500
mov ecx, dword [esp + 4]
mov dword [esp + 0x30], esi
mov dword [esp + 0xc], ebx
movzx esi, byte [ecx]
mov ecx, eax
shl esi, 4
mov eax, dword [edi + esi]
mov dword [esp + 0x44], eax
mov eax, ecx
movzx ecx, byte [ebx]
mov dword [esp + 0x14], ecx
not ecx
mov ebx, ecx
shl ebx, 4
cmp eax, 1
movsd xmm0, qword [edx + ebx]
movsd xmm1, qword [edx + ebx + 8]
mov edx, dword [edi + esi + 8]
mov ebx, dword [edi + esi + 4]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], edx
movsd qword [edi + esi], xmm0
movsd qword [edi + esi + 8], xmm1
jne 0x10064710
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 4]
mov edx, dword [esp]
jmp 0x10064781
dec eax
mov ebx, dword [esp + 4]
mov edx, dword [esp]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc]
movzx esi, byte [ebx + 1]
movzx ecx, byte [esp + 0x14]
inc ebx
shl esi, 4
not ecx
movsd xmm0, qword [edi + esi]
movsd xmm1, qword [edi + esi + 8]
shl ecx, 4
mov edi, dword [esp]
movsd qword [edx + ecx + 8], xmm1
movsd qword [edx + ecx], xmm0
movzx ecx, byte [eax + 1]
inc eax
mov dword [esp + 0x14], ecx
not ecx
mov edx, ecx
shl edx, 4
dec dword [esp + 0x34]
movsd xmm0, qword [edi + edx]
mov edi, dword [esp]
movsd xmm1, qword [edi + edx + 8]
mov edi, dword [esp + 8]
mov edx, dword [esp]
movsd qword [edi + esi + 8], xmm1
movsd qword [edi + esi], xmm0
jne 0x10064720
mov esi, dword [esp + 0x68]
shl ecx, 4
inc eax
mov dword [edx + ecx + 4], esi
mov esi, dword [esp + 0x44]
mov dword [edx + ecx], esi
mov esi, dword [esp + 0x6c]
mov dword [edx + ecx + 8], esi
mov esi, dword [esp + 0x30]
mov ecx, ebx
mov ebx, eax
inc ecx
mov eax, ecx
jmp 0x10064504
cmp dword [esp + 4], esi
jae 0x10064820
nop word cs:[eax + eax]
movzx eax, byte [esi - 1]
movsd xmm1, qword [edx - 0x10]
movsd xmm2, qword [edx - 8]
dec esi
lea ebx, [edx - 0x10]
shl eax, 4
cmp dword [esp + 4], esi
movsd xmm0, qword [edi + eax]
movsd qword [edi + eax], xmm1
movsd xmm1, qword [edi + eax + 8]
movsd qword [edi + eax + 8], xmm2
movsd qword [esp + 0x50], xmm1
movsd qword [esp + 0x48], xmm0
movsd xmm0, qword [esp + 0x48]
movsd xmm1, qword [esp + 0x50]
movsd qword [edx - 8], xmm1
movsd qword [edx - 0x10], xmm0
mov edx, ebx
jb 0x100647c0
jmp 0x10064885
mov ecx, dword [esp + 0x10]
cmp dword [esp + 0xc], ecx
jae 0x10064883
mov esi, dword [esp + 0xc]
mov ebx, edi
movzx eax, byte [ecx - 1]
movsd xmm0, qword [ebx]
movsd xmm1, qword [ebx + 8]
dec ecx
not eax
movsd qword [esp + 0x48], xmm0
movsd qword [esp + 0x50], xmm1
shl eax, 4
movsd xmm2, qword [esp + 0x50]
movsd xmm0, qword [edx + eax]
movsd xmm1, qword [edx + eax + 8]
movsd qword [ebx], xmm0
movsd xmm0, qword [esp + 0x48]
movsd qword [ebx + 8], xmm1
add ebx, 0x10
cmp esi, ecx
movsd qword [edx + eax + 8], xmm2
movsd qword [edx + eax], xmm0
jb 0x10064830
jmp 0x10064885
mov ebx, edi
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x64]
sub ebx, dword [esp + 0x5c]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x24]
shr ebx, 4
mov dword [eax], ecx
mov ecx, dword [esp + 0x60]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x38]
add ebx, ecx
mov edi, edx
sub edi, ebx
jbe 0x100649d5
cmp ecx, dword [esp + 0x58]
mov eax, ebx
mov ecx, edi
setae byte [esp + 0x30]
shl eax, 4
cmp ebx, edi
cmovb ecx, ebx
shr edx, 3
cmp ecx, edx
mov ecx, dword [esp + 0x18]
setae byte [esp + 0x2c]
dec edi
cmp ebx, edi
lea ecx, [ecx + eax]
mov dword [esp], ecx
mov ecx, dword [esp + 0x18]
movsd xmm0, qword [ecx]
mov ecx, dword [esp + 0x18]
movsd xmm1, qword [ecx + 8]
mov ecx, dword [esp + 0x18]
movsd qword [esp + 0x70], xmm0
movsd xmm0, qword [ecx + eax]
mov ecx, dword [esp + 0x18]
movsd qword [esp + 0x78], xmm1
movsd xmm1, qword [ecx + eax + 8]
mov ecx, dword [esp + 0x18]
movsd qword [ecx], xmm0
mov ecx, dword [esp + 0x18]
movsd xmm0, qword [esp + 0x70]
movsd qword [ecx + 8], xmm1
movsd xmm1, qword [esp + 0x78]
mov ecx, dword [esp + 0x18]
movsd qword [ecx + eax + 8], xmm1
mov ecx, dword [esp + 0x18]
movsd qword [ecx + eax], xmm0
mov ecx, dword [esp + 0x18]
lea esi, [ecx + eax + 0x10]
mov ecx, dword [esp + 0x18]
jae 0x10064980
mov edx, ebx
push dword [esp + 0x3c]
push dword [esp + 0x44]
push dword [ebp + 8]
call fcn.10063de0
add esp, 0xc
mov eax, dword [esp]
mov edx, edi
mov dword [esp + 0x40], eax
jmp 0x1006499d
mov edx, edi
mov ecx, esi
push dword [esp + 0x3c]
push dword [esp + 4]
push dword [ebp + 8]
call fcn.10063de0
mov esi, dword [esp + 0x24]
mov edx, ebx
add esp, 0xc
cmp edx, 0x15
mov eax, edx
mov ebx, esi
jae 0x10063e2b
jmp 0x10063df6
mov ecx, ebx
mov edx, esi
call fcn.1010fce0
jmp 0x10063e07
push 0x1012d04c
push edi
push edx
call fcn.10113f90
push 0x1012d0bc
push edi
push ecx
call fcn.10113f90
push 0x1012d0dc
push edx
push ebx
call fcn.10113f90
push 0x1012d05c
push eax
push esi
call fcn.101141d0
push 0x1012d0cc
push edx
push esi
call fcn.10114210
int3