Function at 0x10023470
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10032a1b
mov eax, dword fs:[0]
push eax
sub esp, 0x198
mov eax, dword [0x10072170]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x144], ebx
cmp dword [ebx + 0x50], 0
jge 0x10023509
lea eax, [ebp - 0x174]
mov dword [ebp - 0x16c], 0xffffffff
push eax
lea ecx, [ebx + 0x38]
mov dword [ebp - 0x168], 0
mov dword [ebp - 0x164], 0
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x174], 0x80000000
mov dword [ebp - 0x170], 0x1b00b5
call fcn.100256c0
mov eax, dword [ebx + 0x38]
dec eax
mov dword [ebx + 0x50], eax
mov eax, dword [ebx + 0xc]
mov dword [ebx], 0
mov dword [ebx + 0x18], 0
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x20], 0
mov dword [ebx + 0x24], 0
mov dword [ebx + 0x28], 0
test eax, eax
je 0x10023549
push eax
call fcn.100170a0
add esp, 4
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x10023559
push eax
call fcn.100170a0
add esp, 4
xor ecx, ecx
mov dword [ebx + 0xc], 0
xor esi, esi
mov dword [ebx + 0x10], 0
xor edi, edi
mov dword [ebp - 0x114], esi
mov dword [ebp - 0x128], edi
mov dword [ebp - 0x134], ecx
cmp dword [ebx + 0x44], ecx
jle 0x100235fa
xor edx, edx
mov dword [ebp - 0x130], edx
nop dword [eax]
mov eax, dword [ebx + 0x4c]
add eax, edx
mov edx, dword [eax + 0x30]
test edx, edx
jne 0x100235a8
mov dword [eax + 0x30], 0x1006c998
mov edx, 0x1006c998
cmp word [edx], 0
je 0x100235df
nop
movzx eax, word [edx + 2]
test ax, ax
je 0x100235cd
mov ecx, eax
inc esi
movzx eax, word [edx]
inc edi
add edx, 4
sub ecx, eax
add esi, ecx
cmp word [edx], 0
jne 0x100235b0
mov ecx, dword [ebp - 0x134]
mov dword [ebp - 0x128], edi
mov dword [ebp - 0x114], esi
mov edx, dword [ebp - 0x130]
inc ecx
add edx, 0x64
mov dword [ebp - 0x134], ecx
mov dword [ebp - 0x130], edx
cmp ecx, dword [ebx + 0x44]
jl 0x10023590
mov edi, dword [ebx + 4]
test edi, edi
jg 0x10023632
cmp esi, 0xfa0
jle 0x10023610
mov edi, 0x1000
jmp 0x10023632
cmp esi, 0x7d0
jle 0x1002361f
mov edi, 0x800
jmp 0x10023632
cmp esi, 0x3e8
mov edi, 0x200
mov eax, 0x400
cmovg edi, eax
mov eax, dword [ebx + 8]
xorps xmm0, xmm0
push 0x30
mov dword [ebx + 0x14], edi
mov dword [ebx + 0x18], 0
movlpd qword [ebp - 0x180], xmm0
movlpd qword [ebp - 0x178], xmm0
movlpd qword [ebp - 0x170], xmm0
movlpd qword [ebp - 0x160], xmm0
mov dword [ebp - 0x120], eax
call fcn.10017080
mov dword [ebp - 0x124], eax
mov eax, edi
sub eax, dword [ebp - 0x120]
mov dword [ebp - 0x11c], eax
shl eax, 3
push eax
call fcn.10017080
mov ecx, dword [ebp - 0x124]
add esp, 8
test ecx, ecx
je 0x1002370c
test eax, eax
je 0x100236f5
mov edx, dword [ebp - 0x120]
mov dword [ebp - 0x16c], edx
mov edx, dword [ebp - 0x11c]
push edx
push eax
mov dword [ebp - 0x15c], eax
mov eax, 0x8000
sub eax, dword [ebp - 0x120]
push eax
push edx
push ecx
mov dword [ebp - 0x178], edi
mov dword [ebp - 0x174], 0x8000
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x17c], ecx
mov dword [ebp - 0x170], edi
call fcn.1002b7b0
add esp, 0x14
jmp 0x10023733
push ecx
call fcn.100170a0
mov ecx, dword [ebp - 0x17c]
add esp, 4
mov dword [ebp - 0x124], ecx
jmp 0x10023733
test eax, eax
je 0x10023727
push eax
call fcn.100170a0
mov ecx, dword [ebp - 0x17c]
add esp, 4
mov dword [ebp - 0x124], ecx
jmp 0x10023733
mov eax, dword [ebp - 0x17c]
mov dword [ebp - 0x124], eax
xor eax, eax
mov dword [ebp - 0x120], 1
mov dword [ebp - 0x14c], 1
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x1a4], 0
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x19c], eax
mov dword [ebp - 4], eax
mov edi, dword [ebx + 0x38]
mov ecx, edi
test edi, edi
jle 0x100237c3
mov ecx, 8
mov edx, edi
cmp edi, ecx
cmovl edx, ecx
mov ecx, edi
mov dword [ebp - 0x11c], edx
test edx, edx
jle 0x100237c3
mov eax, edx
shl eax, 4
push eax
call fcn.10017080
push 0
mov dword [ebp - 0x118], eax
call fcn.100170a0
mov eax, dword [ebp - 0x118]
add esp, 8
mov ecx, dword [ebp - 0x11c]
mov dword [ebp - 0x19c], eax
mov dword [ebp - 0x1a0], ecx
mov ecx, dword [ebx + 0x38]
shl ecx, 4
push ecx
push 0
push eax
mov dword [ebp - 0x1a4], edi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
cmp dword [ebx + 0x38], 0
jle 0x1002381a
mov edx, dword [ebp - 0x118]
xor ecx, ecx
add edx, 6
xor esi, esi
nop dword [eax + eax]
mov eax, dword [ebx + 0x40]
lea ecx, [ecx + 0x1c]
inc esi
lea edx, [edx + 0x10]
movzx eax, word [eax + ecx - 0x18]
mov word [edx - 0x12], ax
mov eax, dword [ebx + 0x40]
movzx eax, word [eax + ecx - 0x16]
mov word [edx - 0x10], ax
cmp esi, dword [ebx + 0x38]
jl 0x100237f0
mov esi, dword [ebp - 0x114]
push edi
push dword [ebp - 0x118]
push dword [ebp - 0x124]
call fcn.1002b930
add esp, 0xc
test edi, edi
jle 0x10023893
mov edx, dword [ebp - 0x118]
xor eax, eax
mov dword [ebp - 0x12c], eax
add edx, 0xa
cmp dword [edx + 2], 0
je 0x1002387c
mov ecx, dword [ebx + 0x40]
mov esi, dword [ebp - 0x12c]
movzx eax, word [edx - 2]
mov word [ecx + esi + 8], ax
mov ecx, dword [ebx + 0x40]
movzx eax, word [edx]
mov word [ecx + esi + 0xa], ax
movzx eax, word [edx]
movzx ecx, word [edx - 4]
add ecx, eax
mov eax, esi
cmp dword [ebx + 0x18], ecx
cmovge ecx, dword [ebx + 0x18]
mov dword [ebx + 0x18], ecx
add eax, 0x1c
add edx, 0x10
mov dword [ebp - 0x12c], eax
sub edi, 1
jne 0x10023844
mov esi, dword [ebp - 0x114]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x118]
test eax, eax
je 0x100238ad
push eax
call fcn.100170a0
add esp, 4
imul eax, dword [ebx + 0x44], 0x88
push eax
call fcn.10017080
xor edi, edi
mov dword [ebp - 0x12c], eax
add esp, 4
cmp dword [ebx + 0x44], edi
jle 0x10023930
xor ecx, ecx
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x134], ecx
nop dword [eax + eax]
mov eax, dword [ebx + 0x4c]
push dword [eax + ecx + 0xc]
mov esi, dword [eax + ecx]
push esi
call fcn.1002be00
push eax
push esi
mov esi, dword [ebp - 0x130]
push esi
call fcn.100266b0
add esp, 0x14
test eax, eax
je 0x10023b1d
mov ecx, dword [ebp - 0x134]
inc edi
add ecx, 0x64
add esi, 0x88
mov dword [ebp - 0x134], ecx
mov dword [ebp - 0x130], esi
cmp edi, dword [ebx + 0x44]
jl 0x100238e0
mov esi, dword [ebp - 0x114]
lea edi, [esi*8]
mov dword [ebp - 0x118], 0
sub edi, esi
mov dword [ebp - 0x138], 0
shl edi, 2
push edi
mov dword [ebp - 0x154], 0
call fcn.10017080
shl esi, 4
push esi
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x114], esi
call fcn.10017080
mov ecx, dword [ebp - 0x128]
mov dword [ebp - 0x148], eax
lea esi, [ecx + ecx*2]
shl esi, 3
push esi
call fcn.10017080
push edi
push 0
push dword [ebp - 0x130]
mov dword [ebp - 0x134], eax
call sub.VCRUNTIME140.dll_memset
push dword [ebp - 0x114]
push 0
push dword [ebp - 0x148]
call sub.VCRUNTIME140.dll_memset
push esi
push 0
push dword [ebp - 0x134]
call sub.VCRUNTIME140.dll_memset
add esp, 0x30
mov dword [ebp - 0x140], 0
cmp dword [ebx + 0x44], 0
jle 0x10023c39
mov edi, dword [ebp - 0x12c]
xor edx, edx
mov dword [ebp - 0x11c], edx
mov dword [ebp - 0x114], edi
nop dword [eax]
mov ecx, dword [ebx + 0x4c]
xor esi, esi
add ecx, edx
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x128], ecx
mov dword [ebp - 0x158], esi
mov edx, dword [ecx + 0x30]
movzx eax, word [edx]
test ax, ax
je 0x10023a4f
mov ebx, esi
nop word [eax + eax]
movzx ecx, word [edx + 2]
test cx, cx
je 0x10023a3d
add edx, 4
movzx eax, ax
sub ecx, eax
inc ebx
add ebx, ecx
inc esi
movzx eax, word [edx]
test ax, ax
jne 0x10023a20
mov ecx, dword [ebp - 0x128]
mov dword [ebp - 0x150], ebx
mov dword [ebp - 0x158], esi
mov edx, dword [ebp - 0x154]
mov edi, dword [ebp - 0x134]
lea eax, [edx + edx*2]
add edx, esi
lea eax, [edi + eax*8]
mov dword [ebp - 0x154], edx
mov edi, dword [ebp - 0x114]
mov dword [ebp - 0x13c], eax
mov dword [edi + 0x80], eax
mov dword [edi + 0x84], esi
xor edi, edi
test esi, esi
jle 0x10023b40
mov ebx, dword [ebp - 0x158]
mov dword [ebp - 0x13c], edi
nop word [eax + eax]
mov edx, dword [ecx + 0x30]
mov eax, dword [ebp - 0x114]
mov esi, dword [eax + 0x80]
add esi, dword [ebp - 0x13c]
mov eax, dword [ecx + 0x10]
add dword [ebp - 0x13c], 0x18
mov dword [esi], eax
movzx eax, word [edx + edi*4]
mov dword [esi + 4], eax
movzx eax, word [edx + edi*4]
movzx ecx, word [edx + edi*4 + 2]
inc edi
mov edx, dword [ebp - 0x118]
sub ecx, eax
inc ecx
add dword [ebp - 0x118], ecx
mov dword [esi + 0xc], ecx
mov ecx, dword [ebp - 0x128]
lea eax, [edx*8]
sub eax, edx
mov edx, dword [ebp - 0x130]
lea eax, [edx + eax*4]
mov dword [esi + 0x10], eax
cmp edi, ebx
jl 0x10023aa0
mov edi, dword [ebp - 0x114]
mov eax, dword [edi + 0x80]
mov esi, dword [edi + 0x84]
mov dword [ebp - 0x13c], eax
jmp 0x10023b46
push dword [ebp - 0x12c]
mov dword [ebx + 0x18], 0
mov dword [ebx + 0x14], 0
call fcn.100170a0
add esp, 4
xor al, al
jmp 0x10024374
mov edi, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x138]
mov eax, ecx
mov edx, dword [ebp - 0x148]
mov ebx, dword [ebp - 0x120]
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x150]
add ecx, eax
mov dword [edi + 0x7c], eax
mov eax, dword [ebp - 0x128]
mov dword [edi + 0x78], edx
mov dword [ebp - 0x138], ecx
push edx
mov ecx, dword [eax + 0x18]
mov eax, dword [eax + 0x14]
cmp eax, 8
push esi
push dword [ebp - 0x13c]
cmovbe ebx, eax
cmp ecx, 8
mov eax, ebx
mov dword [ebp - 0x120], ebx
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x14c]
cmovbe eax, ecx
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x164], eax
lea eax, [ebp - 0x180]
push edi
push eax
call fcn.1002c3a0
mov esi, eax
push esi
push dword [edi + 0x78]
push dword [ebp - 0x124]
call fcn.1002b930
mov ebx, dword [ebp - 0x144]
add esp, 0x20
test esi, esi
jle 0x10023c08
xor edx, edx
mov eax, dword [edi + 0x78]
cmp dword [eax + edx + 0xc], 0
je 0x10023c00
movzx ecx, word [eax + edx + 0xa]
movzx eax, word [eax + edx + 6]
add ecx, eax
cmp dword [ebx + 0x18], ecx
cmovge ecx, dword [ebx + 0x18]
mov dword [ebx + 0x18], ecx
add edx, 0x10
sub esi, 1
jne 0x10023be0
mov eax, dword [ebp - 0x140]
add edi, 0x88
mov edx, dword [ebp - 0x11c]
inc eax
add edx, 0x64
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x11c], edx
mov dword [ebp - 0x114], edi
cmp eax, dword [ebx + 0x44]
jl 0x100239f0
mov ecx, dword [ebx + 0x18]
dec ecx
movss xmm1, dword [0x10033338]
mov eax, ecx
movaps xmm2, xmm1
sar eax, 1
or ecx, eax
mov eax, ecx
sar eax, 2
or ecx, eax
mov eax, ecx
sar eax, 4
or ecx, eax
mov eax, ecx
sar eax, 8
or ecx, eax
mov eax, ecx
sar eax, 0x10
or ecx, eax
mov eax, dword [ebx + 0x14]
inc ecx
mov dword [ebx + 0x18], ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
imul eax, ecx
divss xmm2, xmm0
push eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [ebx + 0x1c], xmm2
divss xmm1, xmm0
movss dword [ebx + 0x20], xmm1
call fcn.10017080
mov ecx, dword [ebx + 0x14]
imul ecx, dword [ebx + 0x18]
mov dword [ebx + 0xc], eax
push ecx
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov eax, dword [ebx + 0xc]
add esp, 0x10
cmp dword [ebx + 0x44], 0
mov dword [ebp - 0x160], eax
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x11c], 0
jle 0x10023ea6
mov eax, dword [ebp - 0x12c]
xor ecx, ecx
mov edx, dword [ebp - 0x120]
add eax, 0x7c
mov edi, dword [ebp - 0x14c]
mov dword [ebp - 0x140], ecx
mov dword [ebp - 0x118], eax
nop dword [eax]
mov eax, dword [ebp - 0x118]
mov esi, dword [ebx + 0x4c]
add esi, ecx
push dword [eax - 4]
lea ecx, [eax - 0x7c]
push dword [eax + 8]
cmp dword [esi + 0x14], 8
push dword [eax + 4]
cmovbe edx, dword [esi + 0x14]
lea eax, [ebp - 0x180]
cmp dword [esi + 0x18], 8
push ecx
cmovbe edi, dword [esi + 0x18]
push eax
mov dword [ebp - 0x168], edx
mov dword [ebp - 0x164], edi
mov dword [ebp - 0x114], ecx
call fcn.1002c590
movss xmm1, dword [esi + 0x3c]
add esp, 0x14
ucomiss xmm1, dword [0x10033338]
movss dword [ebp - 0x138], xmm1
lahf
test ah, 0x44
jnp 0x10023e51
xor esi, esi
nop dword [eax]
movd xmm0, esi
mov eax, esi
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10069050]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
call fcn.1002f7f0
movss xmm1, dword [ebp - 0x138]
mov edx, 0xff
cmp eax, edx
movzx ecx, al
cmovbe edx, ecx
mov byte [ebp + esi - 0x110], dl
inc esi
cmp esi, 0x100
jb 0x10023d70
mov eax, dword [ebp - 0x114]
mov ebx, dword [eax + 0x78]
mov eax, dword [ebp - 0x118]
mov eax, dword [eax]
shl eax, 4
add eax, ebx
cmp ebx, eax
je 0x10023e4b
mov ecx, dword [ebp - 0x170]
mov edx, dword [ebp - 0x114]
nop
cmp dword [ebx + 0xc], 0
je 0x10023e36
movzx eax, word [ebx + 0xa]
movzx edx, word [ebx + 8]
movzx edi, word [ebx + 6]
movzx esi, word [ebx + 4]
imul eax, ecx
add eax, dword [ebp - 0x160]
add edx, eax
test edi, edi
je 0x10023e30
xor ecx, ecx
test esi, esi
je 0x10023e23
nop dword [eax + eax]
movzx eax, byte [ecx + edx]
mov al, byte [ebp + eax - 0x110]
mov byte [ecx + edx], al
inc ecx
cmp ecx, esi
jl 0x10023e10
mov ecx, dword [ebp - 0x170]
dec edi
add edx, ecx
test edi, edi
jg 0x10023e05
mov edx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x118]
add ebx, 0x10
mov eax, dword [eax]
shl eax, 4
add eax, dword [edx + 0x78]
cmp ebx, eax
jne 0x10023de0
mov ebx, dword [ebp - 0x144]
mov eax, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x140]
add dword [ebp - 0x118], 0x88
add ecx, 0x64
mov dword [ebp - 0x140], ecx
mov dword [eax + 0x78], 0
mov eax, dword [ebp - 0x11c]
inc eax
mov dword [ebp - 0x11c], eax
cmp eax, dword [ebx + 0x44]
jge 0x10023e9a
mov edi, dword [ebp - 0x164]
mov edx, dword [ebp - 0x168]
jmp 0x10023d00
mov eax, dword [ebp - 0x17c]
mov dword [ebp - 0x124], eax
push dword [ebp - 0x15c]
call fcn.100170a0
push dword [ebp - 0x124]
call fcn.100170a0
push dword [ebp - 0x148]
call fcn.100170a0
add esp, 0xc
mov dword [ebp - 0x154], 0
cmp dword [ebx + 0x44], 0
jle 0x10024348
mov ecx, dword [ebp - 0x12c]
xor edx, edx
add ecx, 4
mov dword [ebp - 0x14c], edx
mov dword [ebp - 0x148], ecx
mov edi, dword [ecx + 0x18]
mov esi, dword [ecx]
mov eax, dword [ebx + 0x4c]
mov ebx, dword [eax + edx + 0x60]
add eax, edx
mov dword [ebp - 0x140], eax
mov eax, pe_nt_image_headers32
movzx ecx, byte [edi + esi + 6]
movzx edx, byte [edi + esi + 7]
cwde
movsx ecx, cx
imul ecx, eax
add dx, cx
movzx ecx, byte [edi + esi + 4]
movsx eax, dx
movzx edx, byte [edi + esi + 5]
mov esi, dword [ebp - 0x140]
mov dword [ebp - 0x11c], eax
mov eax, pe_nt_image_headers32
cwde
movsx ecx, cx
movss xmm1, dword [esi + 0x10]
imul ecx, eax
add dx, cx
movsx edi, dx
mov eax, edi
sub eax, dword [ebp - 0x11c]
cmp byte [esi + 0x34], 0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
movss dword [ebp - 0x138], xmm1
jne 0x10023fb9
mov ecx, ebx
call fcn.10022e10
movd xmm0, dword [ebp - 0x11c]
mov eax, dword [esi + 0x10]
movd xmm1, edi
cvtdq2ps xmm1, xmm1
mov dword [ebx], eax
mov eax, dword [ebp - 0x144]
mov dword [ebx + 0x40], esi
mov dword [ebx + 0x44], eax
cvtdq2ps xmm0, xmm0
mulss xmm1, dword [ebp - 0x138]
mulss xmm0, dword [ebp - 0x138]
movss dword [ebx + 0x48], xmm1
movss dword [ebx + 0x4c], xmm0
jmp 0x10023fbe
movss xmm1, dword [ebx + 0x48]
addss xmm1, dword [0x10068f78]
inc word [ebx + 0x3e]
xor edx, edx
movss xmm0, dword [esi + 0x28]
mov ecx, dword [ebp - 0x148]
movss dword [ebp - 0x13c], xmm0
cvttss2si eax, xmm1
mov dword [ebp - 0x138], edx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, dword [esi + 0x2c]
movss dword [ebp - 0x118], xmm0
cmp dword [ecx + 0x80], edx
jle 0x10024311
xor eax, eax
mov dword [ebp - 0x158], eax
mov esi, dword [ecx + 0x7c]
xor ecx, ecx
add esi, eax
mov dword [ebp - 0x120], ecx
mov dword [ebp - 0x11c], esi
cmp dword [esi + 0xc], ecx
jle 0x100242ef
xor edi, edi
nop
mov edx, dword [esi + 0x10]
movzx eax, word [edi + edx]
test ax, ax
jne 0x10024055
cmp word [edi + edx + 4], ax
jne 0x10024055
cmp word [edi + edx + 2], ax
jne 0x10024055
cmp word [edi + edx + 6], ax
je 0x100242d0
mov eax, dword [esi + 4]
add eax, ecx
mov ecx, dword [ebp - 0x140]
mov dword [ebp - 0x150], eax
cmp byte [ecx + 0x34], 0
mov ecx, dword [ebp - 0x120]
je 0x100240b9
movzx eax, ax
mov dword [ebp - 0x128], eax
cmp eax, dword [ebx + 0x28]
jge 0x100240ae
mov esi, dword [ebp - 0x128]
mov eax, dword [ebx + 0x30]
movzx eax, word [eax + esi*2]
mov esi, 0xffff
cmp ax, si
mov esi, dword [ebp - 0x11c]
je 0x100240ae
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0x18]
lea eax, [eax + ecx*8]
mov ecx, dword [ebp - 0x120]
jmp 0x100240b1
mov eax, dword [ebx + 0x34]
test eax, eax
jne 0x100242d0
mov eax, dword [ebp - 0x144]
lea ecx, [ebx + 0x10]
movss xmm2, dword [0x10033338]
movaps xmm1, xmm2
movd xmm0, dword [eax + 0x14]
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
movd xmm0, dword [eax + 0x18]
movzx eax, word [edi + edx]
cvtdq2ps xmm0, xmm0
divss xmm2, xmm0
movss xmm0, dword [edi + edx + 8]
movss dword [ebp - 0x128], xmm0
movss xmm0, dword [edi + edx + 0xc]
movss dword [ebp - 0x114], xmm0
movss xmm0, dword [edi + edx + 0x14]
movss dword [ebp - 0x124], xmm0
movss xmm0, dword [edi + edx + 0x18]
movss dword [ebp - 0x184], xmm0
movd xmm0, eax
movzx eax, word [edi + edx + 2]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x188], xmm0
movd xmm0, eax
movzx eax, word [edi + edx + 4]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
movss dword [ebp - 0x18c], xmm0
movd xmm0, eax
movzx eax, word [edi + edx + 6]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x190], xmm0
movd xmm0, eax
mov eax, dword [ebx + 0x10]
cvtdq2ps xmm0, xmm0
inc eax
push eax
mulss xmm0, xmm2
movss dword [ebp - 0x194], xmm0
movss xmm0, dword [edi + edx + 0x10]
movss dword [ebp - 0x198], xmm0
call fcn.10025990
mov eax, dword [ebx + 0x10]
xorps xmm1, xmm1
movss xmm0, dword [ebp - 0x128]
mov edx, dword [ebx + 0x18]
addss xmm0, xmm1
movss xmm3, dword [ebp - 0x188]
lea ecx, [eax + eax*4]
movss xmm4, dword [ebp - 0x18c]
mov eax, dword [ebp - 0x150]
movss xmm2, dword [ebp - 0x194]
addss xmm0, dword [ebp - 0x13c]
mov word [edx + ecx*8 - 0x28], ax
movss dword [edx + ecx*8 - 0x10], xmm3
movss dword [edx + ecx*8 - 0xc], xmm4
movss dword [edx + ecx*8 - 4], xmm2
movss dword [edx + ecx*8 - 0x20], xmm0
movss xmm0, dword [ebp - 0x114]
addss xmm0, xmm1
addss xmm0, dword [ebp - 0x118]
movss dword [edx + ecx*8 - 0x1c], xmm0
movss xmm0, dword [ebp - 0x124]
addss xmm0, xmm1
addss xmm0, dword [ebp - 0x13c]
movss dword [edx + ecx*8 - 0x18], xmm0
movss xmm0, dword [ebp - 0x184]
addss xmm0, xmm1
movss xmm1, dword [ebp - 0x190]
movss dword [edx + ecx*8 - 8], xmm1
addss xmm0, dword [ebp - 0x118]
movss dword [edx + ecx*8 - 0x14], xmm0
mov eax, dword [ebx + 0x40]
movss xmm0, dword [eax + 0x20]
addss xmm0, dword [ebp - 0x198]
movss dword [edx + ecx*8 - 0x24], xmm0
mov eax, dword [ebx + 0x40]
cmp byte [eax + 0x1c], 0
je 0x10024283
addss xmm0, dword [0x10068f78]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edx + ecx*8 - 0x24], xmm0
mov eax, dword [ebx + 0x44]
subss xmm1, xmm3
subss xmm2, xmm4
mov esi, dword [ebp - 0x11c]
movd xmm0, dword [eax + 0x14]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
addss xmm0, dword [0x1006c9ac]
cvttss2si ecx, xmm0
movd xmm0, dword [eax + 0x18]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
addss xmm0, dword [0x1006c9ac]
cvttss2si eax, xmm0
imul ecx, eax
add dword [ebx + 0x50], ecx
mov ecx, dword [ebp - 0x120]
inc ecx
add edi, 0x1c
mov dword [ebp - 0x120], ecx
cmp ecx, dword [esi + 0xc]
jl 0x10024030
mov eax, dword [ebp - 0x158]
mov edx, dword [ebp - 0x138]
mov ecx, dword [ebp - 0x148]
inc edx
add eax, 0x18
mov dword [ebp - 0x138], edx
mov dword [ebp - 0x158], eax
cmp edx, dword [ecx + 0x80]
jl 0x10024011
mov eax, dword [ebp - 0x154]
add ecx, 0x88
mov ebx, dword [ebp - 0x144]
inc eax
mov edx, dword [ebp - 0x14c]
add edx, 0x64
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x14c], edx
mov dword [ebp - 0x148], ecx
cmp eax, dword [ebx + 0x44]
jl 0x10023ef5
push dword [ebp - 0x130]
call fcn.100170a0
push dword [ebp - 0x134]
call fcn.100170a0
push dword [ebp - 0x12c]
call fcn.100170a0
push ebx
call fcn.10023280
add esp, 0x10
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1002f7ae
mov esp, ebp
pop ebp
ret