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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10255510
mov eax, dword fs:[0]
push eax
sub esp, 0xf8
push ebx
push esi
push edi
mov eax, dword [section..data]
xor eax, esp
push eax
lea eax, [esp + 0x108]
mov dword fs:[0], eax
mov edi, ecx
mov dword [esp + 0x90], edi
mov eax, dword [ebp + 0x2c]
mov esi, dword [ebp + 0x10]
mov ebx, dword [ebp + 0x14]
mov dword [esp + 0xa0], eax
mov eax, dword [ebp + 8]
sub esi, eax
mov dword [esp + 0x7c], eax
mov eax, dword [ebp + 0xc]
sub ebx, eax
mov dword [esp + 0x44], esi
mov dword [esp + 0x80], eax
mov dword [esp + 0x58], ebx
cmp esi, 4
jle 0x100c4b72
cmp ebx, 4
jle 0x100c4b72
xor ecx, ecx
mov dword [esp + 0x2c], 0x10040f2c
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x110], ecx
mov eax, dword [edi + 4]
test eax, eax
jne 0x100c42e5
mov eax, ecx
jmp 0x100c42e8
mov eax, dword [eax + 4]
push eax
call dword [0x102ab054]
push eax
lea ecx, [esp + 0x30]
call fcn.10273aed
test eax, eax
je 0x100c4b61
and dword [esp + 0x54], 0
mov dword [esp + 0x50], 0x10005fc8
mov byte [esp + 0x110], 1
mov eax, dword [edi + 4]
push ebx
push esi
push dword [eax + 4]
call dword [0x102ab098]
push eax
lea ecx, [esp + 0x54]
call fcn.10274d53
test eax, eax
je 0x100c4b48
push dword [esp + 0x54]
push dword [esp + 0x34]
call fcn.10273c3c
mov ecx, eax
xor eax, eax
test ecx, ecx
mov dword [esp + 0xac], ecx
setne al
test eax, eax
jne 0x100c435c
call fcn.1021f333
lea eax, [esp + 0x48]
mov dword [esp + 0xbc], esi
push eax
lea eax, [esp + 0xc0]
mov dword [esp + 0xc4], ebx
push eax
call fcn.100c26f0
mov dword [esp + 0xb8], eax
test eax, eax
je 0x100c4b48
cmp dword [esp + 0x48], 0
je 0x100c4b48
push eax
push dword [esp + 0x34]
call dword [0x102ab05c]
mov eax, dword [edi + 4]
test eax, eax
je 0x100c43ab
mov eax, dword [eax + 4]
push 0xcc0020
push dword [ebp + 0xc]
push dword [ebp + 8]
push eax
push ebx
push esi
push 0
push 0
push dword [esp + 0x50]
call dword [0x102ab0a0]
mov eax, dword [esp + 0x80]
neg eax
push eax
mov eax, dword [esp + 0x80]
neg eax
push eax
lea eax, [ebp + 8]
push eax
call dword [0x102ababc]
mov eax, dword [ebp + 0x10]
add eax, dword [ebp + 8]
fild dword [ebp + 0x24]
cdq
sub eax, edx
mov ecx, dword [ebp + 0x18]
sar eax, 1
mov dword [esp + 0x4c], eax
mov eax, dword [ebp + 0x14]
add eax, dword [ebp + 0xc]
fstp qword [esp + 0x84]
fld qword [esp + 0x84]
fmul qword [0x100420e0]
cdq
sub eax, edx
mov edx, dword [ebp + 0x1c]
sar eax, 1
mov dword [esp + 0x68], eax
fdiv qword [0x100421a0]
movzx eax, cl
mov dword [esp + 0x10], eax
movzx eax, dl
fst qword [esp + 0x84]
fld qword [0x10042110]
fadd st(1)
fst qword [esp + 0xfc]
fild dword [esp + 0x10]
mov dword [esp + 0x10], eax
mov eax, ecx
shr eax, 8
movzx eax, al
fstp qword [esp + 0x14]
fld qword [esp + 0x14]
fst qword [esp + 0xd4]
fild dword [esp + 0x10]
mov dword [esp + 0x10], eax
mov eax, edx
shr eax, 8
movzx eax, al
fstp qword [esp + 0x14]
fld qword [esp + 0x14]
fld qword [0x10041fe8]
fadd st(1), st(0)
fxch st(1)
fsubrp st(2)
fld qword [0x100421c8]
fdiv st(2), st(0)
fld qword [0x100420b8]
fmul st(3), st(0)
fxch st(3)
fstp qword [esp + 0xc4]
fild dword [esp + 0x10]
mov dword [esp + 0x10], eax
fstp qword [esp + 0x14]
fld qword [esp + 0x14]
fst qword [esp + 0xe4]
fild dword [esp + 0x10]
fstp qword [esp + 0x14]
fld qword [esp + 0x14]
fadd st(3)
fsubrp st(1)
fdiv st(1)
fmul st(3)
shr ecx, 0x10
movzx eax, cl
mov dword [esp + 0x10], eax
shr edx, 0x10
fstp qword [esp + 0xf4]
fild dword [esp + 0x10]
movzx eax, dl
mov dword [esp + 0x10], eax
and dword [esp + 0x40], 0
cmp dword [ebp + 0x28], 0
fstp qword [esp + 0x14]
fld qword [esp + 0x14]
fst qword [esp + 0xdc]
fild dword [esp + 0x10]
fstp qword [esp + 0x14]
fld qword [esp + 0x14]
fadd st(3)
fsubrp st(1)
fdivrp st(1)
fmulp st(2)
fxch st(1)
fstp qword [esp + 0xcc]
jle 0x100c4ab6
fld qword [0x10041fb0]
faddp st(2)
fxch st(1)
fst qword [esp + 0x94]
fld qword [0x100421b8]
fldz
jmp 0x100c454e
fxch st(4)
fxch st(2)
fxch st(3)
fxch st(1)
fxch st(2)
fxch st(1)
mov esi, dword [ebp + 0x10]
mov eax, esi
mov ecx, dword [ebp + 0x14]
sub ecx, dword [ebp + 0xc]
sub eax, dword [ebp + 8]
and dword [esp + 0x78], 0
cmp eax, ecx
jl 0x100c4567
mov eax, ecx
sub esi, dword [ebp + 0x14]
sub esi, dword [ebp + 8]
add esi, dword [ebp + 0xc]
cdq
sub eax, edx
mov dword [esp + 0x3c], esi
sar eax, 1
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xa0]
cmp eax, 0xffffffff
je 0x100c470c
cmp dword [esp + 0x40], 0
jne 0x100c470c
fstp st(2)
lea ecx, [esp + 0xb0]
fstp st(0)
fstp st(0)
fstp st(0)
push eax
fstp st(0)
call fcn.10274e59
lea eax, [esp + 0xb0]
mov byte [esp + 0x110], 2
push eax
lea ecx, [esp + 0x30]
call fcn.10273c95
push 8
lea ecx, [esp + 0x30]
mov edi, eax
call fcn.10273c55
mov dword [esp + 0x10], eax
test esi, esi
jne 0x100c45f8
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [esp + 0x40]
call dword [0x102ab0b8]
jmp 0x100c46ae
mov esi, dword [0x102ab0b8]
jle 0x100c4653
mov eax, dword [ebp + 0x14]
push dword [ebp + 0x14]
sub eax, dword [ebp + 0xc]
add eax, dword [ebp + 8]
push eax
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [esp + 0x40]
call esi
push dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
push dword [ebp + 0x10]
sub eax, dword [ebp + 0x14]
push dword [ebp + 0xc]
add eax, dword [ebp + 0xc]
push eax
push dword [esp + 0x40]
call esi
mov eax, dword [ebp + 0x14]
sub eax, dword [ebp + 0xc]
push dword [ebp + 0x14]
cdq
sub eax, edx
mov edx, dword [ebp + 0x10]
mov ecx, eax
mov eax, dword [ebp + 8]
sar ecx, 1
sub edx, ecx
add eax, ecx
push edx
push dword [ebp + 0xc]
push eax
jmp 0x100c46a4
mov eax, dword [ebp + 0x10]
sub eax, dword [ebp + 8]
add eax, dword [ebp + 0xc]
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [esp + 0x40]
call esi
push dword [ebp + 0x14]
mov eax, dword [ebp + 0x14]
push dword [ebp + 0x10]
sub eax, dword [ebp + 0x10]
add eax, dword [ebp + 8]
push eax
push dword [ebp + 8]
push dword [esp + 0x40]
call esi
mov eax, dword [ebp + 0x10]
sub eax, dword [ebp + 8]
cdq
sub eax, edx
mov edx, dword [ebp + 0x14]
mov ecx, eax
mov eax, dword [ebp + 0xc]
sar ecx, 1
sub edx, ecx
add eax, ecx
push edx
push dword [ebp + 0x10]
push eax
push dword [ebp + 8]
push dword [esp + 0x40]
call dword [0x102ab06c]
push edi
lea ecx, [esp + 0x30]
call fcn.10273c95
push dword [esp + 0x10]
lea ecx, [esp + 0x30]
call fcn.10273c95
mov byte [esp + 0x110], 1
lea ecx, [esp + 0xb0]
mov dword [esp + 0xb0], 0x10006198
call fcn.10097cc7
fld qword [0x100421b8]
fldz
fld qword [0x10041fe8]
fld qword [esp + 0x94]
fld qword [esp + 0x84]
fxch st(4)
fxch st(2)
fxch st(3)
fxch st(1)
fxch st(2)
fxch st(1)
fld st(4)
or esi, 0xffffffff
fst qword [esp + 0xa4]
fxch st(3)
mov dword [esp + 0x5c], esi
fcomp st(5)
or edi, esi
fnstsw ax
mov dword [esp + 0x6c], edi
test ah, 0x41
jne 0x100c4af2
fld qword [esp + 0xfc]
mov ecx, 0x168
faddp st(5)
mov dword [esp + 0x10], ecx
fxch st(4)
fmul st(3)
fst qword [esp + 0xec]
fild dword [esp + 0x24]
fstp qword [esp + 0x14]
fld qword [esp + 0x14]
fstp qword [esp + 0x14]
jmp 0x100c476c
fxch st(2)
fxch st(4)
fxch st(1)
fxch st(3)
fxch st(1)
fxch st(2)
fcomp st(2)
fnstsw ax
test ah, 1
jne 0x100c477f
mov eax, dword [esp + 0x78]
mov dword [esp + 0x24], eax
jmp 0x100c4783
mov dword [esp + 0x24], ecx
fild dword [esp + 0x24]
fstp qword [esp + 0x24]
fld qword [esp + 0x24]
fld st(0)
fmul qword [esp + 0xc4]
fadd st(4)
fadd qword [esp + 0xd4]
fcom st(2)
fnstsw ax
test ah, 0x41
je 0x100c47b9
fcom st(5)
fnstsw ax
test ah, 5
jp 0x100c47b9
fstp st(0)
fld st(4)
jmp 0x100c47c6
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x100c47c6
fstp st(0)
fld st(1)
call fcn.10282c5d
fld st(0)
mov byte [esp + 0x22], al
fmul qword [esp + 0xf4]
fadd st(4)
fadd qword [esp + 0xe4]
fcom st(2)
fnstsw ax
test ah, 0x41
je 0x100c47f9
fcom st(5)
fnstsw ax
test ah, 5
jp 0x100c47f9
fstp st(0)
fld st(4)
jmp 0x100c4806
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x100c4806
fstp st(0)
fld st(1)
call fcn.10282c5d
fmul qword [esp + 0xcc]
mov byte [esp + 0x23], al
faddp st(3)
fld qword [esp + 0xdc]
faddp st(3)
fcom st(2)
fnstsw ax
test ah, 5
jnp 0x100c483b
fxch st(3)
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x100c483f
fstp st(2)
fstp st(2)
jmp 0x100c4852
fstp st(3)
jmp 0x100c4841
fstp st(0)
fxch st(2)
fcom st(1)
fnstsw ax
test ah, 5
jp 0x100c4850
fstp st(1)
jmp 0x100c4852
fstp st(0)
call fcn.10282c5d
cmp dword [esp + 0x40], 0
jne 0x100c4869
cmp dword [ebp + 0x20], 0xffffffff
je 0x100c4869
mov ebx, dword [ebp + 0x20]
jmp 0x100c4880
movzx ebx, al
movzx eax, byte [esp + 0x23]
shl ebx, 8
or ebx, eax
movzx eax, byte [esp + 0x22]
shl ebx, 8
or ebx, eax
push ecx
push ecx
fstp qword [esp]
call dword [0x102ab688]
fmul qword [esp + 0x1c]
fldz
faddp st(1)
call fcn.10282c27
fld qword [esp + 0xac]
mov esi, eax
add esi, dword [esp + 0x54]
fstp qword [esp]
call dword [0x102ab684]
fmul qword [esp + 0x1c]
fldz
faddp st(1)
pop ecx
pop ecx
call fcn.10282c27
mov ecx, dword [esp + 0x68]
lea edi, [ecx + eax]
mov eax, dword [esp + 0x3c]
test eax, eax
jle 0x100c4969
fild dword [esp + 0x3c]
cmp esi, dword [esp + 0x4c]
jle 0x100c48ea
fstp qword [esp + 0x6c]
fld qword [esp + 0x6c]
fmul qword [0x10041fe8]
jmp 0x100c48f8
fstp qword [esp + 0x6c]
fld qword [esp + 0x6c]
fmul qword [0x10042208]
call fcn.10282c27
mov edx, dword [esp + 0x5c]
add esi, eax
cmp edx, 0xffffffff
je 0x100c49fa
xor ecx, ecx
cmp esi, dword [esp + 0x4c]
setg cl
xor eax, eax
cmp edx, dword [esp + 0x4c]
setg al
cmp eax, ecx
je 0x100c49fa
cmp esi, edx
jge 0x100c4932
mov eax, esi
mov dword [esp + 0x24], eax
jmp 0x100c4938
mov eax, edx
mov dword [esp + 0x24], edx
cmp esi, edx
jle 0x100c493e
mov edx, esi
cmp eax, edx
jge 0x100c49fa
push ebx
push edi
push eax
push dword [esp + 0x64]
push dword [esp + 0x54]
push dword [esp + 0x5c]
call fcn.100c72c7
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x5c]
inc eax
mov dword [esp + 0x24], eax
jmp 0x100c4938
jns 0x100c49fa
fild dword [esp + 0x3c]
cmp edi, ecx
jle 0x100c4987
fstp qword [esp + 0x5c]
fld qword [esp + 0x5c]
fmul qword [0x10042208]
jmp 0x100c4995
fstp qword [esp + 0x5c]
fld qword [esp + 0x5c]
fmul qword [0x10041fe8]
call fcn.10282c27
mov edx, dword [esp + 0x6c]
add edi, eax
cmp edx, 0xffffffff
je 0x100c49fa
xor ecx, ecx
cmp edi, dword [esp + 0x68]
setg cl
xor eax, eax
cmp edx, dword [esp + 0x68]
setg al
cmp eax, ecx
je 0x100c49fa
cmp edi, edx
jge 0x100c49c7
mov eax, edi
mov dword [esp + 0x24], eax
jmp 0x100c49cd
mov eax, edx
mov dword [esp + 0x24], edx
cmp edi, edx
jle 0x100c49d3
mov edx, edi
cmp eax, edx
jge 0x100c49fa
push ebx
push eax
push esi
push dword [esp + 0x64]
push dword [esp + 0x54]
push dword [esp + 0x5c]
call fcn.100c72c7
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x6c]
inc eax
mov dword [esp + 0x24], eax
jmp 0x100c49cd
push ebx
mov ebx, dword [esp + 0x5c]
push edi
push esi
push ebx
push dword [esp + 0x54]
push dword [esp + 0x5c]
call fcn.100c72c7
fld qword [esp + 0xa4]
fadd qword [0x10041fb0]
mov ecx, dword [esp + 0x10]
inc dword [esp + 0x78]
dec ecx
mov dword [esp + 0x5c], esi
mov dword [esp + 0x6c], edi
fst qword [esp + 0xa4]
fld qword [esp + 0x94]
fcomp st(1)
mov dword [esp + 0x10], ecx
fnstsw ax
fld qword [0x100421b8]
fldz
fld qword [0x10041fe8]
fld qword [esp + 0xec]
test ah, 0x41
je 0x100c4760
fstp st(0)
fstp st(2)
fstp st(2)
fstp st(1)
push 0xffffffffffffffff
push 0xffffffffffffffff
lea eax, [ebp + 8]
fstp st(0)
push eax
call dword [0x102abab8]
fld qword [0x100421b8]
mov edx, dword [esp + 0x40]
fldz
inc edx
fld qword [0x10041fe8]
fld qword [esp + 0x94]
fld qword [esp + 0x84]
mov dword [esp + 0x40], edx
cmp edx, dword [ebp + 0x28]
jl 0x100c4542
mov esi, dword [esp + 0x44]
fstp st(1)
mov edi, dword [esp + 0x90]
fstp st(3)
mov eax, dword [edi + 4]
fstp st(1)
push 0xcc0020
push 0
push 0
push dword [esp + 0x3c]
fstp st(0)
push ebx
push esi
push dword [esp + 0x98]
fstp st(0)
push dword [esp + 0x98]
push dword [eax + 4]
call dword [0x102ab0a0]
mov eax, dword [esp + 0xac]
test eax, eax
jne 0x100c4aff
jmp 0x100c4b02
fstp st(1)
fstp st(1)
fstp st(0)
fstp st(0)
jmp 0x100c4a69
mov eax, dword [eax + 4]
push eax
push dword [esp + 0x34]
call fcn.10273c3c
push dword [esp + 0xb8]
call dword [0x102ab058]
mov byte [esp + 0x110], 0
lea ecx, [esp + 0x50]
mov dword [esp + 0x50], 0x10005fc8
call fcn.10097cc7
or dword [esp + 0x110], 0xffffffff
lea ecx, [esp + 0x2c]
call fcn.10273b6c
xor eax, eax
inc eax
jmp 0x100c4b74
mov byte [esp + 0x110], 0
lea ecx, [esp + 0x50]
mov dword [esp + 0x50], 0x10005fc8
call fcn.10097cc7
or dword [esp + 0x110], 0xffffffff
lea ecx, [esp + 0x2c]
call fcn.10273b6c
xor eax, eax
mov ecx, dword [esp + 0x108]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x28