Function at 0x1000d9c0
Capabilities:
Access peb ldr_data

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10170681
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x50
mov eax, dword [0x1019e06c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x44], ecx
mov eax, dword [ebx + 8]
push eax
mov ecx, dword [ebp - 0x44]
add ecx, 8
call fcn.1016ef80
mov ecx, dword [ebx + 0xc]
push ecx
mov ecx, dword [ebp - 0x44]
add ecx, 0x14
call fcn.1016ef80
mov edx, dword [ebp - 0x44]
mov dword [edx + 0x24], 0xd
mov ecx, 0x101fc1a8
call fcn.10003950
movss xmm0, dword [0x101901fc]
divss xmm0, dword [eax + 0x20]
addss xmm0, dword [0x1019029c]
cvttss2si eax, xmm0
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x50]
neg ecx
mov edx, dword [ebp - 0x44]
mov dword [edx + 0x3c], ecx
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 0x4c]
sub edx, 0x2b
mov dword [ebp - 0x4c], edx
cmp dword [ebp - 0x4c], 0x26
ja case.0x1000da7e.5
mov eax, dword [ebp - 0x4c]
movzx ecx, byte [eax + 0x1000dd00]
jmp dword [ecx*4 + 0x1000dcec]
mov ecx, 0x101fc1a8
call fcn.10003950
movss xmm0, dword [0x10190330]
divss xmm0, dword [eax + 0x20]
addss xmm0, dword [0x1019029c]
cvttss2si edx, xmm0
mov eax, dword [ebp - 0x44]
mov dword [eax + 0x38], edx
jmp case.0x1000da7e.5
mov ecx, 0x101fc1a8
call fcn.10003950
movss xmm0, dword [0x10190388]
divss xmm0, dword [eax + 0x20]
addss xmm0, dword [0x1019029c]
cvttss2si ecx, xmm0
mov edx, dword [ebp - 0x44]
mov dword [edx + 0x38], ecx
jmp case.0x1000da7e.5
mov eax, dword [ebp - 0x44]
movss xmm0, dword [0x10190330]
movss dword [eax + 0x28], xmm0
mov ecx, 0x101fc1a8
call fcn.10003950
movss xmm0, dword [0x101901e8]
divss xmm0, dword [eax + 0x20]
addss xmm0, dword [0x1019029c]
cvttss2si ecx, xmm0
mov edx, dword [ebp - 0x44]
mov dword [edx + 0x38], ecx
jmp case.0x1000da7e.5
mov eax, dword [0x101c8640]
mov ecx, dword fs:[0x2c]
mov edx, dword [ecx + eax*4]
mov eax, dword [0x101fd66c]
cmp eax, dword [edx + 4]
jle 0x1000dbc2
push 0x101fd66c
call fcn.100b52f4
add esp, 4
cmp dword [0x101fd66c], 0xffffffff
jne 0x1000dbc2
mov dword [ebp - 4], 0
mov ecx, 0x101fc1b8
call fcn.10003950
mov dword [ebp - 0x58], eax
xor ecx, ecx
mov byte [ebp - 0x45], cl
xor edx, edx
mov byte [ebp - 0x46], dl
xor eax, eax
mov byte [ebp - 0x47], al
movzx ecx, byte [ebp - 0x45]
push ecx
movzx edx, byte [ebp - 0x46]
push edx
movzx eax, byte [ebp - 0x47]
push eax
lea ecx, [ebp - 0x40]
push ecx
call fcn.1000dd30
add esp, 0x10
mov ecx, eax
call fcn.100067c0
mov dword [ebp - 0x54], eax
mov edx, dword [ebp - 0x54]
push edx
mov ecx, dword [ebp - 0x58]
call fcn.1000cc40
mov dword [0x101fd668], eax
mov dword [ebp - 4], 0xffffffff
push 0x101fd66c
call fcn.100b52a3
add esp, 4
mov ecx, dword [0x101fd668]
call fcn.10003100
mov eax, dword [ebp - 0x44]
fstp dword [eax + 0x28]
mov ecx, 0x101fc1a8
call fcn.10003950
movss xmm0, dword [0x101901e8]
divss xmm0, dword [eax + 0x20]
addss xmm0, dword [0x1019029c]
cvttss2si ecx, xmm0
mov edx, dword [ebp - 0x44]
mov dword [edx + 0x38], ecx
jmp 0x1000dc0d
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax + 0x34]
add ecx, 1
mov edx, dword [ebp - 0x44]
mov dword [edx + 0x34], ecx
mov ecx, 0x101fc1a8
call fcn.10003950
movss xmm0, dword [0x101904b8]
divss xmm0, dword [eax + 0x20]
addss xmm0, dword [0x1019029c]
cvttss2si eax, xmm0
mov ecx, dword [ebp - 0x44]
cmp dword [ecx + 0x34], eax
jge 0x1000dc8f
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x34]
jg 0x1000dc4e
mov ecx, dword [ebp - 0x44]
call fcn.1000d8a0
mov edx, dword [ebp - 0x44]
mov eax, dword [edx + 0x34]
cmp eax, dword [ebx + 0x14]
jge 0x1000dc5b
jmp 0x1000dbfe
mov ecx, dword [ebp - 0x44]
call fcn.1000cd70
movzx ecx, al
test ecx, ecx
je 0x1000dc6c
jmp 0x1000dc8f
mov edx, dword [ebp - 0x44]
mov eax, dword [edx + 0x3c]
add eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x44]
cmp eax, dword [ecx + 0x34]
jle 0x1000dc82
jmp 0x1000dbfe
mov ecx, dword [ebp - 0x44]
call fcn.1000f230
jmp 0x1000dbfe
mov edx, dword [ebp - 0x44]
mov eax, dword [edx + 0x3c]
add eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x44]
cmp eax, dword [ecx + 0x34]
jg 0x1000dca8
mov ecx, dword [ebp - 0x44]
call fcn.1000f230
mov ecx, 0x101fc1a8
call fcn.10003950
mov edx, dword [ebp - 0x44]
cvtsi2ss xmm0, dword [edx + 0x34]
mulss xmm0, dword [eax + 0x20]
addss xmm0, dword [ebx + 0x10]
mov eax, dword [ebp - 0x44]
movss dword [eax + 0x2c], xmm0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.100b526a
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x10