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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xd8
mov eax, dword [0x1003400c]
xor eax, esp
mov dword [esp + 0xd4], eax
movsd xmm2, qword [0x10031b10]
xorps xmm3, xmm3
push esi
push edi
mov edi, ecx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x48], edi
movsd qword [esp + 0x30], xmm2
movsd qword [esp + 0x50], xmm3
nop dword [eax]
mov eax, dword [edi + 0x14]
mov esi, dword [edi + 0xc]
mov ecx, dword [edi + 0x18]
mov dword [esp + 8], esi
mov eax, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp + 0x58], eax
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 8]
mov dword [esp + 0x2c], eax
jmp 0x1002511d
mov dword [esi + 0xc], eax
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 8]
mov edx, dword [ecx]
mov al, byte [edi + 0x38]
mov dword [esp + 0x1c], ecx
add ecx, 4
mov dword [esp + 0x4c], edx
mov dword [esp + 0xc], ecx
mov byte [esp + 0x1b], al
test al, 0xc
je 0x10025221
mov eax, dword [edi + 0x40]
add eax, 0xffffffff
mov dword [esp + 0x20], eax
mov dword [edi + 0x40], eax
mov al, byte [esp + 0x1b]
je 0x10025158
test al, 4
je 0x10025221
mov esi, dword [edi + 0x18]
mov dword [edi + 0x18], ecx
test al, 8
je 0x10025188
cmp dword [esp + 0x20], 0
jne 0x10025188
mov eax, dword [edi + 0x3c]
mov edx, 3
push 0xffffffffffffffff
mov ecx, edi
mov dword [edi + 0x40], eax
call fcn.1000eee0
mov ecx, dword [esp + 0x10]
add esp, 4
mov al, byte [esp + 0x1b]
test al, 4
je 0x100251fc
mov eax, dword [edi + 0x14]
mov eax, dword [eax + 4]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x20], edx
mov edx, ecx
sub edx, dword [eax + 0xc]
mov eax, dword [eax + 0x14]
sar edx, 2
dec edx
test eax, eax
je 0x100251bb
mov edi, dword [eax + edx*4]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x48]
jmp 0x100251c3
mov dword [esp + 0x14], 0
test edx, edx
je 0x100251e8
cmp ecx, esi
jbe 0x100251e8
test eax, eax
je 0x100251dc
sub esi, dword [esp + 0x20]
sar esi, 2
mov ecx, dword [eax + esi*4 - 4]
jmp 0x100251de
xor ecx, ecx
mov eax, dword [esp + 0x14]
cmp eax, ecx
je 0x100251fc
jmp 0x100251ec
mov eax, dword [esp + 0x14]
push eax
mov edx, 2
mov ecx, edi
call fcn.1000eee0
add esp, 4
cmp byte [edi + 6], 1
je 0x10026751
mov esi, dword [edi + 0xc]
movsd xmm2, qword [esp + 0x30]
movsd xmm3, qword [esp + 0x50]
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0xc]
mov dword [esp + 8], esi
mov eax, edx
shr eax, 6
movzx eax, al
mov dword [esp + 0x10], eax
shl eax, 4
add esi, eax
mov dword [esp + 0x20], eax
mov eax, edx
mov dword [esp + 0x60], esi
and eax, 0x3f
cmp eax, 0x25
ja case.default.0x10025248
jmp dword [eax*4 + 0x1002676c]
mov ecx, dword [esp + 8]
shr edx, 0x17
add edx, edx
mov eax, dword [ecx + edx*8]
mov ecx, dword [ecx + edx*8 + 4]
mov dword [esi + 4], ecx
mov ecx, dword [esp + 8]
mov dword [esi], eax
mov eax, dword [ecx + edx*8 + 0xc]
jmp 0x10025112
shr edx, 0xe
shl edx, 4
add edx, dword [esp + 0x2c]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esi], eax
mov dword [esi + 4], ecx
mov eax, dword [edx + 0xc]
jmp 0x10025112
mov ecx, edx
mov dword [esi + 0xc], 1
and ecx, 0x7fc000
mov eax, edx
shr eax, 0x17
neg ecx
mov dword [esi], eax
sbb ecx, ecx
and ecx, 4
add ecx, 4
add ecx, dword [esp + 0x1c]
jmp case.default.0x10025248
mov eax, dword [esp + 8]
shr edx, 0x17
shl edx, 4
add eax, edx
mov dword [eax + 0xc], 0
sub eax, 0x10
cmp eax, esi
jae 0x100252c2
jmp case.default.0x10025248
mov eax, dword [esp + 0x58]
shr edx, 0x17
mov eax, dword [eax + edx*4 + 0x14]
mov edx, dword [eax + 8]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esi], eax
mov dword [esi + 4], ecx
mov eax, dword [edx + 0xc]
jmp 0x10025112
mov eax, dword [esp + 0x58]
shr edx, 0xe
shl edx, 4
add edx, dword [esp + 0x2c]
mov eax, dword [eax + 0xc]
push esi
push edx
mov dword [esp + 0xa0], eax
lea edx, [esp + 0xa0]
mov dword [esp + 0xac], 5
mov dword [edi + 0x18], ecx
mov ecx, edi
call fcn.10024220
add esp, 8
mov esi, dword [edi + 0xc]
movsd xmm2, qword [esp + 0x30]
movsd xmm3, qword [esp + 0x50]
mov ecx, dword [esp + 0xc]
mov dword [esp + 8], esi
jmp 0x1002511d
mov dword [edi + 0x18], ecx
mov ecx, edx
shr ecx, 0xe
test ecx, 0x100
je 0x10025376
movzx eax, cl
mov ecx, dword [esp + 0x2c]
shl eax, 4
shr edx, 0x17
add ecx, eax
mov eax, dword [esp + 8]
shl edx, 4
push esi
add edx, eax
push ecx
jmp 0x10025324
mov eax, dword [esp + 8]
and ecx, 0x1ff
shl ecx, 4
shr edx, 0x17
add ecx, eax
shl edx, 4
push esi
add edx, eax
push ecx
jmp 0x10025324
mov eax, dword [esp + 0x58]
shr edx, 0xe
shl edx, 4
add edx, dword [esp + 0x2c]
mov eax, dword [eax + 0xc]
push esi
mov dword [edi + 0x18], ecx
mov ecx, edi
push edx
lea edx, [esp + 0xb0]
mov dword [esp + 0xb0], eax
mov dword [esp + 0xbc], 5
call fcn.100243b0
jmp 0x1002532b
mov eax, dword [esp + 0x58]
mov ecx, dword [esi + 4]
shr edx, 0x17
mov eax, dword [eax + edx*4 + 0x14]
mov dword [esp + 0x20], eax
mov edx, dword [eax + 8]
mov eax, dword [esi]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0xc]
mov dword [edx], eax
mov eax, dword [esi + 0xc]
mov dword [edx + 0xc], eax
cmp dword [esi + 0xc], 4
jl case.default.0x10025248
mov eax, dword [esi]
mov esi, dword [esp + 8]
mov dword [esp + 0x10], eax
test byte [eax + 5], 3
je 0x1002511d
mov edx, dword [esp + 0x20]
mov ah, byte [edx + 5]
test ah, 4
je 0x1002511d
mov ecx, dword [edi + 0x10]
cmp byte [ecx + 0x15], 1
jne 0x10025437
mov edx, dword [esp + 0x10]
call fcn.100103d0
jmp 0x10025115
mov al, byte [ecx + 0x14]
and ah, 0xf8
and al, 3
or al, ah
mov byte [edx + 5], al
jmp 0x10025115
mov dword [edi + 0x18], ecx
mov ecx, edx
shr ecx, 0xe
test ecx, 0x100
je 0x1002546b
movzx eax, cl
mov ecx, dword [esp + 0x2c]
shl eax, 4
add ecx, eax
mov eax, dword [esp + 8]
jmp 0x1002547a
mov eax, dword [esp + 8]
and ecx, 0x1ff
shl ecx, 4
add ecx, eax
shr edx, 0x17
test edx, 0x100
je 0x1002549f
movzx eax, dl
mov edx, esi
shl eax, 4
add eax, dword [esp + 0x2c]
push ecx
push eax
mov ecx, edi
call fcn.100243b0
jmp 0x1002532b
shl edx, 4
add eax, edx
mov edx, esi
push ecx
push eax
mov ecx, edi
call fcn.100243b0
jmp 0x1002532b
mov eax, edx
shr edx, 0xe
and edx, 0x1ff
shr eax, 0x17
mov ecx, edx
shr ecx, 3
and ecx, 0x1f
je 0x100254d5
and edx, 7
dec ecx
add edx, 8
shl edx, cl
mov ecx, eax
sar ecx, 3
and ecx, 0x1f
je 0x100254e8
and eax, 7
dec ecx
add eax, 8
shl eax, cl
push edx
mov edx, eax
mov ecx, edi
call fcn.10021d00
add esp, 4
mov dword [esi], eax
mov dword [esi + 0xc], 5
mov ecx, dword [edi + 0x10]
mov eax, dword [esp + 0xc]
mov dword [edi + 0x18], eax
mov eax, dword [ecx + 0x44]
cmp eax, dword [ecx + 0x40]
jb 0x1002532e
mov ecx, edi
call fcn.10011300
jmp 0x1002532e
mov ecx, dword [esp + 8]
mov eax, edx
shr eax, 0x17
shl eax, 4
add ecx, eax
shr edx, 0xe
mov dword [esp + 0x20], ecx
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x14], ecx
mov ecx, dword [esp + 0x20]
mov dword [esi + 0x10], eax
mov eax, dword [ecx + 0xc]
mov dword [esi + 0x1c], eax
mov eax, dword [esp + 0xc]
mov dword [edi + 0x18], eax
test edx, 0x100
je 0x1002556c
movzx eax, dl
mov edx, ecx
shl eax, 4
add eax, dword [esp + 0x2c]
push esi
push eax
jmp 0x10025324
mov eax, dword [esp + 8]
and edx, 0x1ff
shl edx, 4
add eax, edx
mov edx, ecx
push esi
push eax
jmp 0x10025324
mov eax, edx
shr eax, 0x17
test eax, 0x100
je 0x100255a4
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x2c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 8]
jmp 0x100255b7
shl eax, 4
mov dword [esp + 0x20], eax
mov edi, eax
mov eax, dword [esp + 8]
add edi, eax
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x48]
shr edx, 0xe
test edx, 0x100
je 0x100255d2
movzx eax, dl
shl eax, 4
add eax, dword [esp + 0x2c]
jmp 0x100255dd
and edx, 0x1ff
shl edx, 4
add eax, edx
mov edx, dword [esp + 0x10]
cmp dword [edx + 0xc], 3
jne 0x10025605
cmp dword [eax + 0xc], 3
jne 0x10025605
movsd xmm0, qword [eax]
addsd xmm0, qword [edx]
mov dword [esi + 0xc], 3
movsd qword [esi], xmm0
jmp case.default.0x10025248
push 5
push eax
mov dword [edi + 0x18], ecx
mov ecx, edi
push edx
mov edx, esi
call fcn.10024e20
add esp, 0xc
jmp 0x1002532e
mov eax, edx
shr eax, 0x17
test eax, 0x100
je 0x1002563d
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x2c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 8]
jmp 0x10025650
shl eax, 4
mov dword [esp + 0x20], eax
mov edi, eax
mov eax, dword [esp + 8]
add edi, eax
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x48]
shr edx, 0xe
test edx, 0x100
je 0x1002566b
movzx eax, dl
shl eax, 4
add eax, dword [esp + 0x2c]
jmp 0x10025676
and edx, 0x1ff
shl edx, 4
add eax, edx
mov edx, dword [esp + 0x10]
cmp dword [edx + 0xc], 3
jne 0x1002569e
cmp dword [eax + 0xc], 3
jne 0x1002569e
movsd xmm0, qword [edx]
subsd xmm0, qword [eax]
mov dword [esi + 0xc], 3
movsd qword [esi], xmm0
jmp case.default.0x10025248
push 6
push eax
mov dword [edi + 0x18], ecx
mov ecx, edi
push edx
mov edx, esi
call fcn.10024e20
add esp, 0xc
jmp 0x1002532e
mov eax, edx
shr eax, 0x17
test eax, 0x100
je 0x100256d6
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x2c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 8]
jmp 0x100256e9
shl eax, 4
mov dword [esp + 0x20], eax
mov edi, eax
mov eax, dword [esp + 8]
add edi, eax
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x48]
shr edx, 0xe
test edx, 0x100
je 0x10025704
movzx eax, dl
shl eax, 4
add eax, dword [esp + 0x2c]
jmp 0x1002570f
and edx, 0x1ff
shl edx, 4
add eax, edx
mov edx, dword [esp + 0x10]
cmp dword [edx + 0xc], 3
jne 0x10025737
cmp dword [eax + 0xc], 3
jne 0x10025737
movsd xmm0, qword [eax]
mulsd xmm0, qword [edx]
mov dword [esi + 0xc], 3
movsd qword [esi], xmm0
jmp case.default.0x10025248
push 7
push eax
mov dword [edi + 0x18], ecx
mov ecx, edi
push edx
mov edx, esi
call fcn.10024e20
add esp, 0xc
jmp 0x1002532e
mov eax, edx
shr eax, 0x17
test eax, 0x100
je 0x1002576f
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x2c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 8]
jmp 0x10025782
shl eax, 4
mov dword [esp + 0x20], eax
mov edi, eax
mov eax, dword [esp + 8]
add edi, eax
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x48]
shr edx, 0xe
test edx, 0x100
je 0x1002579d
movzx eax, dl
shl eax, 4
add eax, dword [esp + 0x2c]
jmp 0x100257a8
and edx, 0x1ff
shl edx, 4
add eax, edx
mov edx, dword [esp + 0x10]
cmp dword [edx + 0xc], 3
jne 0x100257d0
cmp dword [eax + 0xc], 3
jne 0x100257d0
movsd xmm0, qword [edx]
divsd xmm0, qword [eax]
mov dword [esi + 0xc], 3
movsd qword [esi], xmm0
jmp case.default.0x10025248
push 8
push eax
mov dword [edi + 0x18], ecx
mov ecx, edi
push edx
mov edx, esi
call fcn.10024e20
add esp, 0xc
jmp 0x1002532e
mov eax, edx
shr eax, 0x17
test eax, 0x100
je 0x10025808
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x2c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 8]
jmp 0x1002581b
shl eax, 4
mov dword [esp + 0x20], eax
mov edi, eax
mov eax, dword [esp + 8]
add edi, eax
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x48]
shr edx, 0xe
test edx, 0x100
je 0x10025836
movzx eax, dl
shl eax, 4
add eax, dword [esp + 0x2c]
jmp 0x10025841
and edx, 0x1ff
shl edx, 4
add eax, edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x14], eax
cmp dword [edx + 0xc], 3
jne 0x100258b3
cmp dword [eax + 0xc], 3
jne 0x100258b3
movsd xmm0, qword [edx]
sub esp, 8
movsd qword [esp + 0x28], xmm0
divsd xmm0, qword [eax]
movsd qword [esp + 0x68], xmm0
fld qword [esp + 0x68]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
mov eax, dword [esp + 0x1c]
add esp, 8
movsd xmm1, qword [esp + 0x20]
fstp qword [esp + 0x60]
movsd xmm0, qword [esp + 0x60]
mulsd xmm0, qword [eax]
subsd xmm1, xmm0
movsd qword [esi], xmm1
movsd xmm2, qword [esp + 0x30]
movsd xmm3, qword [esp + 0x50]
mov dword [esi + 0xc], 3
jmp 0x10025115
push 9
push eax
mov dword [edi + 0x18], ecx
mov ecx, edi
push edx
mov edx, esi
call fcn.10024e20
add esp, 0xc
jmp 0x1002532e
mov eax, edx
shr eax, 0x17
test eax, 0x100
je 0x100258eb
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x2c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 8]
jmp 0x100258fe
shl eax, 4
mov dword [esp + 0x20], eax
mov edi, eax
mov eax, dword [esp + 8]
add edi, eax
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x48]
shr edx, 0xe
test edx, 0x100
je 0x10025919
movzx eax, dl
shl eax, 4
add eax, dword [esp + 0x2c]
jmp 0x10025924
and edx, 0x1ff
shl edx, 4
add eax, edx
mov edx, dword [esp + 0x10]
cmp dword [edx + 0xc], 3
jne 0x1002594a
cmp dword [eax + 0xc], 3
jne 0x1002594a
movsd xmm0, qword [edx]
movsd xmm1, qword [eax]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_pow_precise
movsd qword [esi], xmm0
jmp 0x1002589b
push 0xa
push eax
mov dword [edi + 0x18], ecx
mov ecx, edi
push edx
mov edx, esi
call fcn.10024e20
add esp, 0xc
jmp 0x1002532e
mov eax, dword [esp + 8]
shr edx, 0x17
shl edx, 4
add eax, edx
mov dword [esp + 0x14], eax
cmp dword [eax + 0xc], 3
jne 0x1002598f
movsd xmm0, qword [eax]
xorps xmm0, xmm2
mov dword [esi + 0xc], 3
movsd qword [esi], xmm0
jmp case.default.0x10025248
mov dword [edi + 0x18], ecx
mov ecx, dword [eax + 0xc]
cmp ecx, 3
jne 0x1002599e
mov ecx, eax
jmp 0x10025a12
cmp ecx, 4
jne 0x10025a3e
mov ecx, dword [eax]
lea edx, [esp + 0x68]
add ecx, 0x10
call fcn.10017a10
test eax, eax
mov eax, dword [esp + 0x14]
je 0x10025a3e
movsd xmm0, qword [esp + 0x68]
lea ecx, [esp + 0xb8]
mov edx, dword [eax + 0xc]
movsd qword [esp + 0xb8], xmm0
mov dword [esp + 0xc4], 3
cmp edx, 3
je 0x10025a0c
cmp edx, 4
jne 0x10025a3e
mov dword [esp + 0x20], ecx
lea edx, [esp + 0x88]
mov ecx, dword [eax]
add ecx, 0x10
call fcn.10017a10
test eax, eax
je 0x10025a3a
mov ecx, dword [esp + 0x20]
movsd xmm2, qword [esp + 0x30]
movsd xmm0, qword [ecx]
movsd xmm3, qword [esp + 0x50]
xorps xmm0, xmm2
mov ecx, dword [esp + 0xc]
movsd qword [esi], xmm0
mov dword [esi + 0xc], 3
mov esi, dword [edi + 0xc]
mov dword [esp + 8], esi
jmp 0x1002511d
mov eax, dword [esp + 0x14]
push 0xb
push esi
push eax
mov edx, eax
mov ecx, edi
call fcn.10024650
add esp, 0xc
test eax, eax
jne 0x10025a85
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 0xc]
cmp eax, 3
je 0x10025a74
cmp eax, 4
jne 0x10025a74
mov ecx, dword [esi]
lea edx, [esp + 0x90]
add ecx, 0x10
call fcn.10017a10
push str.perform_arithmetic_on
mov edx, esi
mov ecx, edi
call fcn.1000e9d0
add esp, 4
mov esi, dword [edi + 0xc]
movsd xmm2, qword [esp + 0x30]
movsd xmm3, qword [esp + 0x50]
mov ecx, dword [esp + 0xc]
mov dword [esp + 8], esi
jmp 0x1002511d
mov eax, dword [esp + 8]
shr edx, 0x17
add edx, edx
cmp dword [eax + edx*8 + 0xc], 0
je 0x10025ace
cmp dword [eax + edx*8 + 0xc], 1
jne 0x10025abe
cmp dword [eax + edx*8], 0
je 0x10025ace
xor eax, eax
mov dword [esi + 0xc], 1
mov dword [esi], eax
jmp case.default.0x10025248
mov eax, 1
mov dword [esi], eax
mov dword [esi + 0xc], eax
jmp case.default.0x10025248
mov eax, dword [esp + 8]
shr edx, 0x17
shl edx, 4
add eax, edx
mov dword [esp + 0x20], eax
mov edx, dword [eax + 0xc]
sub edx, 4
je 0x10025b50
sub edx, 1
je 0x10025b31
push 0xc
mov dword [edi + 0x18], ecx
mov edx, eax
push esi
push 0x1002f950
mov ecx, edi
call fcn.10024650
add esp, 0xc
test eax, eax
jne 0x1002532e
mov edx, dword [esp + 0x20]
mov ecx, edi
push str.get_length_of
call fcn.1000e9d0
add esp, 4
jmp 0x1002532e
mov ecx, dword [eax]
call fcn.10022180
mov dword [esi + 0xc], 3
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [esi], xmm0
jmp 0x10025115
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov dword [esi + 0xc], 3
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10031af0]
movsd qword [esi], xmm0
jmp case.default.0x10025248
mov eax, edx
mov dword [edi + 0x18], ecx
shr edx, 0xe
mov ecx, edi
and edx, 0x1ff
shr eax, 0x17
push edx
sub edx, eax
mov dword [esp + 0x14], eax
inc edx
call fcn.10024ac0
mov ecx, dword [edi + 0x10]
add esp, 4
mov eax, dword [ecx + 0x44]
cmp eax, dword [ecx + 0x40]
jb 0x10025bae
mov ecx, edi
call fcn.10011300
mov ecx, dword [esp + 0x10]
mov esi, dword [edi + 0xc]
mov edx, dword [esp + 0x20]
shl ecx, 4
add ecx, esi
mov dword [esp + 0x10], ecx
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [edx + esi], eax
mov eax, dword [esp + 0x10]
mov dword [edx + esi + 4], ecx
mov eax, dword [eax + 0xc]
mov dword [edx + esi + 0xc], eax
jmp 0x10025331
mov ecx, dword [esp + 0x1c]
shr edx, 0xe
add ecx, 0xfff80008
lea ecx, [ecx + edx*4]
jmp case.default.0x10025248
mov eax, edx
shr eax, 0x17
test eax, 0x100
je 0x10025c11
mov esi, dword [esp + 0x2c]
movzx eax, al
shl eax, 4
add esi, eax
mov eax, dword [esp + 8]
jmp 0x10025c20
shl eax, 4
mov dword [esp + 0x20], eax
mov esi, eax
mov eax, dword [esp + 8]
add esi, eax
shr edx, 0xe
test edx, 0x100
je 0x10025c37
movzx eax, dl
mov edx, dword [esp + 0x2c]
shl eax, 4
jmp 0x10025c40
and edx, 0x1ff
shl edx, 4
add edx, eax
mov dword [edi + 0x18], ecx
mov eax, dword [esi + 0xc]
cmp eax, dword [edx + 0xc]
jne 0x10025c65
push edx
mov edx, esi
mov ecx, edi
call fcn.10024a00
add esp, 4
test eax, eax
je 0x10025c65
mov eax, 1
jmp 0x10025c67
xor eax, eax
cmp eax, dword [esp + 0x10]
jne 0x10025c85
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x1c]
mov ecx, dword [eax]
shr ecx, 0xe
add esi, 0xfff80008
lea ecx, [esi + ecx*4]
jmp 0x10025c89
mov ecx, dword [esp + 0xc]
mov esi, dword [edi + 0xc]
add ecx, 4
movsd xmm2, qword [esp + 0x30]
movsd xmm3, qword [esp + 0x50]
mov dword [esp + 8], esi
jmp 0x1002511d
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 8]
mov dword [edi + 0x18], ecx
mov ecx, edx
shr ecx, 0xe
test ecx, 0x100
je 0x10025cc6
movzx ecx, cl
shl ecx, 4
add ecx, esi
jmp 0x10025cd1
and ecx, 0x1ff
shl ecx, 4
add ecx, eax
shr edx, 0x17
test edx, 0x100
je 0x10025ce6
movzx edx, dl
shl edx, 4
add edx, esi
jmp 0x10025ceb
shl edx, 4
add edx, eax
push ecx
mov ecx, edi
call fcn.10024940
add esp, 4
cmp eax, dword [esp + 0x10]
jne 0x10025c85
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x1c]
mov ecx, dword [eax]
shr ecx, 0xe
add esi, 0xfff80008
lea ecx, [esi + ecx*4]
jmp 0x10025c89
mov eax, edx
mov dword [edi + 0x18], ecx
shr eax, 0xe
test eax, 0x100
je 0x10025d3c
mov esi, dword [esp + 0x2c]
movzx eax, al
shl eax, 4
add eax, esi
mov dword [esp + 0x14], eax
mov eax, dword [esp + 8]
jmp 0x10025d58
and eax, 0x1ff
shl eax, 4
mov dword [esp + 0x20], eax
mov esi, eax
mov eax, dword [esp + 8]
add esi, eax
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x2c]
shr edx, 0x17
test edx, 0x100
je 0x10025d6d
movzx eax, dl
shl eax, 4
add esi, eax
jmp 0x10025d72
add edx, edx
lea esi, [eax + edx*8]
mov eax, dword [esp + 0x14]
mov edx, dword [esi + 0xc]
mov edi, dword [esp + 0x48]
cmp edx, dword [eax + 0xc]
je 0x10025d8b
mov ecx, dword [edx*4 + 0x1002fb3c]
jmp 0x10025dfc
cmp edx, 3
jne 0x10025da2
movsd xmm0, qword [eax]
xor edx, edx
comisd xmm0, xmmword [esi]
setae dl
jmp 0x10025e35
cmp edx, 4
jne 0x10025db9
mov edx, dword [eax]
mov ecx, dword [esi]
call fcn.100248c0
xor edx, edx
test eax, eax
setle dl
jmp 0x10025e31
push 0xe
push eax
mov edx, esi
mov ecx, edi
call fcn.10024800
mov edx, eax
add esp, 8
cmp edx, 0xffffffff
jne 0x10025e31
mov edx, dword [esp + 0x14]
mov ecx, edi
push 0xd
push esi
call fcn.10024800
add esp, 8
cmp eax, 0xffffffff
je 0x10025dee
xor edx, edx
test eax, eax
sete dl
jmp 0x10025e31
mov eax, dword [esi + 0xc]
mov ecx, dword [eax*4 + 0x1002fb3c]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0xc]
mov edx, dword [eax*4 + 0x1002fb3c]
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x10025e1f
push ecx
push str.attempt_to_compare_two__s_values
push edi
call fcn.1000eb10
add esp, 0xc
jmp 0x10025e2f
push edx
push ecx
push str.attempt_to_compare__s_with__s
push edi
call fcn.1000eb10
add esp, 0x10
xor edx, edx
mov ecx, dword [esp + 0xc]
cmp edx, dword [esp + 0x10]
jne 0x10025c89
mov ecx, dword [ecx]
mov esi, dword [esp + 0x1c]
shr ecx, 0xe
add esi, 0xfff80008
lea ecx, [esi + ecx*4]
jmp 0x10025c89
mov eax, dword [esi + 0xc]
test eax, eax
je 0x10025e6b
cmp eax, 1
jne 0x10025e67
cmp dword [esi], 0
je 0x10025e6b
xor eax, eax
jmp 0x10025e70
mov eax, 1
shr edx, 0xe
and edx, 0x1ff
cmp eax, edx
je 0x10025e8f
mov ecx, dword [ecx]
mov esi, dword [esp + 0x1c]
shr ecx, 0xe
add esi, 0xfff80008
lea ecx, [esi + ecx*4]
add ecx, 4
jmp case.default.0x10025248
mov eax, edx
shr eax, 0x17
shl eax, 4
mov dword [esp + 0x14], eax
mov eax, dword [esp + 8]
mov edi, dword [esp + 0x14]
mov edi, dword [edi + eax + 0xc]
test edi, edi
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x48]
je 0x10025eda
cmp dword [esp + 0x20], 1
jne 0x10025ed0
mov edi, dword [esp + 0x14]
cmp dword [edi + eax], 0
mov edi, dword [esp + 0x48]
je 0x10025eda
mov dword [esp + 0x10], 0
jmp 0x10025ee2
mov dword [esp + 0x10], 1
shr edx, 0xe
and edx, 0x1ff
cmp dword [esp + 0x10], edx
je 0x10025e8f
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 8]
mov eax, dword [ecx + eax]
mov ecx, dword [ecx + edx + 4]
mov dword [esi], eax
mov eax, dword [esp + 0x14]
mov dword [esi + 4], ecx
mov eax, dword [eax + edx + 0xc]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
jmp 0x10025e7f
mov eax, edx
shr edx, 0xe
and edx, 0x1ff
shr eax, 0x17
dec edx
mov dword [esp + 0x4c], edx
test eax, eax
je 0x10025f3a
shl eax, 4
add eax, esi
mov dword [edi + 8], eax
mov dword [edi + 0x18], ecx
mov ecx, edi
push edx
mov edx, esi
call fcn.1000f230
add esp, 4
sub eax, 0
je 0x10026623
sub eax, 1
jne 0x10026758
mov eax, dword [esp + 0x4c]
test eax, eax
js 0x1002532e
mov eax, dword [edi + 0x14]
mov eax, dword [eax + 8]
mov dword [edi + 8], eax
jmp 0x1002532e
shr edx, 0x17
test edx, edx
je 0x10025f85
shl edx, 4
add edx, esi
mov dword [edi + 8], edx
mov dword [edi + 0x18], ecx
mov edx, esi
push 0xffffffffffffffff
mov ecx, edi
call fcn.1000f230
add esp, 4
sub eax, 0
je 0x10026638
sub eax, 1
jne 0x10026758
jmp 0x1002532e
movsd xmm0, qword [esi + 0x20]
xor eax, eax
comisd xmm0, xmm3
movsd xmm2, qword [esi + 0x10]
movaps xmm1, xmm0
addsd xmm1, qword [esi]
jbe 0x10025fcc
comisd xmm2, xmm1
jmp 0x10025fd0
comisd xmm1, xmm2
movsd xmm2, qword [esp + 0x30]
setae al
test eax, eax
je case.default.0x10025248
mov ecx, dword [esp + 0x1c]
shr edx, 0xe
add ecx, 0xfff80008
movsd qword [esi], xmm1
mov dword [esi + 0xc], 3
movsd qword [esi + 0x30], xmm1
lea ecx, [ecx + edx*4]
mov dword [esi + 0x3c], 3
jmp case.default.0x10025248
lea eax, [esi + 0x20]
mov dword [edi + 0x18], ecx
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0xc]
cmp eax, 3
je 0x1002604f
cmp eax, 4
jne 0x100260c5
mov ecx, dword [esi]
lea edx, [esp + 0x70]
add ecx, 0x10
call fcn.10017a10
test eax, eax
je 0x100260c5
movsd xmm0, qword [esp + 0x70]
movsd qword [esi], xmm0
mov dword [esi + 0xc], 3
mov eax, dword [esi + 0x1c]
cmp eax, 3
je 0x10026085
cmp eax, 4
jne 0x100260d9
mov ecx, dword [esi + 0x10]
lea edx, [esp + 0x78]
add ecx, 0x10
call fcn.10017a10
test eax, eax
je 0x100260d9
movsd xmm0, qword [esp + 0x78]
movsd qword [esi + 0x10], xmm0
mov dword [esi + 0x1c], 3
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0xc]
cmp ecx, 3
je 0x100260fd
cmp ecx, 4
jne 0x100260ed
mov ecx, dword [eax]
lea edx, [esp + 0x80]
add ecx, 0x10
call fcn.10017a10
test eax, eax
je 0x100260ed
mov eax, dword [esp + 0x14]
movsd xmm0, qword [esp + 0x80]
movsd qword [eax], xmm0
mov dword [eax + 0xc], 3
jmp 0x100260fd
push str.for_initial_value_must_be_a_number
push edi
call fcn.1000eb10
mov eax, dword [esp + 0x1c]
add esp, 8
jmp 0x100260fd
push str.for_limit_must_be_a_number
push edi
call fcn.1000eb10
mov eax, dword [esp + 0x1c]
add esp, 8
jmp 0x100260fd
push str.for_step_must_be_a_number
push edi
call fcn.1000eb10
add esp, 8
xor eax, eax
movsd xmm0, qword [esi]
subsd xmm0, qword [eax]
mov ecx, dword [esp + 0x4c]
movsd xmm2, qword [esp + 0x30]
movsd xmm3, qword [esp + 0x50]
mov dword [esi + 0xc], 3
movsd qword [esi], xmm0
mov esi, dword [esp + 0x1c]
shr ecx, 0xe
add esi, 0xfff80008
lea ecx, [esi + ecx*4]
jmp case.default.0x10025248
mov eax, dword [esi + 0x20]
lea edx, [esi + 0x30]
mov ecx, dword [esi + 0x24]
mov dword [edx + 0x20], eax
mov dword [edx + 0x24], ecx
mov eax, dword [esi + 0x2c]
mov dword [edx + 0x2c], eax
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ecx
mov eax, dword [esi + 0x1c]
mov dword [edx + 0x1c], eax
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov ecx, edi
mov eax, dword [esi + 0xc]
mov esi, dword [esp + 0xc]
mov dword [edx + 0xc], eax
lea eax, [edx + 0x30]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x4c]
shr eax, 0xe
and eax, 0x1ff
mov dword [edi + 0x18], esi
push eax
call fcn.1000f710
mov edx, dword [esp + 0x14]
add esp, 4
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x14]
mov dword [esp + 8], ecx
lea edx, [edx + 3]
shl edx, 4
mov eax, dword [eax + 8]
add edx, ecx
mov dword [edi + 8], eax
cmp dword [edx + 0xc], 0
je 0x100261e9
mov eax, dword [edx]
mov ecx, dword [edx + 4]
movsd xmm2, qword [esp + 0x30]
movsd xmm3, qword [esp + 0x50]
mov dword [edx - 0xc], ecx
mov dword [edx - 0x10], eax
mov eax, dword [edx + 0xc]
mov dword [edx - 4], eax
mov ecx, dword [esi]
mov esi, dword [esp + 0x1c]
shr ecx, 0xe
add esi, 0xfff80008
lea ecx, [esi + ecx*4]
add ecx, 4
jmp case.default.0x10025248
mov ecx, dword [esp + 0xc]
movsd xmm2, qword [esp + 0x30]
add ecx, 4
movsd xmm3, qword [esp + 0x50]
jmp case.default.0x10025248
mov eax, edx
shr edx, 0xe
shr eax, 0x17
and edx, 0x1ff
mov dword [esp + 0x4c], eax
test eax, eax
jne 0x1002622d
mov eax, dword [edi + 8]
sub eax, esi
sar eax, 4
dec eax
mov dword [esp + 0x4c], eax
mov eax, dword [edi + 0x14]
mov eax, dword [eax + 8]
mov dword [edi + 8], eax
test edx, edx
jne 0x1002623e
mov edx, dword [ecx]
mov ecx, dword [esp + 0x1c]
add ecx, 8
mov dword [esp + 0xc], ecx
cmp dword [esi + 0xc], 5
jne case.default.0x10025248
mov ecx, dword [esi]
imul eax, edx, 0x32
mov edx, dword [esp + 0x4c]
add edx, 0xffffffce
mov dword [esp + 0x1c], ecx
add edx, eax
mov dword [esp + 0x14], edx
cmp edx, dword [ecx + 0x1c]
jle 0x10026294
cmp dword [ecx + 0x10], 0x1002fbe8
jne 0x10026270
xor eax, eax
jmp 0x1002627e
mov cl, byte [ecx + 7]
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0x1c]
push eax
push edx
mov edx, ecx
mov ecx, edi
call fcn.100218b0
mov ecx, dword [esp + 0x24]
add esp, 8
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x4c]
movsd xmm2, qword [esp + 0x30]
movsd xmm3, qword [esp + 0x50]
test eax, eax
jle 0x10025115
shl eax, 4
add eax, esi
mov dword [esp + 0x20], eax
mov esi, eax
call fcn.10021ef0
cmp eax, 0x1002f950
jne 0x100262f7
movd xmm0, dword [esp + 0x14]
lea eax, [esp + 0xc8]
mov edx, dword [esp + 0x1c]
mov ecx, edi
cvtdq2pd xmm0, xmm0
push eax
mov dword [esp + 0xd8], 3
movsd qword [esp + 0xcc], xmm0
call fcn.10021d80
add esp, 4
mov ecx, dword [esi]
mov edx, dword [esi + 4]
dec dword [esp + 0x14]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov ecx, dword [esi + 0xc]
mov dword [eax + 0xc], ecx
cmp dword [esi + 0xc], 4
jl 0x10026335
mov eax, dword [esi]
test byte [eax + 5], 3
je 0x10026335
mov edx, dword [esp + 0x1c]
mov al, byte [edx + 5]
test al, 4
je 0x10026335
mov ecx, dword [edi + 0x10]
and al, 0xfb
mov byte [edx + 5], al
mov eax, dword [ecx + 0x28]
mov dword [edx + 0x18], eax
mov dword [ecx + 0x28], edx
mov eax, dword [esp + 0x4c]
sub esi, 0x10
mov ecx, dword [esp + 0x1c]
dec eax
mov edx, dword [esp + 0x14]
mov dword [esp + 0x4c], eax
test eax, eax
jg 0x100262b7
movsd xmm2, qword [esp + 0x30]
movsd xmm3, qword [esp + 0x50]
jmp 0x10025115
mov edx, esi
mov ecx, edi
call fcn.10010220
movsd xmm2, qword [esp + 0x30]
movsd xmm3, qword [esp + 0x50]
jmp 0x10025115
mov ecx, dword [esp + 0x58]
shr edx, 0xe
mov eax, dword [ecx + 0x10]
mov esi, dword [ecx + 0xc]
mov ecx, edi
mov eax, dword [eax + 0x10]
mov eax, dword [eax + edx*4]
xor edx, edx
mov dword [esp + 0x4c], eax
mov al, byte [eax + 0x48]
mov byte [esp + 0x1b], al
movzx eax, al
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
lea eax, [eax*4 + 0x14]
push eax
push 0
call fcn.100158c0
mov edx, dword [edi + 0x10]
add esp, 8
mov dword [esp + 0x20], eax
mov ecx, dword [edx + 0x1c]
mov dword [eax], ecx
mov cl, byte [edx + 0x14]
mov dword [edx + 0x1c], eax
and cl, 3
mov edx, dword [esp + 0x14]
mov dword [eax + 0xc], esi
mov esi, dword [esp + 0x20]
mov byte [eax + 5], cl
mov byte [eax + 4], 6
mov byte [eax + 6], 0
mov al, byte [esp + 0x1b]
mov byte [esi + 7], al
test edx, edx
je 0x1002640f
mov ecx, dword [esp + 0x10]
lea eax, [edx + 5]
lea eax, [esi + eax*4]
nop dword [eax + eax]
mov dword [eax - 4], 0
lea eax, [eax - 4]
sub ecx, 1
jne 0x10026400
mov eax, dword [esp + 0x4c]
mov dword [esi + 0x10], eax
test edx, edx
je 0x100264f0
mov eax, dword [esp + 0xc]
lea ecx, [esi + 0x14]
mov dword [esp + 0x1c], ecx
nop dword [eax]
mov eax, dword [eax]
mov esi, eax
and al, 0x3f
shr esi, 0x17
cmp al, 4
jne 0x1002644a
mov eax, dword [esp + 0x58]
mov edx, dword [eax + esi*4 + 0x14]
jmp 0x100264cd
mov edx, dword [edi + 0x68]
lea ecx, [edi + 0x68]
mov eax, dword [edi + 0x10]
shl esi, 4
add esi, dword [esp + 8]
mov dword [esp + 0x10], eax
mov dword [esp + 0x4c], ecx
test edx, edx
je 0x1002647d
cmp dword [edx + 8], esi
jb 0x1002647d
je 0x10026502
mov eax, dword [edx]
mov dword [esp + 0x4c], edx
mov edx, eax
test eax, eax
jne 0x10026466
push 0x20
push 0
xor edx, edx
mov ecx, edi
call fcn.100158c0
mov ecx, dword [esp + 0x18]
mov edx, eax
mov eax, dword [esp + 0x54]
add esp, 8
mov byte [edx + 4], 0xa
mov cl, byte [ecx + 0x14]
mov dword [edx + 8], esi
and cl, 3
mov esi, dword [esp + 0x10]
mov byte [edx + 5], cl
mov ecx, dword [eax]
mov dword [edx], ecx
mov dword [eax], edx
lea ecx, [esi + 0x78]
mov dword [edx + 0x10], ecx
mov eax, dword [esi + 0x8c]
mov dword [edx + 0x14], eax
mov dword [eax + 0x10], edx
mov dword [esi + 0x8c], edx
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0xc]
mov dword [ecx], edx
add eax, 4
add ecx, 4
mov dword [esp + 0xc], eax
sub dword [esp + 0x14], 1
mov dword [esp + 0x1c], ecx
jne 0x10026430
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x60]
mov dword [eax], esi
mov dword [eax + 0xc], 6
jmp 0x100254fe
mov ecx, dword [esp + 0x10]
movzx eax, byte [edx + 5]
movzx ecx, byte [ecx + 0x14]
not ecx
and ecx, eax
test cl, 3
je 0x100264c9
xor byte [edx + 5], 3
jmp 0x100264c9
mov eax, dword [edi + 0x14]
mov dword [esp + 0x10], eax
mov edi, dword [esp + 0x10]
shr edx, 0x17
mov eax, dword [eax]
dec edx
mov dword [esp + 0x4c], edx
sub eax, dword [edi + 4]
mov edi, dword [esp + 0x48]
sar eax, 4
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x58]
mov eax, dword [eax + 0x10]
movzx eax, byte [eax + 0x49]
sub dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
dec eax
mov dword [esp + 0x1c], eax
cmp edx, 0xffffffff
jne 0x100265ad
mov edx, eax
mov dword [edi + 0x18], ecx
mov eax, dword [edi + 0x1c]
sub eax, dword [edi + 8]
shl edx, 4
mov dword [esp + 0x60], edx
cmp eax, edx
jg 0x1002658f
mov ecx, dword [edi + 0x2c]
mov eax, dword [esp + 0x1c]
lea edx, [ecx + ecx]
cmp eax, ecx
jle 0x10026584
lea edx, [ecx + eax]
mov ecx, edi
call fcn.1000ed90
mov ecx, dword [esp + 0xc]
mov eax, dword [edi + 0xc]
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
add esi, eax
mov dword [esp + 8], eax
mov eax, dword [esp + 0x60]
add eax, esi
mov dword [esp + 0x4c], edx
mov dword [edi + 8], eax
movsd xmm2, qword [esp + 0x30]
xor eax, eax
movsd xmm3, qword [esp + 0x50]
mov dword [esp + 0x20], eax
test edx, edx
jle case.default.0x10025248
mov ecx, dword [esp + 0x1c]
mov edi, ecx
neg edi
shl edi, 4
cmp eax, ecx
jge 0x100265f6
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
mov eax, dword [edx + edi]
mov ecx, dword [edx + edi + 4]
mov dword [esi], eax
mov eax, dword [esp + 0x20]
mov dword [esi + 4], ecx
mov ecx, dword [edx + edi + 0xc]
mov edx, dword [esp + 0x4c]
jmp 0x100265f8
xor ecx, ecx
mov dword [esi + 0xc], ecx
inc eax
mov ecx, dword [esp + 0x1c]
add esi, 0x10
add edi, 0x10
mov dword [esp + 0x20], eax
cmp eax, edx
jl 0x100265d2
movsd xmm2, qword [esp + 0x30]
movsd xmm3, qword [esp + 0x50]
mov edi, dword [esp + 0x48]
jmp 0x10025115
inc dword [esp + 0x5c]
movsd xmm2, qword [esp + 0x30]
movsd xmm3, qword [esp + 0x50]
jmp 0x100250f0
cmp dword [edi + 0x68], 0
mov edx, dword [edi + 0x14]
mov dword [esp + 0x14], edx
mov ecx, dword [edx - 0x14]
mov esi, dword [edx + 4]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x60], esi
mov dword [esp + 0x20], ecx
je 0x1002666c
mov edx, dword [edx - 0x18]
mov ecx, edi
call fcn.10010220
mov edx, dword [esp + 0x14]
mov eax, dword [edx - 0x14]
mov dword [esp + 0x20], eax
mov eax, dword [edx]
mov ecx, dword [esp + 0x10]
sub eax, esi
and eax, 0xfffffff0
add eax, dword [esp + 0x20]
mov dword [edx - 0x18], eax
mov dword [edi + 0xc], eax
xor eax, eax
mov dword [esp + 0x20], eax
cmp esi, dword [edi + 8]
jae 0x100266cc
xor edx, edx
nop
mov edi, dword [esp + 0x10]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [edx + edi], eax
mov eax, edi
mov dword [edx + eax + 4], ecx
mov ecx, edi
mov eax, dword [esi + 0xc]
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x60]
mov dword [edx + ecx + 0xc], eax
mov eax, dword [esp + 0x20]
inc eax
mov edx, eax
mov dword [esp + 0x20], eax
shl edx, 4
add esi, edx
cmp esi, dword [edi + 8]
jb 0x10026690
mov edx, dword [esp + 0x14]
movsd xmm2, qword [esp + 0x30]
movsd xmm3, qword [esp + 0x50]
shl eax, 4
add eax, ecx
mov dword [edi + 8], eax
mov dword [edx - 0x10], eax
mov eax, dword [edi + 0x18]
inc dword [edx - 4]
mov dword [edx - 0xc], eax
add dword [edi + 0x14], 0xffffffe8
jmp 0x100250f0
shr edx, 0x17
test edx, edx
je 0x10026707
shl edx, 4
lea eax, [esi - 0x10]
add eax, edx
mov dword [edi + 8], eax
cmp dword [edi + 0x68], 0
je 0x10026718
mov edx, dword [esp + 8]
mov ecx, edi
call fcn.10010220
mov eax, dword [esp + 0xc]
mov edx, esi
mov ecx, edi
mov dword [edi + 0x18], eax
call fcn.1000f570
sub dword [esp + 0x5c], 1
je 0x10026758
movsd xmm2, qword [esp + 0x30]
movsd xmm3, qword [esp + 0x50]
test eax, eax
je 0x100250f0
mov eax, dword [edi + 0x14]
mov eax, dword [eax + 8]
mov dword [edi + 8], eax
jmp 0x100250f0
mov eax, dword [esp + 0x1c]
mov dword [edi + 0x18], eax
mov ecx, dword [esp + 0xdc]
pop edi
pop esi
xor ecx, esp
call fcn.10028b0c
mov esp, ebp
pop ebp
ret