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

Disassembly:
push 0xffffffffffffffff
push 0x1019a5d2
mov eax, dword fs:[0]
push eax
sub esp, 0x1b8
push ebx
push ebp
push esi
push edi
mov eax, dword [0x10218460]
xor eax, esp
push eax
lea eax, [esp + 0x1cc]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x1dc]
mov eax, dword [ebp + 0x380]
mov edx, dword [eax + 0x40]
lea ebx, [ebp + 0x380]
mov ecx, ebx
call edx
mov esi, eax
mov eax, dword [ebx]
mov edx, dword [eax + 0x3c]
mov ecx, ebx
call edx
lea ecx, [esp + 0x190]
push ecx
mov ecx, esi
mov edx, eax
call fcn.100745f0
xor edi, edi
push 1
lea ecx, [esp + 0x120]
mov dword [esp + 0x1d8], edi
call fcn.1004bc70
push edi
lea esi, [esp + 0x194]
mov byte [esp + 0x1d8], 1
call fcn.100751a0
push edi
push 3
lea esi, [esp + 0x124]
call fcn.10009380
fldz
push ecx
fstp dword [esp]
mov eax, esi
call fcn.10061260
mov dword [esp + 0x6c], edi
lea edi, [esp + 0x168]
mov esi, ebx
call fcn.1001f8e0
mov ecx, dword [eax + 0x1c]
mov edx, dword [eax + 0x18]
sub ecx, dword [eax + 0x10]
sub edx, dword [eax + 0xc]
mov dword [esp + 0x14], ecx
cmp edx, ecx
mov dword [esp + 0x3c], edx
lea eax, [esp + 0x3c]
jg 0x100c1ddd
lea eax, [esp + 0x14]
mov esi, dword [eax]
lea ecx, [esp + 0x188]
mov dword [esp + 0x4c], esi
mov dword [esp + 0x48], esi
call fcn.10049090
fldz
or edi, 0xffffffff
fstp dword [esp + 0x50]
xor eax, eax
cmp dword [ebp + 0x4dc], eax
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x3c], eax
jle 0x100c2615
mov dword [esp + 0x98], 1
mov dword [esp + 0x38], eax
jmp 0x100c1e34
mov esi, dword [esp + 0x4c]
mov eax, dword [ebp + 0x4cc]
add eax, dword [esp + 0x38]
mov edx, dword [esp + 0x48]
cmp edx, dword [eax + 0xc]
lea ecx, [eax + 0xc]
jge 0x100c1e4e
lea ecx, [esp + 0x48]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x44]
cmp edx, dword [eax + 0x10]
mov dword [esp + 0x48], ecx
lea ecx, [eax + 0x10]
jle 0x100c1e64
lea ecx, [esp + 0x44]
cmp esi, dword [eax + 0x14]
mov ecx, dword [ecx]
mov dword [esp + 0x44], ecx
lea ecx, [eax + 0x14]
jge 0x100c1e76
lea ecx, [esp + 0x4c]
mov edx, dword [ecx]
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x40]
cmp edx, dword [eax + 0x18]
lea ecx, [eax + 0x18]
jle 0x100c1e8c
lea ecx, [esp + 0x40]
mov ecx, dword [ecx]
mov esi, dword [eax + 4]
cmp esi, 0xffffffff
mov edx, dword [ebp + 0x42c]
mov ebx, dword [ebp + 0x3a4]
mov edi, dword [ebp + 0x540]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x194]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x14], ecx
je 0x100c1f14
cmp dword [edi + esi*4], 0xffffffff
jne 0x100c1ed5
lea edx, [esi + esi*8]
lea ecx, [ebx + edx*4]
lea eax, [ebp + 0x28c]
call fcn.100c7ee0
mov dword [edi + esi*4], eax
mov eax, dword [esp + 0x14]
mov byte [esi + eax], 1
mov ecx, dword [edi + esi*4]
mov edx, dword [ebp + 0x2c4]
fld dword [edx + ecx*4]
lea eax, [esi + esi*8]
fadd dword [esp + 0x50]
lea eax, [ebx + eax*4]
lea ecx, [esp + 0x11c]
fstp dword [esp + 0x50]
call fcn.1004bf90
mov ecx, dword [esp + 0x2c]
mov esi, dword [ecx + esi*4]
add dword [esp + 0x6c], 1
cmp esi, 0xffffffff
jne 0x100c1ebb
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x4c]
add edx, 1
push edx
mov edx, dword [esp + 0x4c]
add eax, 1
push eax
push ecx
push edx
lea eax, [esp + 0x178]
call fcn.10049010
mov byte [esp + 0x1d4], 2
mov ebx, dword [esp + 0x184]
sub ebx, dword [esp + 0x178]
mov eax, dword [esp + 0x180]
sub eax, dword [esp + 0x174]
mov dword [esp + 0x14], ebx
fild dword [esp + 0x14]
mov dword [esp + 0x28], eax
imul eax, ebx
fidiv dword [esp + 0x28]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x168]
push eax
lea eax, [esp + 0x194]
mov edi, ebp
fstp dword [esp + 0x30]
fild dword [esp + 0x70]
fstp dword [esp + 0x58]
fld dword [esp + 0x58]
fidiv dword [esp + 0x18]
fstp dword [esp + 0x60]
call fcn.100c1740
lea ecx, [esp + 0xa4]
push ecx
lea edx, [esp + 0xa0]
push edx
lea eax, [esp + 0x28]
push eax
lea eax, [ebp + 0x518]
push eax
lea eax, [ebp + 0x1bc]
push eax
call fcn.100c79c0
fld dword [esp + 0x2c]
push ecx
lea esi, [ebp + 0x1c]
fstp dword [esp]
call fcn.100c72e0
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
call fcn.1018a560
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
push ecx
fstp dword [esp + 0xac]
lea esi, [ebp + 0xe4]
fld dword [esp + 0x60]
fstp dword [esp]
call fcn.100c72e0
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
call fcn.1018a560
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea edi, [esp + 0x168]
fstp dword [esp + 0xa0]
lea eax, [esp + 0x140]
fld dword [esp + 0x9c]
fadd dword [esp + 0xa4]
fmul qword [0x101e9810]
fstp dword [esp + 0x20]
call fcn.10048eb0
mov eax, dword [esp + 0x28]
mov byte [esp + 0x1d4], 3
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x14], eax
cmp eax, ebx
lea eax, [esp + 0x14]
jg 0x100c2071
lea eax, [esp + 0x2c]
mov eax, dword [eax]
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
lea eax, [esp + 0x140]
call fcn.100491b0
lea edi, [esp + 0xac]
lea esi, [esp + 0x1ac]
call fcn.1001f8e0
lea ecx, [esp + 0x140]
push ecx
push eax
lea esi, [esp + 0x78]
call fcn.100bed10
mov edi, eax
lea esi, [esp + 0x140]
call fcn.100490c0
lea ecx, [esp + 0x90]
call fcn.10049090
lea ecx, [esp + 0xcc]
mov dword [esp + 0x90], vtable.ert_RefCounter.0
call fcn.10049090
fldz
xor ebx, ebx
fstp dword [esp + 0x28]
push 1
lea ecx, [esp + 0xfc]
mov dword [esp + 0x28], ebx
call fcn.1004bc70
push ebx
push 3
lea esi, [esp + 0x100]
mov byte [esp + 0x1dc], 4
call fcn.10009380
fldz
push ecx
fstp dword [esp]
mov eax, esi
call fcn.10061260
mov edx, dword [ebp + 0x380]
mov eax, dword [edx + 0x3c]
lea ecx, [ebp + 0x380]
call eax
mov ecx, dword [esp + 0x150]
mov edx, dword [ebp + 0x3a4]
imul eax, ecx
add eax, dword [esp + 0x14c]
lea esi, [eax + eax*8]
lea edx, [edx + esi*4]
mov dword [esp + 0x68], edx
mov edx, dword [ebp + 0x540]
lea edx, [edx + eax*4]
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x194]
add edx, eax
mov eax, dword [esp + 0x15c]
cmp ecx, eax
mov dword [esp + 0x58], edx
jge 0x100c2248
sub eax, ecx
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x14c]
mov eax, dword [esp + 0x158]
cmp ecx, eax
mov edi, dword [esp + 0x68]
mov esi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x58]
jge 0x100c21ef
sub eax, ecx
mov dword [esp + 0x2c], eax
nop
cmp dword [esi], 0xffffffff
jne 0x100c21b4
lea eax, [ebp + 0x28c]
mov ecx, edi
call fcn.100c7ee0
mov dword [esi], eax
cmp byte [ebx], 0
jne 0x100c21df
mov eax, dword [esi]
mov ecx, dword [ebp + 0x2e8]
fld dword [ecx + eax*4]
mov eax, edi
fadd dword [esp + 0x28]
lea ecx, [esp + 0xf8]
fstp dword [esp + 0x28]
call fcn.1004bf90
add dword [esp + 0x24], 1
add edi, 0x24
add ebx, 1
add esi, 4
sub dword [esp + 0x2c], 1
jne 0x100c21a0
mov edx, dword [ebp + 0x380]
mov eax, dword [edx + 0x3c]
lea esi, [ebp + 0x380]
mov ecx, esi
call eax
mov edx, dword [esp + 0x68]
lea ecx, [eax + eax*8]
lea eax, [edx + ecx*4]
mov edx, dword [esi]
mov dword [esp + 0x68], eax
mov eax, dword [edx + 0x3c]
mov ecx, esi
call eax
mov edx, dword [esi]
add dword [esp + 0x58], eax
mov eax, dword [edx + 0x3c]
mov ecx, esi
call eax
sub dword [esp + 0x14], 1
mov ecx, dword [esp + 0x5c]
lea edx, [ecx + eax*4]
mov dword [esp + 0x5c], edx
jne 0x100c217b
xor ebx, ebx
cmp dword [esp + 0x24], ebx
jne 0x100c22e2
fld dword [esp + 0x54]
push ecx
fld1
lea eax, [esp + 0x74]
fdivrp st(1)
lea edi, [esp + 0x120]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
push eax
call fcn.1004c300
mov edi, eax
lea esi, [esp + 0xf8]
mov byte [esp + 0x1d4], 5
call fcn.1004be00
mov byte [esp + 0x1d4], 4
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x70], vtable.ebs_FloatArr.0
mov dword [esp + 0x84], vtable.ebs_FloatArr.1.0
mov edx, dword [ecx + 4]
lea ecx, [esp + 0x8c]
mov dword [esp + edx + 0x88], vtable.ebs_FloatArr.2.0
call fcn.1005e680
cmp byte [esp + 0x81], 0
mov dword [esp + 0x70], vtable.ert_TmplArr_float_.0
je 0x100c22e2
mov eax, dword [esp + 0x74]
cmp eax, ebx
je 0x100c22e2
push eax
call fcn.10178e5d
add esp, 4
cmp dword [esp + 0x24], 1
lea eax, [esp + 0x24]
jg 0x100c22f4
lea eax, [esp + 0x98]
mov eax, dword [eax]
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fld1
fld st(0)
fdivrp st(2)
fxch st(1)
fst qword [esp + 0x5c]
fld dword [esp + 0x54]
fdivp st(2)
fxch st(1)
fstp qword [esp + 0x2c]
fmul dword [esp + 0x28]
fadd qword [0x101e9930]
call fcn.1018a560
fstp qword [esp + 0x14]
fld dword [esp + 0x50]
fmul qword [esp + 0x2c]
fadd qword [0x101e9930]
call fcn.1018a560
fadd qword [esp + 0x14]
mov ecx, dword [ebp + 0x4cc]
mov edx, dword [esp + 0x38]
fstp dword [esp + 0x14]
push ecx
fld dword [esp + 0xa4]
lea eax, [esp + 0x74]
fadd dword [esp + 0xac]
lea edi, [esp + 0xfc]
fadd dword [esp + 0x24]
fadd dword [esp + 0x18]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [ecx + edx + 0x24]
fld qword [esp + 0x60]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push eax
call fcn.1004c300
mov esi, eax
mov byte [esp + 0x1d4], 6
fld qword [esp + 0x2c]
push ecx
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
lea ecx, [esp + 0xb0]
fstp dword [esp]
push ecx
lea edi, [esp + 0x124]
call fcn.1004c300
push esi
lea edx, [esp + 0xd8]
push edx
push eax
mov byte [esp + 0x1e0], 7
call fcn.1004c270
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
mov eax, ecx
call fcn.10065f70
fstp dword [esp + 0x20]
mov eax, dword [ebp + 0x4cc]
fld dword [esp + 0x20]
mov ecx, dword [esp + 0x38]
fstp dword [eax + ecx + 0x28]
mov edx, dword [esp + 0xec]
mov dword [esp + 0xd4], vtable.ebs_FloatArr.0
mov edi, vtable.ebs_FloatArr.1.0
mov dword [esp + 0xe8], edi
mov eax, dword [edx + 4]
mov esi, vtable.ebs_FloatArr.2.0
lea ecx, [esp + 0xf0]
mov dword [esp + eax + 0xec], esi
call fcn.1005e680
cmp byte [esp + 0xe5], 0
mov dword [esp + 0xd4], vtable.ert_TmplArr_float_.0
je 0x100c245b
mov eax, dword [esp + 0xd8]
cmp eax, ebx
je 0x100c245b
push eax
call fcn.10178e5d
add esp, 4
mov byte [esp + 0x1d4], 6
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0xac], vtable.ebs_FloatArr.0
mov dword [esp + 0xc0], edi
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], ebx
mov byte [esp + 0xe5], 0
mov dword [esp + 0xf0], vtable.ert_RefCounter.0
mov edx, dword [ecx + 4]
lea ecx, [esp + 0xc8]
mov dword [esp + edx + 0xc4], esi
call fcn.1005e680
cmp byte [esp + 0xbd], 0
mov dword [esp + 0xac], vtable.ert_TmplArr_float_.0
je 0x100c24e3
mov eax, dword [esp + 0xb0]
cmp eax, ebx
je 0x100c24e3
push eax
call fcn.10178e5d
add esp, 4
mov byte [esp + 0x1d4], 4
mov eax, dword [esp + 0x88]
mov dword [esp + 0x70], vtable.ebs_FloatArr.0
mov dword [esp + 0x84], edi
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], ebx
mov byte [esp + 0xbd], 0
mov dword [esp + 0xc8], vtable.ert_RefCounter.0
mov ecx, dword [eax + 4]
mov dword [esp + ecx + 0x88], esi
lea ecx, [esp + 0x8c]
call fcn.1005e680
cmp byte [esp + 0x81], 0
mov dword [esp + 0x70], vtable.ert_TmplArr_float_.0
je 0x100c2562
mov eax, dword [esp + 0x74]
cmp eax, ebx
je 0x100c2562
push eax
call fcn.10178e5d
add esp, 4
mov byte [esp + 0x1d4], 3
mov edx, dword [esp + 0x110]
mov eax, dword [edx + 4]
mov dword [esp + 0xf8], vtable.ebs_FloatArr.0
mov dword [esp + 0x10c], edi
lea ecx, [esp + 0x114]
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
mov byte [esp + 0x81], 0
mov dword [esp + 0x8c], vtable.ert_RefCounter.0
mov dword [esp + eax + 0x110], esi
call fcn.1005e680
cmp byte [esp + 0x109], 0
je 0x100c25d6
mov eax, dword [esp + 0xfc]
cmp eax, ebx
je 0x100c25d6
push eax
call fcn.10178e5d
add esp, 4
lea ecx, [esp + 0x160]
call fcn.10049090
lea ecx, [esp + 0x188]
mov byte [esp + 0x1d4], 1
call fcn.10049090
mov eax, dword [esp + 0x3c]
add dword [esp + 0x38], 0x30
add eax, 1
cmp eax, dword [ebp + 0x4dc]
mov dword [esp + 0x3c], eax
jl 0x100c1e30
or edi, 0xffffffff
mov byte [esp + 0x1d4], 0
mov ecx, dword [esp + 0x134]
mov edx, dword [ecx + 4]
mov dword [esp + method.ebs_FloatArr.virtual_0], vtable.ebs_FloatArr.0
mov dword [esp + method.ebs_FloatArr.1.virtual_0], vtable.ebs_FloatArr.1.0
lea ecx, [esp + 0x138]
mov dword [esp + edx + method.ebs_FloatArr.2.virtual_0], vtable.ebs_FloatArr.2.0
call fcn.1005e680
cmp byte [esp + 0x12d], 0
je 0x100c2672
mov eax, dword [esp + 0x120]
test eax, eax
je 0x100c2672
push eax
call fcn.10178e5d
add esp, 4
lea eax, [esp + 0x190]
push eax
mov dword [esp + 0x1d8], edi
call fcn.1002ce10
mov ecx, dword [esp + 0x1cc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c4
ret 4