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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x144
mov ecx, dword [ebp + 8]
xorps xmm3, xmm3
movsd xmm0, qword [0x103e41d0]
push ebx
push esi
push edi
mov edi, dword [ecx + 0x14]
movsd qword [esp + 0x140], xmm0
movsd qword [esp + 0x28], xmm3
or word [edi + 0x22], 8
mov dword [esp + 0xc], edi
nop dword [eax + eax]
mov eax, dword [edi]
mov edi, dword [edi + 0x10]
mov dword [esp + 0x20], edi
mov eax, dword [eax]
mov dword [esp + 0x3c], eax
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x24], eax
jmp case.default.0x102d3dc4
mov dword [esi + 8], 0x13
mov dword [esi + 4], eax
mov dword [esi], ecx
mov ecx, dword [ebp + 8]
mov esi, dword [esp + 0xc]
mov eax, dword [esi + 0x14]
mov edx, dword [eax]
add eax, 4
mov dword [esi + 0x14], eax
test byte [ecx + 0x70], 0xc
mov dword [esp + 0x1c], edx
je 0x102d3da0
push ecx
call fcn.102cf250
mov edi, dword [esi + 0x10]
add esp, 4
movsd xmm3, qword [esp + 0x28]
mov edx, dword [esp + 0x1c]
mov ecx, dword [ebp + 8]
mov dword [esp + 0x20], edi
mov eax, edx
shr eax, 6
movzx eax, al
mov dword [esp + 0x14], eax
shl eax, 4
mov dword [esp + 0x18], eax
lea esi, [eax + edi]
mov eax, edx
and eax, 0x3f
mov dword [esp + 0x38], esi
cmp eax, 0x2d
ja case.default.0x102d3dc4
jmp dword [eax*4 + 0x102d60fc]
shr edx, 0x17
add edx, edx
movups xmm0, xmmword [edi + edx*8]
movups xmmword [esi], xmm0
jmp case.default.0x102d3dc4
shr edx, 0xe
shl edx, 4
add edx, dword [esp + 0x24]
movups xmm0, xmmword [edx]
movups xmmword [esi], xmm0
jmp case.default.0x102d3dc4
mov edx, dword [esp + 0xc]
mov edi, dword [esp + 0x20]
mov eax, dword [edx + 0x14]
mov ecx, dword [eax]
shr ecx, 6
shl ecx, 4
add ecx, dword [esp + 0x24]
add eax, 4
mov dword [edx + 0x14], eax
movups xmm0, xmmword [ecx]
movups xmmword [esi], xmm0
jmp 0x102d3d67
mov eax, edx
mov dword [esi + 8], 1
shr eax, 0x17
mov dword [esi], eax
mov esi, dword [esp + 0xc]
test edx, 0x7fc000
je 0x102d3d6e
add dword [esi + 0x14], 4
jmp 0x102d3d6e
shr edx, 0x17
add esi, 8
mov eax, edx
mov dword [esi], 0
dec edx
lea esi, [esi + 0x10]
test eax, eax
jne 0x102d3e43
jmp case.default.0x102d3dc4
mov eax, dword [esp + 0x3c]
shr edx, 0x17
mov eax, dword [eax + edx*4 + 0x10]
mov eax, dword [eax]
movups xmm0, xmmword [eax]
movups xmmword [esi], xmm0
jmp case.default.0x102d3dc4
mov ecx, dword [esp + 0x3c]
mov eax, edx
shr eax, 0x17
mov eax, dword [ecx + eax*4 + 0x10]
mov ecx, dword [eax]
shr edx, 0xe
mov dword [esp + 0x10], ecx
test edx, 0x100
je 0x102d3e9a
movzx eax, dl
shl eax, 4
add eax, dword [esp + 0x24]
jmp 0x102d3ea5
and edx, 0x1ff
add edx, edx
lea eax, [edi + edx*8]
cmp dword [ecx + 8], 0x45
mov dword [esp + 0x18], eax
je 0x102d3eef
xor eax, eax
jmp 0x102d3eb7
mov ecx, dword [esp + 0x10]
push eax
push esi
push dword [esp + 0x20]
push ecx
mov ecx, dword [ebp + 8]
push ecx
call fcn.102d6310
add esp, 0x14
mov esi, dword [esp + 0xc]
movsd xmm3, qword [esp + 0x28]
mov ecx, dword [ebp + 8]
mov edi, dword [esi + 0x10]
mov dword [esp + 0x20], edi
jmp 0x102d3d6e
mov ecx, edx
shr ecx, 0x17
shl ecx, 4
add ecx, edi
jmp 0x102d3e7f
push eax
push dword [ecx]
call fcn.102d20c0
jmp 0x102d41d1
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x24]
mov eax, dword [eax + ecx*4 + 0x10]
mov ecx, dword [eax]
mov eax, edx
shr eax, 0x17
mov dword [esp + 0x18], ecx
test eax, 0x100
je 0x102d3f28
movzx eax, al
shl eax, 4
add eax, esi
jmp 0x102d3f2d
shl eax, 4
add eax, edi
shr edx, 0xe
mov dword [esp + 0x10], eax
test edx, 0x100
je 0x102d3f46
movzx eax, dl
shl eax, 4
add esi, eax
jmp 0x102d3f51
and edx, 0x1ff
add edx, edx
lea esi, [edi + edx*8]
cmp dword [ecx + 8], 0x45
je 0x102d3f89
xor ecx, ecx
mov eax, dword [esp + 0x18]
push ecx
push esi
push dword [esp + 0x18]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.102d63f0
mov esi, dword [esp + 0x20]
add esp, 0x14
movsd xmm3, qword [esp + 0x28]
mov ecx, dword [ebp + 8]
mov edi, dword [esi + 0x10]
mov dword [esp + 0x20], edi
jmp 0x102d3d6e
push dword [esp + 0x10]
push dword [ecx]
call fcn.102d20c0
mov ecx, eax
add esp, 8
mov dword [esp + 0x14], ecx
cmp dword [ecx + 8], 0
je 0x102d3f59
test byte [esi + 8], 0x40
je 0x102d3fce
mov eax, dword [esp + 0x18]
mov edx, dword [eax]
test byte [edx + 5], 4
je 0x102d3fce
mov eax, dword [esi]
test byte [eax + 5], 3
je 0x102d3fce
mov ecx, dword [ebp + 8]
push edx
push ecx
call fcn.102cffb0
mov ecx, dword [esp + 0x1c]
add esp, 8
movups xmm0, xmmword [esi]
movsd xmm3, qword [esp + 0x28]
movups xmmword [ecx], xmm0
jmp 0x102d3d67
mov eax, dword [esp + 0x3c]
movups xmm0, xmmword [esi]
mov esi, dword [esp + 0xc]
shr edx, 0x17
mov edx, dword [eax + edx*4 + 0x10]
mov eax, dword [edx]
movups xmmword [eax], xmm0
mov eax, dword [edx]
test byte [eax + 8], 0x40
je 0x102d3d6e
lea eax, [edx + 8]
cmp dword [edx], eax
jne 0x102d3d6e
push edx
push ecx
call fcn.102d0540
movsd xmm3, qword [esp + 0x30]
add esp, 8
jmp 0x102d3d67
mov eax, edx
shr eax, 0x17
test eax, 0x100
je 0x102d403c
mov ecx, dword [esp + 0x24]
movzx eax, al
shl eax, 4
add ecx, eax
jmp 0x102d4041
add eax, eax
lea ecx, [edi + eax*8]
shr edx, 0xe
mov dword [esp + 0x18], ecx
test edx, 0x100
je 0x102d405c
movzx eax, dl
shl eax, 4
add eax, dword [esp + 0x24]
jmp 0x102d4067
and edx, 0x1ff
add edx, edx
lea eax, [edi + edx*8]
cmp dword [esi + 8], 0x45
mov dword [esp + 0x14], eax
je 0x102d4082
xor ecx, ecx
push ecx
push dword [esp + 0x18]
push dword [esp + 0x20]
push esi
jmp 0x102d3f64
push ecx
push dword [esi]
call fcn.102d20c0
mov ecx, eax
add esp, 8
mov dword [esp + 0x10], ecx
cmp dword [ecx + 8], 0
je 0x102d4073
mov ecx, dword [esp + 0x14]
test byte [ecx + 8], 0x40
je 0x102d40c4
mov edx, dword [esi]
test byte [edx + 5], 4
je 0x102d40c4
mov eax, dword [ecx]
test byte [eax + 5], 3
je 0x102d40c4
mov ecx, dword [ebp + 8]
push edx
push ecx
call fcn.102cffb0
mov ecx, dword [esp + 0x1c]
add esp, 8
mov eax, dword [esp + 0x10]
movups xmm0, xmmword [ecx]
movsd xmm3, qword [esp + 0x28]
movups xmmword [eax], xmm0
jmp 0x102d3d67
mov eax, edx
shr edx, 0xe
shr eax, 0x17
and edx, 0x1ff
push ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
call fcn.102d23c0
add esp, 4
mov dword [esp + 0x10], eax
cmp dword [esp + 0x18], 0
mov dword [esi], eax
mov eax, dword [esp + 0x1c]
mov dword [esi + 8], 0x45
jne 0x102d4114
test eax, eax
je 0x102d413b
push eax
call fcn.102cddb0
add esp, 4
push eax
push dword [esp + 0x1c]
call fcn.102cddb0
mov ecx, dword [ebp + 8]
add esp, 4
push eax
push dword [esp + 0x18]
push ecx
call fcn.102d2720
add esp, 0x10
mov ecx, dword [ebp + 8]
movsd xmm3, qword [esp + 0x28]
mov eax, dword [ecx + 0x10]
cmp dword [eax + 0xc], 0
jle case.default.0x102d3dc4
lea eax, [esi + 0x10]
push ecx
mov dword [ecx + 0xc], eax
call fcn.102d0460
mov esi, dword [esp + 0x10]
add esp, 4
mov ecx, dword [ebp + 8]
movsd xmm3, qword [esp + 0x28]
mov eax, dword [esi + 4]
mov dword [ecx + 0xc], eax
mov edi, dword [esi + 0x10]
mov dword [esp + 0x20], edi
jmp 0x102d3d6e
mov ecx, edx
shr edx, 0xe
shr ecx, 0x17
shl ecx, 4
add ecx, edi
mov dword [esp + 0x10], ecx
test edx, 0x100
je 0x102d41a4
movzx eax, dl
shl eax, 4
add eax, dword [esp + 0x24]
jmp 0x102d41af
and edx, 0x1ff
add edx, edx
lea eax, [edi + edx*8]
movups xmm0, xmmword [ecx]
mov dword [esp + 0x18], eax
mov eax, dword [eax]
movups xmmword [esi + 0x10], xmm0
cmp dword [ecx + 8], 0x45
je 0x102d41c9
xor eax, eax
jmp 0x102d3eb7
push eax
push dword [ecx]
call fcn.102d2380
add esp, 8
cmp dword [eax + 8], 0
je 0x102d3eb3
movups xmm0, xmmword [eax]
movsd xmm3, qword [esp + 0x28]
movups xmmword [esi], xmm0
jmp 0x102d3d67
mov eax, edx
shr eax, 0x17
test eax, 0x100
je 0x102d4209
mov ecx, dword [esp + 0x24]
movzx eax, al
shl eax, 4
add ecx, eax
jmp 0x102d420e
add eax, eax
lea ecx, [edi + eax*8]
shr edx, 0xe
mov dword [esp + 0x14], ecx
test edx, 0x100
je 0x102d4229
movzx eax, dl
shl eax, 4
add eax, dword [esp + 0x24]
jmp 0x102d4234
and edx, 0x1ff
add edx, edx
lea eax, [edi + edx*8]
mov edx, dword [ecx + 8]
mov dword [esp + 0x10], eax
cmp edx, 0x13
jne 0x102d4258
cmp dword [eax + 8], edx
jne 0x102d426c
mov edx, dword [esp + 0x14]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
add ecx, dword [edx]
adc eax, dword [edx + 4]
jmp 0x102d3d5b
cmp edx, 3
jne 0x102d426c
movsd xmm0, qword [ecx]
movsd qword [esp + 0xb0], xmm0
jmp 0x102d428a
lea eax, [esp + 0xb0]
push eax
push ecx
call fcn.102d6a30
add esp, 8
test eax, eax
je 0x102d42e3
movsd xmm0, qword [esp + 0xb0]
mov eax, dword [esp + 0x10]
movsd qword [esp + 0x30], xmm0
cmp dword [eax + 8], 3
jne 0x102d42a9
movsd xmm0, qword [eax]
movsd qword [esp + 0xb8], xmm0
jmp 0x102d42c7
lea ecx, [esp + 0xb8]
push ecx
push eax
call fcn.102d6a30
add esp, 8
test eax, eax
je 0x102d42e3
movsd xmm0, qword [esp + 0xb8]
addsd xmm0, qword [esp + 0x30]
movsd xmm3, qword [esp + 0x28]
mov dword [esi + 8], 3
movsd qword [esi], xmm0
jmp 0x102d3d67
mov edx, dword [esp + 0x14]
mov ecx, dword [ebp + 8]
push 6
push esi
push dword [esp + 0x18]
push edx
push ecx
call fcn.102d6dc0
jmp 0x102d3ec7
mov eax, edx
shr eax, 0x17
test eax, 0x100
je 0x102d4317
mov ecx, dword [esp + 0x24]
movzx eax, al
shl eax, 4
add ecx, eax
jmp 0x102d431c
add eax, eax
lea ecx, [edi + eax*8]
shr edx, 0xe
mov dword [esp + 0x14], ecx
test edx, 0x100
je 0x102d4339
movzx eax, dl
mov edx, dword [esp + 0x24]
shl eax, 4
add edx, eax
jmp 0x102d4344
and edx, 0x1ff
shl edx, 4
add edx, edi
mov eax, dword [ecx + 8]
mov dword [esp + 0x10], edx
cmp eax, 0x13
jne 0x102d4368
cmp dword [edx + 8], eax
jne 0x102d437c
mov eax, dword [esp + 0x14]
mov ecx, dword [ecx]
sub ecx, dword [edx]
mov eax, dword [eax + 4]
sbb eax, dword [edx + 4]
jmp 0x102d3d5b
cmp eax, 3
jne 0x102d437c
movsd xmm0, qword [ecx]
movsd qword [esp + 0xc0], xmm0
jmp 0x102d439a
lea eax, [esp + 0xc0]
push eax
push ecx
call fcn.102d6a30
add esp, 8
test eax, eax
je 0x102d43f7
movsd xmm0, qword [esp + 0xc0]
mov eax, dword [esp + 0x10]
movsd qword [esp + 0x30], xmm0
cmp dword [eax + 8], 3
jne 0x102d43b9
movsd xmm1, qword [eax]
movsd qword [esp + 0xc8], xmm1
jmp 0x102d43d7
lea ecx, [esp + 0xc8]
push ecx
push eax
call fcn.102d6a30
add esp, 8
test eax, eax
je 0x102d43f7
movsd xmm1, qword [esp + 0xc8]
movsd xmm0, qword [esp + 0x30]
movsd xmm3, qword [esp + 0x28]
subsd xmm0, xmm1
mov dword [esi + 8], 3
movsd qword [esi], xmm0
jmp 0x102d3d67
push 7
mov eax, dword [esp + 0x18]
mov ecx, dword [ebp + 8]
push esi
push dword [esp + 0x18]
push eax
push ecx
call fcn.102d6dc0
jmp 0x102d3ec7
mov eax, edx
shr eax, 0x17
test eax, 0x100
je 0x102d442b
mov ecx, dword [esp + 0x24]
movzx eax, al
shl eax, 4
add ecx, eax
jmp 0x102d4430
add eax, eax
lea ecx, [edi + eax*8]
shr edx, 0xe
mov dword [esp + 0x18], ecx
test edx, 0x100
je 0x102d444b
movzx eax, dl
shl eax, 4
add eax, dword [esp + 0x24]
jmp 0x102d4456
and edx, 0x1ff
add edx, edx
lea eax, [edi + edx*8]
mov edx, dword [ecx + 8]
mov dword [esp + 0x10], eax
cmp edx, 0x13
jne 0x102d448d
cmp dword [eax + 8], edx
jne 0x102d44a1
push dword [ecx + 4]
push dword [ecx]
push dword [eax + 4]
push dword [eax]
call fcn.102e1690
movsd xmm3, qword [esp + 0x28]
mov dword [esi], eax
mov dword [esi + 4], edx
mov dword [esi + 8], 0x13
jmp 0x102d3d67
cmp edx, 3
jne 0x102d44a1
movsd xmm0, qword [ecx]
movsd qword [esp + 0xd0], xmm0
jmp 0x102d44bf
lea eax, [esp + 0xd0]
push eax
push ecx
call fcn.102d6a30
add esp, 8
test eax, eax
je 0x102d4518
movsd xmm0, qword [esp + 0xd0]
mov eax, dword [esp + 0x10]
movsd qword [esp + 0x30], xmm0
cmp dword [eax + 8], 3
jne 0x102d44de
movsd xmm0, qword [eax]
movsd qword [esp + 0xd8], xmm0
jmp 0x102d44fc
lea ecx, [esp + 0xd8]
push ecx
push eax
call fcn.102d6a30
add esp, 8
test eax, eax
je 0x102d4518
movsd xmm0, qword [esp + 0xd8]
mulsd xmm0, qword [esp + 0x30]
mov dword [esi + 8], 3
movsd xmm3, qword [esp + 0x28]
movsd qword [esi], xmm0
jmp 0x102d3d67
push 8
mov ecx, dword [ebp + 8]
push esi
push dword [esp + 0x18]
push dword [esp + 0x24]
push ecx
call fcn.102d6dc0
jmp 0x102d3ec7
mov eax, edx
shr eax, 0x17
test eax, 0x100
je 0x102d454b
mov ecx, dword [esp + 0x24]
movzx eax, al
shl eax, 4
add ecx, eax
jmp 0x102d4550
add eax, eax
lea ecx, [edi + eax*8]
shr edx, 0xe
mov dword [esp + 0x18], ecx
test edx, 0x100
je 0x102d456b
movzx eax, dl
shl eax, 4
add eax, dword [esp + 0x24]
jmp 0x102d4576
and edx, 0x1ff
add edx, edx
lea eax, [edi + edx*8]
cmp dword [ecx + 8], 3
mov dword [esp + 0x10], eax
jne 0x102d458f
movsd xmm0, qword [ecx]
movsd qword [esp + 0xe0], xmm0
jmp 0x102d45ad
lea eax, [esp + 0xe0]
push eax
push ecx
call fcn.102d6a30
add esp, 8
test eax, eax
je 0x102d460a
movsd xmm0, qword [esp + 0xe0]
mov eax, dword [esp + 0x10]
movsd qword [esp + 0x30], xmm0
cmp dword [eax + 8], 3
jne 0x102d45cc
movsd xmm1, qword [eax]
movsd qword [esp + 0xe8], xmm1
jmp 0x102d45ea
lea ecx, [esp + 0xe8]
push ecx
push eax
call fcn.102d6a30
add esp, 8
test eax, eax
je 0x102d460a
movsd xmm1, qword [esp + 0xe8]
movsd xmm0, qword [esp + 0x30]
divsd xmm0, xmm1
mov dword [esi + 8], 3
movsd xmm3, qword [esp + 0x28]
movsd qword [esi], xmm0
jmp 0x102d3d67
push 0xb
jmp 0x102d451a
mov eax, edx
shr eax, 0x17
test eax, 0x100
je 0x102d462b
mov ecx, dword [esp + 0x24]
movzx eax, al
shl eax, 4
add ecx, eax
jmp 0x102d4630
add eax, eax
lea ecx, [edi + eax*8]
shr edx, 0xe
mov dword [esp + 0x1c], ecx
test edx, 0x100
je 0x102d464b
movzx eax, dl
shl eax, 4
add eax, dword [esp + 0x24]
jmp 0x102d4656
and edx, 0x1ff
add edx, edx
lea eax, [edi + edx*8]
cmp dword [ecx + 8], 0x13
mov dword [esp + 0x10], eax
jne 0x102d4677
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x18], edx
mov dword [esp + 0x50], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x54], ecx
jmp 0x102d469b
push 0
lea eax, [esp + 0x54]
push eax
push ecx
call fcn.102d6930
add esp, 0xc
test eax, eax
je 0x102d46e8
mov eax, dword [esp + 0x54]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x10]
cmp dword [eax + 8], 0x13
jne 0x102d46bf
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x58], ecx
and ecx, dword [esp + 0x18]
mov dword [esp + 0x5c], eax
and eax, dword [esp + 0x14]
jmp 0x102d509d
push 0
lea ecx, [esp + 0x5c]
push ecx
push eax
call fcn.102d6930
add esp, 0xc
test eax, eax
je 0x102d46e8
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x5c]
and ecx, dword [esp + 0x18]
and eax, dword [esp + 0x14]
jmp 0x102d509d
mov ecx, dword [ebp + 8]
push 0xd
push esi
push dword [esp + 0x18]
push dword [esp + 0x28]
push ecx
call fcn.102d6dc0
jmp 0x102d3ec7
mov eax, edx
shr eax, 0x17
test eax, 0x100
je 0x102d471b
mov ecx, dword [esp + 0x24]
movzx eax, al
shl eax, 4
add ecx, eax
jmp 0x102d4720
add eax, eax
lea ecx, [edi + eax*8]
shr edx, 0xe
mov dword [esp + 0x1c], ecx
test edx, 0x100
je 0x102d473b
movzx eax, dl
shl eax, 4
add eax, dword [esp + 0x24]
jmp 0x102d4746
and edx, 0x1ff
add edx, edx
lea eax, [edi + edx*8]
cmp dword [ecx + 8], 0x13
mov dword [esp + 0x10], eax
jne 0x102d4767
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x18], edx
mov dword [esp + 0x60], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x64], ecx
jmp 0x102d478b
push 0
lea eax, [esp + 0x64]
push eax
push ecx
call fcn.102d6930
add esp, 0xc
test eax, eax
je 0x102d47d8
mov eax, dword [esp + 0x64]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x10]
cmp dword [eax + 8], 0x13
jne 0x102d47af
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x68], ecx
or ecx, dword [esp + 0x18]
mov dword [esp + 0x6c], eax
or eax, dword [esp + 0x14]
jmp 0x102d509d
push 0
lea ecx, [esp + 0x6c]
push ecx
push eax
call fcn.102d6930
add esp, 0xc
test eax, eax
je 0x102d47d8
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x6c]
or ecx, dword [esp + 0x18]
or eax, dword [esp + 0x14]
jmp 0x102d509d
mov ecx, dword [ebp + 8]
push 0xe
push esi
push dword [esp + 0x18]
push dword [esp + 0x28]
push ecx
call fcn.102d6dc0
jmp 0x102d3ec7
mov eax, edx
shr eax, 0x17
test eax, 0x100
je 0x102d480b
mov ecx, dword [esp + 0x24]
movzx eax, al
shl eax, 4
add ecx, eax
jmp 0x102d4810
add eax, eax
lea ecx, [edi + eax*8]
shr edx, 0xe
mov dword [esp + 0x1c], ecx
test edx, 0x100
je 0x102d482b
movzx eax, dl
shl eax, 4
add eax, dword [esp + 0x24]
jmp 0x102d4836
and edx, 0x1ff
add edx, edx
lea eax, [edi + edx*8]
cmp dword [ecx + 8], 0x13
mov dword [esp + 0x10], eax
jne 0x102d4857
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x18], edx
mov dword [esp + 0x70], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x74], ecx
jmp 0x102d487b
push 0
lea eax, [esp + 0x74]
push eax
push ecx
call fcn.102d6930
add esp, 0xc
test eax, eax
je 0x102d48c8
mov eax, dword [esp + 0x74]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x10]
cmp dword [eax + 8], 0x13
jne 0x102d489f
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x78], ecx
xor ecx, dword [esp + 0x18]
mov dword [esp + 0x7c], eax
xor eax, dword [esp + 0x14]
jmp 0x102d509d
push 0
lea ecx, [esp + 0x7c]
push ecx
push eax
call fcn.102d6930
add esp, 0xc
test eax, eax
je 0x102d48c8
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x7c]
xor ecx, dword [esp + 0x18]
xor eax, dword [esp + 0x14]
jmp 0x102d509d
mov ecx, dword [ebp + 8]
push 0xf
push esi
push dword [esp + 0x18]
push dword [esp + 0x28]
push ecx
call fcn.102d6dc0
jmp 0x102d3ec7
mov eax, edx
shr eax, 0x17
test eax, 0x100
je 0x102d48fb
mov ecx, dword [esp + 0x24]
movzx eax, al
shl eax, 4
add ecx, eax
jmp 0x102d4900
add eax, eax
lea ecx, [edi + eax*8]
shr edx, 0xe
mov dword [esp + 0x1c], ecx
test edx, 0x100
je 0x102d491b
movzx eax, dl
shl eax, 4
add eax, dword [esp + 0x24]
jmp 0x102d4926
and edx, 0x1ff
add edx, edx
lea eax, [edi + edx*8]
cmp dword [ecx + 8], 0x13
mov dword [esp + 0x10], eax
jne 0x102d494d
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x14], edx
mov dword [esp + 0x80], edx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x84], ecx
jmp 0x102d497a
push 0
lea eax, [esp + 0x84]
push eax
push ecx
call fcn.102d6930
add esp, 0xc
test eax, eax
je 0x102d49c6
mov eax, dword [esp + 0x84]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
cmp dword [eax + 8], 0x13
jne 0x102d499c
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], eax
jmp 0x102d4ac7
push 0
lea ecx, [esp + 0x8c]
push ecx
push eax
call fcn.102d6930
add esp, 0xc
test eax, eax
je 0x102d49c6
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x88]
jmp 0x102d4ac7
mov ecx, dword [ebp + 8]
push 0x10
push esi
push dword [esp + 0x18]
push dword [esp + 0x28]
push ecx
call fcn.102d6dc0
jmp 0x102d3ec7
mov eax, edx
shr eax, 0x17
test eax, 0x100
je 0x102d49f9
mov ecx, dword [esp + 0x24]
movzx eax, al
shl eax, 4
add ecx, eax
jmp 0x102d49fe
add eax, eax
lea ecx, [edi + eax*8]
shr edx, 0xe
mov dword [esp + 0x1c], ecx
test edx, 0x100
je 0x102d4a19
movzx eax, dl
shl eax, 4
add eax, dword [esp + 0x24]
jmp 0x102d4a24
and edx, 0x1ff
add edx, edx
lea eax, [edi + edx*8]
cmp dword [ecx + 8], 0x13
mov dword [esp + 0x10], eax
jne 0x102d4a4b
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x14], edx
mov dword [esp + 0x90], edx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x94], ecx
jmp 0x102d4a7c
push 0
lea eax, [esp + 0x94]
push eax
push ecx
call fcn.102d6930
add esp, 0xc
test eax, eax
je 0x102d4af0
mov eax, dword [esp + 0x94]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
cmp dword [eax + 8], 0x13
jne 0x102d4a9b
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], eax
jmp 0x102d4ac0
push 0
lea ecx, [esp + 0x9c]
push ecx
push eax
call fcn.102d6930
add esp, 0xc
test eax, eax
je 0x102d4af0
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
neg ecx
adc eax, 0
neg eax
push eax
push ecx
push dword [esp + 0x20]
push dword [esp + 0x20]
call fcn.102d68e0
movsd xmm3, qword [esp + 0x38]
add esp, 0x10
mov dword [esi], eax
mov dword [esi + 4], edx
mov dword [esi + 8], 0x13
jmp 0x102d3d67
mov ecx, dword [ebp + 8]
push 0x11
push esi
push dword [esp + 0x18]
push dword [esp + 0x28]
push ecx
call fcn.102d6dc0
jmp 0x102d3ec7
mov eax, edx
shr eax, 0x17
test eax, 0x100
je 0x102d4b24
mov ecx, dword [ebp + 8]
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x24]
jmp 0x102d4b29
shl eax, 4
add eax, edi
shr edx, 0xe
mov dword [esp + 0x1c], eax
test edx, 0x100
je 0x102d4b44
movzx eax, dl
shl eax, 4
add eax, dword [esp + 0x24]
jmp 0x102d4b4f
and edx, 0x1ff
add edx, edx
lea eax, [edi + edx*8]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
cmp dword [edx + 8], 0x13
jne 0x102d4c32
cmp dword [eax + 8], 0x13
jne 0x102d4c47
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x10], edx
add dword [esp + 0x10], 1
mov dword [esp + 0x14], eax
adc eax, 0
mov dword [esp + 0x18], edx
test eax, eax
ja 0x102d4bc3
jb 0x102d4b91
cmp dword [esp + 0x10], 1
ja 0x102d4bc3
or edx, dword [esp + 0x14]
je 0x102d60a9
movsd xmm3, qword [esp + 0x28]
xorps xmm0, xmm0
movlpd qword [esp + 0x30], xmm0
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
mov dword [esi], eax
mov dword [esi + 4], edx
mov dword [esi + 8], 0x13
jmp 0x102d3d67
mov eax, dword [esp + 0x1c]
push dword [esp + 0x14]
push edx
mov ecx, dword [eax]
mov eax, dword [eax + 4]
push eax
push ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x48], eax
call fcn.102e1780
mov ecx, eax
mov dword [esp + 0x1c], eax
or ecx, edx
je 0x102d4c1b
mov eax, dword [esp + 0x18]
mov ecx, eax
xor ecx, dword [esp + 0x10]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
xor ecx, dword [esp + 0x38]
mov dword [esp + 0x34], ecx
jg 0x102d4c17
jl 0x102d4c0f
cmp dword [esp + 0x18], 0
jae 0x102d4c17
add dword [esp + 0x1c], eax
adc edx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
movsd xmm3, qword [esp + 0x28]
mov dword [esi], eax
mov dword [esi + 4], edx
mov dword [esi + 8], 0x13
jmp 0x102d3d67
cmp dword [edx + 8], 3
jne 0x102d4c47
movsd xmm0, qword [edx]
movsd qword [esp + 0xf0], xmm0
jmp 0x102d4c60
lea eax, [esp + 0xf0]
push eax
push edx
call fcn.102d6a30
add esp, 8
test eax, eax
je 0x102d4ce7
mov eax, dword [esp + 0x10]
cmp dword [eax + 8], 3
jne 0x102d4c79
movsd xmm0, qword [eax]
movsd qword [esp + 0xa8], xmm0
jmp 0x102d4c97
lea ecx, [esp + 0xa8]
push ecx
push eax
call fcn.102d6a30
add esp, 8
test eax, eax
je 0x102d4ce7
movsd xmm0, qword [esp + 0xa8]
fld qword [esp + 0xf0]
fld qword [esp + 0xa8]
movsd qword [esp + 0x30], xmm0
call fcn.102f65c0
movsd xmm2, qword [esp + 0x30]
movsd xmm3, qword [esp + 0x28]
fstp qword [esp + 0x40]
movsd xmm1, qword [esp + 0x40]
movaps xmm0, xmm1
mulsd xmm0, xmm2
comisd xmm3, xmm0
jbe 0x102d4cd7
addsd xmm1, xmm2
movsd qword [esi], xmm1
mov dword [esi + 8], 3
jmp 0x102d3d67
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebp + 8]
push 9
push esi
push dword [esp + 0x18]
push eax
push ecx
call fcn.102d6dc0
jmp 0x102d3ec7
mov eax, edx
shr eax, 0x17
test eax, 0x100
je 0x102d4d1c
mov ecx, dword [ebp + 8]
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x24]
jmp 0x102d4d21
shl eax, 4
add eax, edi
shr edx, 0xe
mov dword [esp + 0x14], eax
test edx, 0x100
je 0x102d4d3c
movzx eax, dl
shl eax, 4
add eax, dword [esp + 0x24]
jmp 0x102d4d47
and edx, 0x1ff
add edx, edx
lea eax, [edi + edx*8]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x10], eax
cmp dword [edx + 8], 0x13
jne 0x102d4e2b
cmp dword [eax + 8], 0x13
jne 0x102d4e40
mov edi, dword [edx]
mov edx, dword [edx + 4]
mov dword [esp + 0x10], edi
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x14], edi
add edi, 1
mov dword [esp + 0x1c], eax
adc eax, 0
mov dword [esp + 0x18], edx
mov dword [esp + 0x38], edi
test eax, eax
ja 0x102d4dc6
jb 0x102d4d92
cmp edi, 1
ja 0x102d4dc6
mov eax, dword [esp + 0x14]
or eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
je 0x102d60b4
mov eax, dword [esp + 0x10]
movsd xmm3, qword [esp + 0x28]
neg eax
mov dword [esi], eax
adc edx, 0
mov dword [esi + 8], 0x13
neg edx
mov dword [esi + 4], edx
jmp 0x102d3d67
push dword [esp + 0x1c]
push dword [esp + 0x18]
push edx
push dword [esp + 0x1c]
call fcn.102e1a00
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x38], ecx
mov ecx, eax
mov eax, dword [esp + 0x14]
xor eax, dword [esp + 0x10]
xor edi, dword [esp + 0x18]
mov dword [esp + 0x34], edi
mov edi, dword [esp + 0x20]
mov dword [esp + 0x40], ebx
jg 0x102d4e12
jl 0x102d4e02
test eax, eax
jae 0x102d4e12
mov eax, dword [esp + 0x38]
or eax, dword [esp + 0x40]
je 0x102d4e12
add ecx, 0xffffffff
adc edx, 0xffffffff
movsd xmm3, qword [esp + 0x28]
mov eax, ecx
mov dword [esi], eax
mov dword [esi + 4], edx
mov dword [esi + 8], 0x13
jmp 0x102d3d67
cmp dword [edx + 8], 3
jne 0x102d4e40
movsd xmm0, qword [edx]
movsd qword [esp + 0xf8], xmm0
jmp 0x102d4e5e
lea eax, [esp + 0xf8]
push eax
push edx
call fcn.102d6a30
add esp, 8
test eax, eax
je 0x102d4ed1
movsd xmm0, qword [esp + 0xf8]
mov eax, dword [esp + 0x10]
movsd qword [esp + 0x30], xmm0
cmp dword [eax + 8], 3
jne 0x102d4e7d
movsd xmm1, qword [eax]
movsd qword [esp + 0x100], xmm1
jmp 0x102d4e9b
lea ecx, [esp + 0x100]
push ecx
push eax
call fcn.102d6a30
add esp, 8
test eax, eax
je 0x102d4ed1
movsd xmm1, qword [esp + 0x100]
movsd xmm0, qword [esp + 0x30]
sub esp, 8
divsd xmm0, xmm1
movsd qword [esp + 0x38], xmm0
fld qword [esp + 0x38]
fstp qword [esp]
call fcn.102f6290
movsd xmm3, qword [esp + 0x30]
add esp, 8
fstp qword [esi]
mov dword [esi + 8], 3
jmp 0x102d3d67
push 0xc
jmp 0x102d43f9
mov eax, edx
shr eax, 0x17
test eax, 0x100
je 0x102d4ef2
mov ecx, dword [esp + 0x24]
movzx eax, al
shl eax, 4
add ecx, eax
jmp 0x102d4ef7
add eax, eax
lea ecx, [edi + eax*8]
shr edx, 0xe
mov dword [esp + 0x18], ecx
test edx, 0x100
je 0x102d4f12
movzx eax, dl
shl eax, 4
add eax, dword [esp + 0x24]
jmp 0x102d4f1d
and edx, 0x1ff
add edx, edx
lea eax, [edi + edx*8]
cmp dword [ecx + 8], 3
mov dword [esp + 0x10], eax
jne 0x102d4f36
movsd xmm0, qword [ecx]
movsd qword [esp + 0x108], xmm0
jmp 0x102d4f54
lea eax, [esp + 0x108]
push eax
push ecx
call fcn.102d6a30
add esp, 8
test eax, eax
je 0x102d4fa6
movsd xmm0, qword [esp + 0x108]
mov eax, dword [esp + 0x10]
movsd qword [esp + 0x30], xmm0
cmp dword [eax + 8], 3
jne 0x102d4f7b
movsd xmm1, qword [eax]
movsd qword [esp + 0x110], xmm1
call fcn.102f7a30
jmp 0x102d501f
lea ecx, [esp + 0x110]
push ecx
push eax
call fcn.102d6a30
add esp, 8
test eax, eax
je 0x102d4fa6
movsd xmm1, qword [esp + 0x110]
movsd xmm0, qword [esp + 0x30]
call fcn.102f7a30
jmp 0x102d501f
mov ecx, dword [ebp + 8]
push 0xa
push esi
push dword [esp + 0x18]
push dword [esp + 0x24]
push ecx
call fcn.102d6dc0
jmp 0x102d3ec7
shr edx, 0x17
add edx, edx
mov ecx, dword [edi + edx*8 + 8]
lea eax, [edi + edx*8]
mov dword [esp + 0x40], eax
cmp ecx, 0x13
jne 0x102d4fe5
mov ecx, dword [eax]
mov eax, dword [eax + 4]
neg ecx
adc eax, 0
neg eax
jmp 0x102d3d5b
cmp ecx, 3
jne 0x102d4ff9
movsd xmm0, qword [eax]
movsd qword [esp + 0x118], xmm0
jmp 0x102d5017
lea ecx, [esp + 0x118]
push ecx
push eax
call fcn.102d6a30
add esp, 8
test eax, eax
je 0x102d5035
movsd xmm0, qword [esp + 0x118]
xorps xmm0, xmmword [esp + 0x140]
movsd xmm3, qword [esp + 0x28]
movsd qword [esi], xmm0
mov dword [esi + 8], 3
jmp 0x102d3d67
mov eax, dword [esp + 0x40]
mov ecx, dword [ebp + 8]
push 0x12
push esi
push eax
push eax
push ecx
call fcn.102d6dc0
jmp 0x102d3ec7
shr edx, 0x17
add edx, edx
cmp dword [edi + edx*8 + 8], 0x13
lea eax, [edi + edx*8]
mov dword [esp + 0x40], eax
jne 0x102d5074
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], eax
jmp 0x102d5099
push 0
lea ecx, [esp + 0xa4]
push ecx
push eax
call fcn.102d6930
add esp, 0xc
test eax, eax
je 0x102d50b4
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa0]
not ecx
not eax
movsd xmm3, qword [esp + 0x28]
mov dword [esi], ecx
mov dword [esi + 4], eax
mov dword [esi + 8], 0x13
jmp 0x102d3d67
mov eax, dword [esp + 0x40]
mov ecx, dword [ebp + 8]
push 0x13
push esi
push eax
push eax
push ecx
call fcn.102d6dc0
jmp 0x102d3ec7
shr edx, 0x17
add edx, edx
mov eax, dword [edi + edx*8 + 8]
test eax, eax
je 0x102d50f3
cmp eax, 1
jne 0x102d50e3
cmp dword [edi + edx*8], 0
je 0x102d50f3
xor eax, eax
mov dword [esi + 8], 1
mov dword [esi], eax
jmp case.default.0x102d3dc4
mov eax, 1
mov dword [esi], eax
mov dword [esi + 8], eax
jmp case.default.0x102d3dc4
shr edx, 0x17
shl edx, 4
add edi, edx
mov eax, dword [edi + 8]
and eax, 0x3f
sub eax, 4
je 0x102d51b6
sub eax, 1
je 0x102d5155
sub eax, 0xf
je 0x102d513b
push 4
push edi
push ecx
call fcn.102d6cc0
add esp, 0xc
cmp dword [eax + 8], 0
je 0x102d609b
jmp 0x102d5180
mov eax, dword [edi]
mov eax, dword [eax + 0xc]
mov dword [esi], eax
mov dword [esi + 4], 0
mov dword [esi + 8], 0x13
jmp 0x102d3eca
mov eax, dword [edi]
mov dword [esp + 0x40], eax
mov edx, dword [eax + 0x18]
test edx, edx
je 0x102d519b
test byte [edx + 6], 0x10
jne 0x102d519b
mov eax, dword [ecx + 0x10]
push dword [eax + 0x98]
push 4
push edx
call fcn.102d6c90
add esp, 0xc
test eax, eax
je 0x102d5197
mov ecx, dword [ebp + 8]
push 1
push esi
push edi
push edi
push eax
push ecx
call fcn.102d6ad0
add esp, 0x18
jmp 0x102d3eca
mov eax, dword [esp + 0x40]
push eax
call fcn.102d21f0
cdq
add esp, 4
mov dword [esi], eax
mov dword [esi + 4], edx
mov dword [esi + 8], 0x13
jmp 0x102d3eca
mov eax, dword [edi]
movzx eax, byte [eax + 7]
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
mov dword [esi + 8], 0x13
jmp 0x102d3eca
mov esi, edx
shr edx, 0xe
and edx, 0x1ff
shr esi, 0x17
lea eax, [edx + 1]
sub edx, esi
inc edx
shl eax, 4
push edx
add eax, edi
push ecx
mov dword [ecx + 0xc], eax
call fcn.102d37c0
mov eax, dword [esp + 0x14]
add esp, 8
mov edx, dword [esp + 0x18]
mov ecx, dword [ebp + 8]
shl esi, 4
mov edi, dword [eax + 0x10]
add edx, edi
add esi, edi
mov dword [esp + 0x20], edi
movups xmm0, xmmword [esi]
movups xmmword [edx], xmm0
mov eax, dword [ecx + 0x10]
cmp dword [eax + 0xc], 0
jle 0x102d5255
cmp edx, esi
lea eax, [edx + 0x10]
push ecx
cmovb eax, esi
mov dword [ecx + 0xc], eax
call fcn.102d0460
mov esi, dword [esp + 0x10]
add esp, 4
mov ecx, dword [ebp + 8]
movsd xmm3, qword [esp + 0x28]
mov eax, dword [esi + 4]
mov dword [ecx + 0xc], eax
mov edi, dword [esi + 0x10]
mov eax, dword [esi + 4]
mov dword [esp + 0x20], edi
mov dword [ecx + 0xc], eax
jmp 0x102d3d6e
mov esi, dword [esp + 0xc]
movsd xmm3, qword [esp + 0x28]
mov eax, dword [esi + 4]
mov dword [ecx + 0xc], eax
jmp 0x102d3d6e
cmp dword [esp + 0x14], 0
mov esi, dword [esp + 0xc]
je 0x102d528f
mov edx, dword [esp + 0x18]
mov eax, dword [esi + 0x10]
add edx, 0xfffffff0
add eax, edx
push eax
push ecx
call fcn.102cf7a0
mov edx, dword [esp + 0x24]
add esp, 8
movsd xmm3, qword [esp + 0x28]
mov ecx, dword [ebp + 8]
shr edx, 0xe
lea eax, [edx*4 - 0x7fffc]
add dword [esi + 0x14], eax
jmp 0x102d3d6e
mov eax, edx
shr eax, 0x17
test eax, 0x100
je 0x102d52c4
mov esi, dword [esp + 0x24]
movzx eax, al
shl eax, 4
add esi, eax
jmp 0x102d52c9
add eax, eax
lea esi, [edi + eax*8]
shr edx, 0xe
test edx, 0x100
je 0x102d52e0
movzx eax, dl
shl eax, 4
add eax, dword [esp + 0x24]
jmp 0x102d52eb
and edx, 0x1ff
add edx, edx
lea eax, [edi + edx*8]
push eax
push esi
push ecx
call fcn.102d3ae0
mov esi, dword [esp + 0x18]
add esp, 0xc
mov edx, dword [esi + 0x14]
cmp eax, dword [esp + 0x14]
je 0x102d531e
movsd xmm3, qword [esp + 0x28]
add edx, 4
mov ecx, dword [ebp + 8]
mov dword [esi + 0x14], edx
mov edi, dword [esi + 0x10]
mov dword [esp + 0x20], edi
jmp 0x102d3d6e
mov edi, dword [edx]
mov eax, edi
shr eax, 6
movzx ecx, al
test al, al
je 0x102d5347
mov eax, dword [esi + 0x10]
shl ecx, 4
add eax, 0xfffffff0
add eax, ecx
mov ecx, dword [ebp + 8]
push eax
push ecx
call fcn.102cf7a0
mov edx, dword [esi + 0x14]
add esp, 8
shr edi, 0xe
lea edx, [edx + edi*4]
add edx, 0xfff80008
movsd xmm3, qword [esp + 0x28]
mov ecx, dword [ebp + 8]
mov dword [esi + 0x14], edx
mov edi, dword [esi + 0x10]
mov dword [esp + 0x20], edi
jmp 0x102d3d6e
mov eax, edx
shr eax, 0xe
test eax, 0x100
je 0x102d5385
mov esi, dword [esp + 0x24]
movzx eax, al
shl eax, 4
add esi, eax
jmp 0x102d538f
and eax, 0x1ff
add eax, eax
lea esi, [edi + eax*8]
shr edx, 0x17
test edx, 0x100
je 0x102d53a6
movzx edi, dl
shl edi, 4
add edi, dword [esp + 0x24]
jmp 0x102d53ab
shl edx, 4
add edi, edx
mov eax, dword [edi + 8]
and eax, 0xf
cmp eax, 3
jne 0x102d544d
mov edx, dword [esi + 8]
mov eax, edx
and eax, 0xf
cmp al, 3
jne 0x102d5470
cmp dword [edi + 8], 0x13
jne 0x102d5409
mov ecx, dword [edi]
mov eax, dword [edi + 4]
cmp edx, 0x13
jne 0x102d53ef
cmp eax, dword [esi + 4]
jg 0x102d542b
jl 0x102d53e5
cmp ecx, dword [esi]
jae 0x102d542b
mov ecx, 1
jmp 0x102d5487
movsd xmm0, qword [esi]
sub esp, 8
movsd qword [esp], xmm0
push eax
push ecx
call fcn.102d36b0
add esp, 0x10
mov ecx, eax
jmp 0x102d5487
movsd xmm1, qword [edi]
cmp edx, 3
jne 0x102d5421
movsd xmm0, qword [esi]
xor ecx, ecx
comisd xmm0, xmm1
seta cl
jmp 0x102d5487
ucomisd xmm1, xmm1
lahf
test ah, 0x44
jnp 0x102d542f
xor ecx, ecx
jmp 0x102d5487
sub esp, 8
movsd qword [esp], xmm1
push dword [esi + 4]
push dword [esi]
call fcn.102d3630
add esp, 0x10
mov ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
jmp 0x102d5487
cmp eax, 4
jne 0x102d5470
mov eax, dword [esi + 8]
and al, 0xf
cmp al, 4
jne 0x102d5470
push dword [esi]
push dword [edi]
call fcn.102d3730
xor ecx, ecx
add esp, 8
test eax, eax
sets cl
jmp 0x102d5487
push 0x14
push esi
push edi
push ecx
call fcn.102d6c40
mov ecx, eax
add esp, 0x10
test ecx, ecx
js 0x102d60bf
mov esi, dword [esp + 0xc]
mov edx, dword [esi + 0x14]
cmp ecx, dword [esp + 0x14]
je 0x102d531e
add edx, 4
jmp 0x102d5353
mov eax, edx
shr eax, 0xe
test eax, 0x100
je 0x102d54ba
mov esi, dword [esp + 0x24]
movzx eax, al
shl eax, 4
add esi, eax
jmp 0x102d54c4
and eax, 0x1ff
add eax, eax
lea esi, [edi + eax*8]
shr edx, 0x17
mov dword [esp + 0x18], esi
test edx, 0x100
je 0x102d54df
movzx edi, dl
shl edi, 4
add edi, dword [esp + 0x24]
jmp 0x102d54e4
shl edx, 4
add edi, edx
mov eax, dword [edi + 8]
and eax, 0xf
mov dword [esp + 0x10], edi
cmp eax, 3
jne 0x102d55a2
mov edx, dword [esi + 8]
mov eax, edx
and eax, 0xf
cmp al, 3
jne 0x102d55c8
cmp dword [edi + 8], 0x13
jne 0x102d554f
mov ecx, dword [edi]
mov eax, dword [edi + 4]
cmp edx, 0x13
jne 0x102d552f
cmp eax, dword [esi + 4]
jg 0x102d5577
jl 0x102d5522
cmp ecx, dword [esi]
ja 0x102d5577
mov esi, dword [ebp + 8]
mov ecx, 1
jmp 0x102d5616
movsd xmm0, qword [esi]
sub esp, 8
movsd qword [esp], xmm0
push eax
push ecx
call fcn.102d3630
mov esi, dword [ebp + 8]
add esp, 0x10
mov ecx, eax
jmp 0x102d5616
movsd xmm1, qword [edi]
cmp edx, 3
jne 0x102d556d
movsd xmm0, qword [esi]
xor ecx, ecx
mov esi, dword [ebp + 8]
comisd xmm0, xmm1
setae cl
jmp 0x102d5616
ucomisd xmm1, xmm1
lahf
test ah, 0x44
jnp 0x102d5581
mov esi, dword [ebp + 8]
xor ecx, ecx
jmp 0x102d5616
sub esp, 8
movsd qword [esp], xmm1
push dword [esi + 4]
push dword [esi]
call fcn.102d36b0
mov esi, dword [ebp + 8]
add esp, 0x10
mov ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
jmp 0x102d5616
cmp eax, 4
jne 0x102d55c8
mov eax, dword [esi + 8]
and al, 0xf
cmp al, 4
jne 0x102d55c8
push dword [esi]
push dword [edi]
call fcn.102d3730
mov esi, dword [ebp + 8]
xor ecx, ecx
add esp, 8
test eax, eax
setle cl
jmp 0x102d5616
push 0x15
push esi
push edi
push ecx
call fcn.102d6c40
mov esi, dword [ebp + 8]
mov ecx, eax
add esp, 0x10
test ecx, ecx
jns 0x102d5616
mov eax, dword [esi + 0x14]
mov ecx, 0x80
push 0x14
push edi
mov edi, dword [esp + 0x20]
or word [eax + 0x22], cx
push edi
push esi
call fcn.102d6c40
mov ecx, dword [esi + 0x14]
mov edx, 0x80
add esp, 0x10
xor word [ecx + 0x22], dx
test eax, eax
js 0x102d60c9
xor ecx, ecx
test eax, eax
sete cl
mov edi, dword [esp + 0xc]
mov edx, dword [edi + 0x14]
cmp ecx, dword [esp + 0x14]
je 0x102d5640
movsd xmm3, qword [esp + 0x28]
mov esi, edi
mov ecx, dword [ebp + 8]
add edx, 4
mov dword [esi + 0x14], edx
mov edi, dword [esi + 0x10]
mov dword [esp + 0x20], edi
jmp 0x102d3d6e
mov ecx, dword [edx]
mov eax, ecx
shr eax, 6
movzx eax, al
mov dword [esp + 0x38], ecx
test eax, eax
je 0x102d5674
shl eax, 4
mov dword [esp + 0x40], eax
mov ecx, eax
mov eax, dword [edi + 0x10]
add ecx, 0xfffffff0
add eax, ecx
push eax
push esi
call fcn.102cf7a0
mov edx, dword [edi + 0x14]
add esp, 8
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0xc]
movsd xmm3, qword [esp + 0x28]
shr ecx, 0xe
lea edx, [edx + ecx*4]
mov ecx, dword [ebp + 8]
add edx, 0xfff80008
mov dword [esi + 0x14], edx
mov edi, dword [esi + 0x10]
mov dword [esp + 0x20], edi
jmp 0x102d3d6e
mov eax, dword [esi + 8]
test edx, 0x7fc000
je 0x102d56b7
test eax, eax
je 0x102d56c5
cmp eax, 1
jne 0x102d56cc
cmp dword [esi], 0
jne 0x102d56cc
jmp 0x102d56ce
test eax, eax
je 0x102d56cc
cmp eax, 1
jne 0x102d56c5
cmp dword [esi], 0
je 0x102d56cc
mov eax, 1
jmp 0x102d56ce
xor eax, eax
mov esi, dword [esp + 0xc]
mov edx, dword [esi + 0x14]
test eax, eax
je 0x102d56ed
movsd xmm3, qword [esp + 0x28]
add edx, 4
mov ecx, dword [ebp + 8]
mov dword [esi + 0x14], edx
jmp 0x102d3d6e
mov eax, dword [edx]
mov dword [esp + 0x38], eax
shr eax, 6
movzx eax, al
test eax, eax
je 0x102d571b
shl eax, 4
mov dword [esp + 0x40], eax
mov edx, eax
mov eax, dword [esi + 0x10]
add edx, 0xfffffff0
add eax, edx
push eax
push ecx
call fcn.102cf7a0
mov edx, dword [esi + 0x14]
add esp, 8
mov eax, dword [esp + 0x38]
movsd xmm3, qword [esp + 0x28]
mov ecx, dword [ebp + 8]
shr eax, 0xe
lea edx, [edx + eax*4]
add edx, 0xfff80008
mov dword [esi + 0x14], edx
jmp 0x102d3d6e
mov eax, edx
shr eax, 0x17
add eax, eax
test edx, 0x7fc000
mov edx, dword [edi + eax*8 + 8]
je 0x102d5760
test edx, edx
je 0x102d576f
cmp edx, 1
jne 0x102d5776
cmp dword [edi + eax*8], 0
jne 0x102d5776
jmp 0x102d5778
test edx, edx
je 0x102d5776
cmp edx, 1
jne 0x102d576f
cmp dword [edi + eax*8], 0
je 0x102d5776
mov edx, 1
jmp 0x102d5778
xor edx, edx
test edx, edx
je 0x102d5789
mov esi, dword [esp + 0xc]
add dword [esi + 0x14], 4
jmp 0x102d3d6e
movups xmm0, xmmword [edi + eax*8]
movups xmmword [esi], xmm0
mov esi, dword [esp + 0xc]
mov eax, dword [esi + 0x14]
mov edx, dword [eax]
mov eax, edx
shr eax, 6
movzx eax, al
mov dword [esp + 0x38], edx
test eax, eax
je 0x102d57c8
shl eax, 4
mov dword [esp + 0x40], eax
mov edx, eax
mov eax, dword [esi + 0x10]
add edx, 0xfffffff0
add eax, edx
push eax
push ecx
call fcn.102cf7a0
mov edx, dword [esp + 0x40]
add esp, 8
mov eax, dword [esi + 0x14]
movsd xmm3, qword [esp + 0x28]
mov ecx, dword [ebp + 8]
shr edx, 0xe
lea eax, [eax + edx*4]
add eax, 0xfff80008
mov dword [esi + 0x14], eax
jmp 0x102d3d6e
mov eax, edx
shr edx, 0xe
and edx, 0x1ff
shr eax, 0x17
dec edx
mov dword [esp + 0x1c], edx
test eax, eax
je 0x102d5806
shl eax, 4
add eax, esi
mov dword [ecx + 0xc], eax
push edx
push esi
push ecx
call fcn.102ca5e0
mov ecx, dword [ebp + 8]
add esp, 0xc
test eax, eax
je 0x102d6019
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0xc]
test eax, eax
js 0x102d582e
mov eax, dword [esi + 4]
mov dword [ecx + 0xc], eax
mov edi, dword [esi + 0x10]
movsd xmm3, qword [esp + 0x28]
mov dword [esp + 0x20], edi
jmp 0x102d3d6e
shr edx, 0x17
test edx, edx
je 0x102d584f
shl edx, 4
add edx, esi
mov dword [ecx + 0xc], edx
push 0xffffffffffffffff
push esi
push ecx
call fcn.102ca5e0
add esp, 0xc
test eax, eax
jne 0x102d3eca
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x1c], edx
mov edi, dword [edx + 8]
mov esi, dword [edx]
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], esi
mov eax, dword [edi]
mov dword [esp + 0x14], eax
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
movzx eax, byte [eax + 6]
shl eax, 4
add eax, dword [edx + 0x10]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0xc]
cmp dword [eax + 0x1c], 0
jle 0x102d58af
push dword [edi + 0x10]
push ecx
call fcn.102cf7a0
mov ecx, dword [ebp + 8]
add esp, 8
xor edx, edx
cmp esi, dword [esp + 0x18]
jae 0x102d58e1
mov ecx, dword [esp + 0x14]
xor eax, eax
mov edi, esi
nop
movups xmm0, xmmword [esi]
inc edx
movups xmmword [ecx + eax], xmm0
mov eax, edx
shl eax, 4
lea esi, [edi + eax]
cmp esi, dword [esp + 0x18]
jb 0x102d58c0
mov ecx, dword [ebp + 8]
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
movsd xmm3, qword [esp + 0x28]
mov eax, dword [eax + 0x10]
sub eax, esi
and eax, 0xfffffff0
add eax, dword [esp + 0x14]
mov dword [edi + 0x10], eax
mov eax, dword [ecx + 0xc]
sub eax, esi
and eax, 0xfffffff0
add eax, dword [esp + 0x14]
mov dword [ecx + 0xc], eax
mov dword [edi + 4], eax
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x14]
or word [edi + 0x22], 0x20
mov dword [edi + 0x14], eax
mov dword [ecx + 0x14], edi
jmp 0x102d3d40
cmp dword [esi + 8], 0x13
jne 0x102d59b6
mov edi, dword [esi]
add edi, dword [esi + 0x20]
mov eax, dword [esi + 0x24]
mov dword [esp + 0x10], edi
mov edi, dword [esi + 4]
adc edi, eax
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x20]
test eax, eax
jl 0x102d596a
jg 0x102d5952
cmp dword [esi + 0x20], 0
jbe 0x102d596a
mov eax, dword [esi + 0x14]
cmp dword [esp + 0x14], eax
jg case.default.0x102d3dc4
jl 0x102d5986
mov eax, dword [esi + 0x10]
cmp dword [esp + 0x10], eax
jmp 0x102d5980
mov eax, dword [esi + 0x14]
cmp eax, dword [esp + 0x14]
jg case.default.0x102d3dc4
jl 0x102d5986
mov eax, dword [esi + 0x10]
cmp eax, dword [esp + 0x10]
ja case.default.0x102d3dc4
shr edx, 0xe
lea eax, [edx*4 - 0x7fffc]
mov edx, dword [esp + 0xc]
add dword [edx + 0x14], eax
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esi], eax
mov dword [esi + 4], edx
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], edx
mov dword [esi + 0x38], 0x13
jmp case.default.0x102d3dc4
movsd xmm0, qword [esi + 0x20]
xor eax, eax
comisd xmm0, xmm3
movsd xmm2, qword [esi + 0x10]
movaps xmm1, xmm0
addsd xmm1, qword [esi]
jbe 0x102d59d5
comisd xmm2, xmm1
jmp 0x102d59d9
comisd xmm1, xmm2
setae al
test eax, eax
je case.default.0x102d3dc4
shr edx, 0xe
lea eax, [edx*4 - 0x7fffc]
mov edx, dword [esp + 0xc]
add dword [edx + 0x14], eax
movsd qword [esi], xmm1
movsd qword [esi + 0x30], xmm1
mov dword [esi + 0x38], 3
jmp case.default.0x102d3dc4
cmp dword [esi + 8], 0x13
lea eax, [esi + 0x10]
jne 0x102d5b58
cmp dword [esi + 0x28], 0x13
jne 0x102d5b58
mov ecx, dword [esi + 0x24]
mov edx, dword [esi + 0x20]
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], 0
test ecx, ecx
jg 0x102d5a48
jl 0x102d5a41
test edx, edx
jae 0x102d5a48
mov ecx, 2
jmp 0x102d5a4d
mov ecx, 1
push ecx
lea ecx, [esp + 0x4c]
push ecx
push eax
call fcn.102d6930
add esp, 0xc
test eax, eax
jne 0x102d5aef
cmp dword [esi + 0x18], 3
lea eax, [esi + 0x10]
jne 0x102d5a7c
movsd xmm0, qword [eax]
movsd qword [esp + 0x120], xmm0
jmp 0x102d5a9e
lea ecx, [esp + 0x120]
push ecx
push eax
call fcn.102d6a30
add esp, 8
test eax, eax
je 0x102d5b55
movsd xmm0, qword [esp + 0x120]
comisd xmm0, xmmword [esp + 0x28]
jbe 0x102d5acd
or ecx, 0xffffffff
mov edx, 0x7fffffff
cmp dword [esp + 0x18], 0
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], edx
jg 0x102d5af7
jl 0x102d5ac6
cmp dword [esp + 0x10], 0
jae 0x102d5af7
mov eax, 1
jmp 0x102d5aff
xor ecx, ecx
mov edx, 0x80000000
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], edx
cmp dword [esp + 0x18], ecx
jl 0x102d5afd
jg 0x102d5ac6
cmp dword [esp + 0x10], ecx
jb 0x102d5afd
lea eax, [ecx + 1]
jmp 0x102d5aff
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x14]
jmp 0x102d5aff
mov eax, ecx
test eax, eax
je 0x102d5b1e
xorps xmm0, xmm0
movlpd qword [esp + 0x30], xmm0
mov eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x18], eax
jmp 0x102d5b2b
mov eax, dword [esi]
mov dword [esp + 0x18], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
mov dword [esi + 0x10], ecx
mov ecx, dword [esp + 0x18]
mov dword [esi + 0x14], edx
mov dword [esi + 0x18], 0x13
sub ecx, dword [esi + 0x20]
sbb eax, dword [esi + 0x24]
mov dword [esi + 4], eax
mov eax, 0x13
mov dword [esi], ecx
jmp 0x102d5c31
lea eax, [esi + 0x10]
cmp dword [eax + 8], 3
jne 0x102d5b6d
movsd xmm0, qword [eax]
movsd qword [esp + 0x128], xmm0
jmp 0x102d5b92
lea ecx, [esp + 0x128]
push ecx
push eax
call fcn.102d6a30
add esp, 8
test eax, eax
je 0x102d60ee
movsd xmm0, qword [esp + 0x128]
lea eax, [esi + 0x10]
movsd qword [eax], xmm0
mov dword [eax + 8], 3
lea eax, [esi + 0x20]
cmp dword [eax + 8], 3
jne 0x102d5bb5
movsd xmm0, qword [eax]
movsd qword [esp + 0x130], xmm0
jmp 0x102d5bda
lea ecx, [esp + 0x130]
push ecx
push eax
call fcn.102d6a30
add esp, 8
test eax, eax
je 0x102d60e1
movsd xmm0, qword [esp + 0x130]
lea eax, [esi + 0x20]
movsd qword [eax], xmm0
mov dword [eax + 8], 3
cmp dword [esi + 8], 3
movsd qword [esp + 0x30], xmm0
jne 0x102d5c00
movsd xmm0, qword [esi]
movsd qword [esp + 0x138], xmm0
jmp 0x102d5c22
lea eax, [esp + 0x138]
push eax
push esi
call fcn.102d6a30
add esp, 8
test eax, eax
je 0x102d60d4
movsd xmm0, qword [esp + 0x138]
subsd xmm0, qword [esp + 0x30]
mov eax, 3
movsd qword [esi], xmm0
movsd xmm3, qword [esp + 0x28]
mov ecx, dword [ebp + 8]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0xc]
shr eax, 0xe
lea eax, [eax*4 - 0x7fffc]
add dword [esi + 0x14], eax
jmp 0x102d3d6e
movups xmm0, xmmword [esi + 0x20]
lea ecx, [esi + 0x30]
shr edx, 0xe
and edx, 0x1ff
lea eax, [ecx + 0x30]
movups xmmword [ecx + 0x20], xmm0
push edx
movups xmm0, xmmword [esi + 0x10]
push ecx
movups xmmword [ecx + 0x10], xmm0
movups xmm0, xmmword [esi]
mov esi, dword [ebp + 8]
push esi
movups xmmword [ecx], xmm0
mov dword [esi + 0xc], eax
call fcn.102ca1a0
mov esi, dword [esp + 0x18]
add esp, 0xc
mov ecx, dword [ebp + 8]
mov edi, dword [esi + 0x10]
mov eax, dword [esi + 4]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x14]
mov dword [esp + 0x20], edi
mov edx, dword [eax]
add eax, 4
mov dword [esi + 0x14], eax
mov eax, edx
shr eax, 6
movzx esi, al
shl esi, 4
add esi, edi
cmp dword [esi + 0x18], 0
movsd xmm3, qword [esp + 0x28]
je case.default.0x102d3dc4
movups xmm0, xmmword [esi + 0x10]
shr edx, 0xe
movups xmmword [esi], xmm0
mov esi, dword [esp + 0xc]
lea eax, [edx*4 - 0x7fffc]
add dword [esi + 0x14], eax
jmp 0x102d3d6e
mov ecx, edx
shr edx, 0xe
shr ecx, 0x17
and edx, 0x1ff
mov dword [esp + 0x1c], ecx
test ecx, ecx
jne 0x102d5d0c
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0xc]
sub ecx, esi
sar ecx, 4
dec ecx
mov dword [esp + 0x1c], ecx
test edx, edx
jne 0x102d5d2a
mov eax, dword [esp + 0xc]
mov edi, dword [esp + 0xc]
mov eax, dword [eax + 0x14]
mov edx, dword [eax]
shr edx, 6
add eax, 4
mov dword [edi + 0x14], eax
mov edi, dword [esp + 0x20]
mov eax, dword [esi]
mov dword [esp + 0x14], eax
imul eax, edx, 0x32
mov edx, dword [esp + 0x14]
add eax, 0xffffffce
add eax, ecx
mov dword [esp + 0x10], eax
cmp eax, dword [edx + 8]
jbe 0x102d5d5e
push eax
push edx
push dword [ebp + 8]
call fcn.102d28d0
mov ecx, dword [esp + 0x28]
add esp, 0xc
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
test ecx, ecx
jle 0x102d5dc0
mov edi, ecx
shl edi, 4
add edi, esi
mov esi, dword [ebp + 8]
nop dword [eax]
push edi
push 0
push eax
push edx
push esi
call fcn.102d29d0
dec dword [esp + 0x24]
add esp, 0x14
test byte [edi + 8], 0x40
mov edx, dword [esp + 0x14]
je 0x102d5da8
test byte [edx + 5], 4
je 0x102d5da8
mov eax, dword [edi]
test byte [eax + 5], 3
je 0x102d5da8
push edx
push esi
call fcn.102cffb0
mov edx, dword [esp + 0x1c]
add esp, 8
mov eax, dword [esp + 0x1c]
sub edi, 0x10
dec eax
mov dword [esp + 0x1c], eax
test eax, eax
mov eax, dword [esp + 0x10]
jg 0x102d5d70
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0xc]
mov ecx, dword [ebp + 8]
movsd xmm3, qword [esp + 0x28]
mov eax, dword [esi + 4]
mov dword [ecx + 0xc], eax
jmp 0x102d3d6e
mov eax, dword [esp + 0x3c]
shr edx, 0xe
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x34]
mov ecx, dword [eax + edx*4]
mov dword [esp + 0x10], ecx
mov eax, dword [ecx + 0x44]
mov dword [esp + 0x40], eax
test eax, eax
je 0x102d5e70
cmp dword [ecx + 0xc], 0
mov edx, dword [ecx + 0x40]
mov dword [esp + 0x18], 0
jle 0x102d5e5e
add eax, 0x10
add edx, 5
mov dword [esp + 0x14], eax
cmp byte [edx - 1], 0
movzx ecx, byte [edx]
je 0x102d5e22
shl ecx, 4
add ecx, edi
jmp 0x102d5e30
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + ecx*4 + 0x10]
mov ecx, dword [eax]
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
cmp dword [eax], ecx
jne 0x102d5e6c
mov edi, dword [esp + 0x10]
add edx, 8
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
inc ecx
add eax, 4
mov dword [esp + 0x18], ecx
cmp ecx, dword [edi + 0xc]
mov edi, dword [esp + 0x20]
mov dword [esp + 0x14], eax
jl 0x102d5e12
mov eax, dword [esp + 0x40]
mov dword [esi], eax
mov dword [esi + 8], 0x46
jmp 0x102d413b
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x40]
push eax
push dword [ebp + 8]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x48], ecx
call fcn.102cf9c0
mov ecx, dword [esp + 0x18]
add esp, 8
cmp dword [esp + 0x14], 0
mov dword [esp + 0x30], eax
mov dword [eax + 0xc], ecx
mov dword [esi], eax
mov dword [esi + 8], 0x46
jle 0x102d5f14
mov ecx, dword [esp + 0x40]
lea edx, [eax + 0x10]
mov esi, dword [ebp + 8]
add ecx, 5
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], ecx
nop word [eax + eax]
cmp byte [ecx - 1], 0
movzx eax, byte [ecx]
je 0x102d5ee2
shl eax, 4
add eax, edi
push eax
push esi
call fcn.102cf800
mov ecx, dword [esp + 0x24]
add esp, 8
mov edx, dword [esp + 0x18]
jmp 0x102d5eee
mov edi, dword [esp + 0x3c]
mov eax, dword [edi + eax*4 + 0x10]
mov edi, dword [esp + 0x20]
mov dword [edx], eax
add ecx, 8
inc dword [eax + 4]
add edx, 4
sub dword [esp + 0x14], 1
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], ecx
jne 0x102d5ec0
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x10]
test byte [ecx + 5], 4
jne 0x102d413b
mov dword [ecx + 0x44], eax
jmp 0x102d413b
mov eax, dword [esp + 0xc]
mov ecx, edi
shr edx, 0x17
sub ecx, dword [eax]
mov eax, dword [esp + 0x3c]
sar ecx, 4
mov eax, dword [eax + 0xc]
movzx eax, byte [eax + 6]
sub ecx, eax
lea eax, [ecx - 1]
xor ecx, ecx
test eax, eax
cmovns ecx, eax
sub edx, 1
mov dword [esp + 0x10], ecx
jns 0x102d5f98
mov edx, ecx
mov ecx, dword [ebp + 8]
mov esi, edx
mov dword [esp + 0x1c], edx
mov eax, dword [ecx + 0x1c]
sub eax, dword [ecx + 0xc]
sar eax, 4
cmp eax, esi
jg 0x102d5f7b
push esi
push ecx
call fcn.102ca280
mov ecx, dword [ebp + 8]
add esp, 8
mov edx, esi
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x18]
mov edi, dword [eax + 0x10]
add esi, edi
mov eax, dword [esp + 0x10]
shl eax, 4
add eax, esi
mov dword [esp + 0x20], edi
mov dword [ecx + 0xc], eax
movsd xmm3, qword [esp + 0x28]
xor ecx, ecx
test edx, edx
jle 0x102d3d67
mov dword [esp + 0x18], esi
nop dword [eax]
cmp ecx, dword [esp + 0x10]
jge 0x102d5fe0
mov eax, ecx
inc ecx
sub eax, dword [esp + 0x10]
add eax, eax
movups xmm0, xmmword [edi + eax*8]
mov eax, dword [esp + 0x18]
movups xmmword [eax], xmm0
add eax, 0x10
mov dword [esp + 0x18], eax
cmp ecx, edx
jl 0x102d5fb0
movsd xmm3, qword [esp + 0x28]
jmp 0x102d3d67
movsd xmm3, qword [esp + 0x28]
cmp ecx, edx
jge 0x102d3d67
mov eax, ecx
shl eax, 4
add eax, 8
add eax, esi
sub edx, ecx
nop word [eax + eax]
mov dword [eax], 0
lea eax, [eax + 0x10]
sub edx, 1
jne 0x102d6000
movsd xmm3, qword [esp + 0x28]
jmp 0x102d3d67
mov edi, dword [ecx + 0x14]
movsd xmm3, qword [esp + 0x28]
jmp 0x102d3d34
mov eax, dword [esp + 0x3c]
shr edx, 0x17
mov dword [esp + 0x1c], edx
mov eax, dword [eax + 0xc]
cmp dword [eax + 0x1c], 0
jle 0x102d6049
push edi
push ecx
call fcn.102cf7a0
mov edx, dword [esp + 0x24]
add esp, 8
mov eax, dword [ebp + 8]
test edx, edx
je 0x102d6053
dec edx
jmp 0x102d605b
mov edx, dword [eax + 0xc]
sub edx, esi
sar edx, 4
push edx
push esi
mov esi, dword [esp + 0x14]
push esi
push eax
call fcn.102ca480
add esp, 0x10
test byte [esi + 0x22], 8
jne 0x102d6094
mov ecx, dword [ebp + 8]
movsd xmm3, qword [esp + 0x28]
mov edi, dword [ecx + 0x14]
mov dword [esp + 0xc], edi
test eax, eax
je 0x102d3d40
mov eax, dword [edi + 4]
mov dword [ecx + 0xc], eax
jmp 0x102d3d40
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.get_length_of
push edi
push dword [ebp + 8]
call fcn.102cf340
push str.attempt_to_perform_n__0
push ecx
call fcn.102cf1a0
push str.attempt_to_divide_by_zero
push ecx
call fcn.102cf1a0
push esi
push edi
push dword [ebp + 8]
call fcn.102cf130
push edi
push dword [esp + 0x14]
push esi
call fcn.102cf130
push str.for_initial_value_must_be_a_number
push dword [ebp + 8]
call fcn.102cf1a0
push str.for_step_must_be_a_number
push dword [ebp + 8]
call fcn.102cf1a0
push str.for_limit_must_be_a_number
push dword [ebp + 8]
call fcn.102cf1a0
nop
retf