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

Disassembly:
sub esp, 0x60
push ebx
push ebp
push esi
push edi
mov edi, dword [0x1024b4a8]
mov eax, dword [edi + 0x1bac]
mov byte [eax + 0xac], 1
mov eax, dword [edi + 0x1bac]
cmp byte [eax + 0xaf], 0
je 0x100c4e83
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
mov esi, dword [esp + 0x80]
lea ecx, [esp + 0x30]
test esi, esi
mov edx, 0x40
cmove esi, dword [0x1020f220]
push esi
push 0x1027cc38
push 4
call fcn.100c3ab0
add esp, 0xc
xor bl, bl
cmp dword [esp + 0x78], 0
je 0x100c5240
mov eax, dword [0x1024b4a8]
movss xmm0, dword [eax + 0x1564]
addss xmm0, xmm0
addss xmm0, dword [eax + 0x1940]
movss dword [esp + 0x14], xmm0
call fcn.100ae790
mov eax, dword [0x1024b4a8]
xor edx, edx
mov ebp, dword [eax + 0x1bac]
mov eax, dword [ebp + 0xec]
add ebp, 0xe4
mov ecx, dword [ebp]
push dword [eax + ecx*4 - 4]
mov ecx, str.record_to_delete
call fcn.100a21a0
mov ecx, dword [ebp]
add esp, 4
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 4]
cmp ecx, eax
jne 0x100c4f39
inc ecx
test eax, eax
je 0x100c4f27
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp + 4]
jmp 0x100c4f2c
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, ebp
call fcn.100b4ba0
mov ecx, dword [ebp]
mov eax, dword [ebp + 8]
mov edx, dword [esp + 0x18]
mov dword [eax + ecx*4], edx
mov ecx, dword [0x1024b4a8]
inc dword [ebp]
mov edx, dword [ecx + 0x1c34]
mov eax, dword [ecx + 0x1bac]
mov dword [esp + 0x18], edx
test dl, 1
je 0x100c4f6e
movss xmm1, dword [ecx + 0x1c38]
jmp 0x100c4f76
movss xmm1, dword [eax + 0x1c0]
movss xmm3, dword [0x10240668]
xorps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x100c4fb8
cmp dword [eax + 0x1a4], 0
movss xmm0, dword [eax + 0x258]
jne 0x100c4fa0
cmp dword [ecx + 0x1f18], 0
je 0x100c4fa8
movss xmm0, dword [eax + 0x228]
subss xmm0, dword [eax + 0xf0]
addss xmm1, xmm0
maxss xmm1, xmm3
movss xmm2, dword [edi + 0x1578]
xor edx, edx
mov eax, dword [esp + 0x18]
addss xmm2, xmm2
movss xmm0, dword [esp + 0x14]
or eax, 1
mov dword [ecx + 0x1c34], eax
addss xmm0, xmm0
cvttss2si eax, xmm1
push 0
push 0
push 0x8000011
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
addss xmm0, xmm2
movd xmm1, eax
lea eax, [esp + 0x2c]
cvtdq2ps xmm1, xmm1
push eax
lea eax, [esp + 0x40]
push 0x40
push eax
subss xmm1, xmm0
maxss xmm1, xmm3
movss dword [ecx + 0x1c38], xmm1
mov ecx, 0x10219b16
call fcn.100c6f10
add esp, 0x18
test al, al
je 0x100c504e
mov edx, dword [edi + 0x1fd4]
lea ecx, [esp + 0x30]
push esi
push 0x1027cc38
push 4
call fcn.100c3bb0
add esp, 0xc
mov bl, al
movss xmm0, dword [edi + 0x1560]
mov ecx, dword [edi + 0x1564]
movss xmm1, dword [edi + 0x1578]
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [edi + 0x1564]
movss dword [esp + 0x20], xmm0
xorps xmm0, xmm0
mov dword [edi + 0x1560], ecx
call fcn.100ae640
movss xmm1, dword [esp + 0x14]
lea edx, [esp + 0x28]
movaps xmm0, xmm1
movss dword [esp + 0x2c], xmm1
addss xmm0, dword [0x10240768]
push 0x2400
mov ecx, 0x10235bbc
movss dword [esp + 0x1c], xmm0
movss dword [esp + 0x2c], xmm0
call fcn.100c0980
mov esi, dword [esp + 0x80]
add esp, 4
test al, al
je 0x100c5131
cmp byte [edi + 0xfc], 0
je 0x100c50df
test esi, esi
je 0x100c50df
mov ebp, dword [esp + 0x78]
mov edx, esi
jmp 0x100c50e5
mov ebp, dword [esp + 0x78]
mov edx, ebp
mov edx, dword [edx]
mov ecx, dword [0x1027cc38]
test edx, edx
jle 0x100c510a
lea eax, [edx - 0x80000000]
cmp ecx, eax
jge 0x100c5125
mov ecx, 0x80000000
mov bl, 1
mov dword [0x1027cc38], ecx
jmp 0x100c5135
jns 0x100c5125
lea eax, [edx + 0x7fffffff]
cmp ecx, eax
jle 0x100c5125
mov ecx, 0x7fffffff
mov bl, 1
mov dword [0x1027cc38], ecx
jmp 0x100c5135
sub ecx, edx
mov bl, 1
mov dword [0x1027cc38], ecx
jmp 0x100c5135
mov ebp, dword [esp + 0x78]
movss xmm1, dword [edi + 0x1578]
xorps xmm0, xmm0
call fcn.100ae640
movss xmm0, dword [esp + 0x18]
lea edx, [esp + 0x28]
movss xmm4, dword [esp + 0x14]
mov ecx, 0x10235c10
push 0x2400
movss dword [esp + 0x2c], xmm0
movss dword [esp + 0x30], xmm4
call fcn.100c0980
add esp, 4
test al, al
je 0x100c51c0
cmp byte [edi + 0xfc], 0
je 0x100c5184
test esi, esi
jne 0x100c5186
mov esi, ebp
mov ecx, dword [esi]
mov edx, dword [0x1027cc38]
test ecx, ecx
jns 0x100c51a4
mov eax, 0x80000000
sub eax, ecx
cmp edx, eax
jge 0x100c51b6
mov eax, 0x80000000
jmp 0x100c51b9
jle 0x100c51b6
mov eax, 0x7fffffff
sub eax, ecx
cmp edx, eax
mov eax, 0x7fffffff
jg 0x100c51b9
lea eax, [ecx + edx]
mov dword [0x1027cc38], eax
mov bl, 1
mov esi, str.record_to_delete
mov ebp, esi
cmp ebp, 0xffffffff
jae 0x100c520c
nop dword [eax]
mov cl, byte [esi]
test cl, cl
je 0x100c51e6
cmp cl, 0x23
jne 0x100c51e0
cmp byte [esi + 1], cl
je 0x100c51e6
inc esi
cmp esi, 0xffffffff
jb 0x100c51d0
cmp esi, str.record_to_delete
je 0x100c520c
movss xmm1, dword [edi + 0x1578]
xorps xmm0, xmm0
call fcn.100ae640
push 0
mov edx, esi
mov ecx, ebp
call fcn.100bfad0
add esp, 4
movss xmm0, dword [esp + 0x1c]
mov eax, dword [0x1024b4a8]
movss dword [edi + 0x1560], xmm0
movss xmm0, dword [esp + 0x20]
movss dword [edi + 0x1564], xmm0
mov eax, dword [eax + 0x1bac]
dec dword [eax + 0xe4]
call fcn.100ae8c0
jmp 0x100c5294
push 0
push 0
push 0x8000011
lea eax, [esp + 0x34]
mov dword [esp + 0x34], 0
push eax
lea eax, [esp + 0x40]
mov dword [esp + 0x3c], 0
push 0x40
push eax
xor edx, edx
mov ecx, str.record_to_delete
call fcn.100c6f10
add esp, 0x18
test al, al
je 0x100c52ad
mov edx, dword [edi + 0x1fd4]
lea ecx, [esp + 0x30]
push esi
push 0x1027cc38
push 4
call fcn.100c3bb0
add esp, 0xc
mov bl, al
test bl, bl
je 0x100c52ad
mov eax, dword [0x1024b4a8]
or dword [eax + 0x1c50], 4
mov word [eax + 0x1bf0], 0x101
pop edi
pop esi
pop ebp
mov al, bl
pop ebx
add esp, 0x60
ret