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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1002fb8b
mov eax, dword fs:[0]
push eax
sub esp, 0x19c
mov eax, dword [0x1003900c]
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, ecx
mov dword [ebp - 0x140], ebx
cmp dword [ebx + 0x48], 0
jge 0x10024bc8
lea eax, [ebp - 0x16c]
mov dword [ebp - 0x164], 0xffffffff
push eax
lea ecx, [ebx + 0x30]
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x154], 0
mov dword [ebp - 0x16c], 0x80000000
mov dword [ebp - 0x168], 0x1b00b5
call fcn.100278a0
mov eax, dword [ebx + 0x30]
dec eax
mov dword [ebx + 0x48], eax
mov ecx, 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
test ecx, ecx
je 0x10024c08
mov eax, dword [0x10039018]
push ecx
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
call eax
add esp, 4
mov ecx, dword [ebx + 0x10]
test ecx, ecx
je 0x10024c26
mov eax, dword [0x10039018]
push ecx
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
call eax
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 - 0x124], edi
mov dword [ebp - 0x120], ecx
cmp dword [ebx + 0x3c], ecx
jle 0x10024cca
xor edx, edx
mov dword [ebp - 0x138], edx
nop dword [eax]
mov eax, dword [ebx + 0x44]
add eax, edx
mov edx, dword [eax + 0x30]
test edx, edx
jne 0x10024c78
mov dword [eax + 0x30], 0x1003529c
mov edx, 0x1003529c
cmp word [edx], 0
je 0x10024caf
nop
movzx eax, word [edx + 2]
test ax, ax
je 0x10024c9d
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 0x10024c80
mov ecx, dword [ebp - 0x120]
mov dword [ebp - 0x124], edi
mov dword [ebp - 0x114], esi
mov edx, dword [ebp - 0x138]
inc ecx
add edx, 0x64
mov dword [ebp - 0x120], ecx
mov dword [ebp - 0x138], edx
cmp ecx, dword [ebx + 0x3c]
jl 0x10024c60
mov edi, dword [ebx + 4]
test edi, edi
jg 0x10024d02
cmp esi, 0xfa0
jle 0x10024ce0
mov edi, 0x1000
jmp 0x10024d02
cmp esi, 0x7d0
jle 0x10024cef
mov edi, 0x800
jmp 0x10024d02
cmp esi, 0x3e8
mov edi, 0x200
mov eax, 0x400
cmovg edi, eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x11c], eax
mov eax, dword [0x10039018]
mov dword [ebx + 0x14], edi
mov dword [ebx + 0x18], 0
push 0x30
inc dword [eax + 0x310]
mov eax, dword [eax + 0xbc]
call eax
mov edx, dword [0x10039018]
add esp, 4
mov dword [ebp - 0x120], eax
mov eax, edi
sub eax, dword [ebp - 0x11c]
mov dword [ebp - 0x130], eax
inc dword [edx + 0x310]
lea ecx, [eax*8]
push ecx
mov ecx, dword [edx + 0xbc]
call ecx
mov edx, dword [ebp - 0x120]
add esp, 4
mov ecx, eax
test edx, edx
je 0x10024dd9
test ecx, ecx
je 0x10024dd6
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x174], edx
mov edx, dword [ebp - 0x130]
mov dword [ebp - 0x164], eax
mov eax, 0x8000
sub eax, dword [ebp - 0x11c]
push edx
push ecx
mov dword [ebp - 0x154], ecx
mov ecx, dword [ebp - 0x120]
push eax
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x170], edi
mov dword [ebp - 0x16c], 0x8000
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x168], edi
call fcn.1001a130
add esp, 0xc
jmp 0x10024df4
push edx
jmp 0x10024dde
test ecx, ecx
je 0x10024df4
push ecx
mov eax, dword [0x10039018]
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
call eax
add esp, 4
mov eax, 1
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x134], eax
xor eax, eax
mov dword [ebp - 0x1a4], 0
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x19c], eax
mov dword [ebp - 4], eax
mov edi, dword [ebx + 0x30]
mov edx, edi
mov dword [ebp - 0x11c], edi
test edi, edi
jle 0x10024e87
mov edx, 8
mov ecx, edi
cmp edi, edx
cmovl ecx, edx
mov edx, edi
test ecx, ecx
jle 0x10024e87
mov eax, dword [0x10039018]
shl ecx, 4
push ecx
inc dword [eax + 0x310]
mov eax, dword [eax + 0xbc]
call eax
mov ecx, dword [0x10039018]
add esp, 4
mov dword [ebp - 0x118], eax
mov ecx, dword [ecx + 0xc0]
push 0
call ecx
mov edx, dword [ebx + 0x30]
add esp, 4
mov eax, dword [ebp - 0x118]
shl edx, 4
push edx
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
cmp dword [ebx + 0x30], 0
jle 0x10024eda
mov edx, dword [ebp - 0x118]
xor ecx, ecx
add edx, 6
xor esi, esi
nop dword [eax]
mov eax, dword [ebx + 0x38]
lea ecx, [ecx + 0x1c]
inc esi
lea edx, [edx + 0x10]
movzx eax, word [ecx + eax - 0x18]
mov word [edx - 0x12], ax
mov eax, dword [ebx + 0x38]
movzx eax, word [ecx + eax - 0x16]
mov word [edx - 0x10], ax
cmp esi, dword [ebx + 0x30]
jl 0x10024eb0
mov esi, dword [ebp - 0x114]
mov edx, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x174]
push edi
call fcn.1001a5b0
add esp, 4
test edi, edi
jle 0x10024f4b
mov edx, dword [ebp - 0x118]
xor edi, edi
mov eax, dword [ebp - 0x11c]
add edx, 0xa
cmp dword [edx + 2], 0
je 0x10024f3a
mov ecx, dword [ebx + 0x38]
movzx eax, word [edx - 2]
mov word [edi + ecx + 8], ax
mov ecx, dword [ebx + 0x38]
movzx eax, word [edx]
mov word [edi + ecx + 0xa], ax
movzx eax, word [edx]
movzx ecx, word [edx - 4]
add ecx, eax
mov eax, dword [ebp - 0x11c]
cmp dword [ebx + 0x18], ecx
cmovge ecx, dword [ebx + 0x18]
mov dword [ebx + 0x18], ecx
add edi, 0x1c
add edx, 0x10
sub eax, 1
mov dword [ebp - 0x11c], eax
jne 0x10024f04
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0x118]
test ecx, ecx
je 0x10024f73
mov eax, dword [0x10039018]
push ecx
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
call eax
add esp, 4
mov dword [ebp - 4], 0xffffffff
imul ecx, dword [ebx + 0x3c], 0x88
mov eax, dword [0x10039018]
inc dword [eax + 0x310]
mov eax, dword [eax + 0xbc]
push ecx
call eax
add esp, 4
mov dword [ebp - 0x11c], eax
cmp dword [ebx + 0x3c], 0
mov dword [ebp - 0x120], 0
jle 0x100250fb
xor edx, edx
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x138], edx
mov eax, dword [ebx + 0x44]
add eax, edx
mov esi, dword [eax]
mov edi, dword [eax + 0xc]
mov al, byte [esi]
cmp al, 0x31
jne 0x10024fe2
cmp byte [esi + 1], 0
jne 0x10024fe2
cmp byte [esi + 2], 0
jne 0x10024fe2
cmp byte [esi + 3], 0
je 0x1002503b
cmp al, 0x74
jne 0x10024ff8
cmp byte [esi + 1], 0x79
jne 0x10024ff8
cmp byte [esi + 2], 0x70
jne 0x10024ff8
cmp byte [esi + 3], 0x31
je 0x1002503b
cmp al, 0x4f
jne 0x1002500d
cmp byte [esi + 1], 0x54
jne 0x10025041
cmp byte [esi + 2], 0x54
jne 0x10025041
cmp byte [esi + 3], al
jmp 0x10025039
test al, al
jne 0x10025021
cmp byte [esi + 1], 1
jne 0x10025041
cmp byte [esi + 2], al
jne 0x10025041
cmp byte [esi + 3], al
jmp 0x10025039
cmp al, 0x74
jne 0x100250a6
cmp byte [esi + 1], 0x72
jne 0x10025041
cmp byte [esi + 2], 0x75
jne 0x10025041
cmp byte [esi + 3], 0x65
jne 0x10025041
neg edi
sbb edi, edi
jmp 0x100250a9
cmp al, 0x74
jne 0x100250a6
cmp byte [esi + 1], al
jne 0x100250a6
cmp byte [esi + 2], 0x63
jne 0x100250a6
cmp byte [esi + 3], 0x66
jne 0x100250a6
lea ecx, [esi + 4]
call fcn.1001acb0
cmp eax, 0x10000
je 0x10025074
lea ecx, [esi + 4]
call fcn.1001acb0
cmp eax, 0x20000
jne 0x100250a6
movzx eax, byte [esi + 8]
movzx ecx, byte [esi + 9]
shl eax, 8
add ecx, eax
movzx eax, byte [esi + 0xa]
shl ecx, 8
add ecx, eax
movzx eax, byte [esi + 0xb]
shl ecx, 8
add ecx, eax
cmp edi, ecx
jge 0x100250a6
add edi, 3
lea ecx, [esi + edi*4]
call fcn.1001acb0
mov edi, eax
jmp 0x100250a9
or edi, 0xffffffff
mov edx, esi
mov esi, dword [ebp - 0x128]
push edi
mov ecx, esi
call fcn.1001af00
add esp, 4
test eax, eax
je 0x10025303
mov ecx, dword [ebp - 0x120]
add esi, 0x88
mov edx, dword [ebp - 0x138]
inc ecx
add edx, 0x64
mov dword [ebp - 0x120], ecx
mov dword [ebp - 0x138], edx
mov dword [ebp - 0x128], esi
cmp ecx, dword [ebx + 0x3c]
jl 0x10024fc0
mov esi, dword [ebp - 0x114]
mov eax, dword [0x10039018]
lea edi, [esi*8]
sub edi, esi
mov dword [ebp - 0x118], 0
shl edi, 2
push edi
inc dword [eax + 0x310]
mov eax, dword [eax + 0xbc]
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x148], 0
call eax
mov ecx, dword [0x10039018]
add esp, 4
shl esi, 4
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x114], esi
inc dword [ecx + 0x310]
mov ecx, dword [ecx + 0xbc]
push esi
call ecx
mov edx, dword [ebp - 0x124]
add esp, 4
mov ecx, dword [0x10039018]
mov dword [ebp - 0x128], eax
lea esi, [edx + edx*2]
inc dword [ecx + 0x310]
mov ecx, dword [ecx + 0xbc]
shl esi, 3
push esi
call ecx
add esp, 4
mov dword [ebp - 0x120], eax
push edi
push 0
push dword [ebp - 0x138]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push dword [ebp - 0x114]
push 0
push dword [ebp - 0x128]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push esi
push 0
push dword [ebp - 0x120]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0x144], 0
cmp dword [ebx + 0x3c], 0
jle 0x10025420
mov edi, dword [ebp - 0x11c]
xor edx, edx
mov dword [ebp - 0x12c], edx
mov dword [ebp - 0x114], edi
mov ecx, dword [ebx + 0x44]
xor esi, esi
add ecx, edx
mov dword [ebp - 0x14c], esi
xor ebx, ebx
mov dword [ebp - 0x124], ecx
mov edx, dword [ecx + 0x30]
movzx eax, word [edx]
test ax, ax
je 0x1002523c
movzx ecx, word [edx + 2]
test cx, cx
je 0x10025230
add edx, 4
movzx eax, ax
sub ecx, eax
inc esi
add esi, ecx
inc ebx
movzx eax, word [edx]
test ax, ax
jne 0x10025213
mov ecx, dword [ebp - 0x124]
mov dword [ebp - 0x14c], esi
mov edx, dword [ebp - 0x148]
mov edi, dword [ebp - 0x120]
lea eax, [edx + edx*2]
add edx, ebx
lea eax, [edi + eax*8]
mov dword [ebp - 0x148], edx
mov edi, dword [ebp - 0x114]
mov dword [ebp - 0x13c], eax
mov dword [edi + 0x80], eax
mov dword [edi + 0x84], ebx
xor edi, edi
test ebx, ebx
jle 0x1002530a
mov dword [ebp - 0x13c], edi
nop
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 - 0x124]
lea eax, [edx*8]
sub eax, edx
mov edx, dword [ebp - 0x138]
lea eax, [edx + eax*4]
mov dword [esi + 0x10], eax
cmp edi, ebx
jl 0x10025280
mov edi, dword [ebp - 0x114]
mov esi, dword [ebp - 0x14c]
mov eax, dword [edi + 0x80]
mov ebx, dword [edi + 0x84]
mov dword [ebp - 0x13c], eax
jmp 0x10025310
xor al, al
jmp 0x10025bb4
mov edi, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x150]
mov eax, ecx
mov edx, dword [ebp - 0x128]
add ecx, esi
shl eax, 4
add edx, eax
mov dword [edi + 0x7c], esi
mov eax, dword [ebp - 0x124]
mov esi, dword [ebp - 0x130]
mov dword [edi + 0x78], edx
mov dword [ebp - 0x150], ecx
mov ecx, dword [eax + 0x18]
mov eax, dword [eax + 0x14]
cmp eax, 8
push edx
cmovbe esi, eax
mov edx, edi
mov eax, dword [ebp - 0x134]
cmp ecx, 8
push ebx
push dword [ebp - 0x13c]
cmovbe eax, ecx
mov dword [ebp - 0x160], esi
lea ecx, [ebp - 0x178]
mov dword [ebp - 0x15c], eax
call fcn.10020c10
mov edx, dword [edi + 0x78]
add esp, 0xc
mov ecx, dword [ebp - 0x174]
mov ebx, eax
push ebx
call fcn.1001a5b0
add esp, 4
test ebx, ebx
jle 0x100253c8
mov esi, dword [ebp - 0x140]
xor edx, edx
nop dword [eax]
mov eax, dword [edi + 0x78]
cmp dword [edx + eax + 0xc], 0
je 0x100253c0
movzx ecx, word [edx + eax + 0xa]
movzx eax, word [edx + eax + 6]
add ecx, eax
cmp dword [esi + 0x18], ecx
cmovge ecx, dword [esi + 0x18]
mov dword [esi + 0x18], ecx
add edx, 0x10
sub ebx, 1
jne 0x100253a0
mov eax, dword [ebp - 0x144]
add edi, 0x88
mov ebx, dword [ebp - 0x140]
inc eax
mov edx, dword [ebp - 0x12c]
add edx, 0x64
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x12c], edx
cmp eax, dword [ebx + 0x3c]
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x114], edi
mov dword [ebp - 0x134], eax
jge 0x10025418
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x130], eax
jmp 0x100251f3
mov edi, dword [ebp - 0x160]
jmp 0x10025425
mov edi, 1
mov ecx, dword [ebx + 0x18]
dec ecx
mov eax, ecx
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 eax, ecx
mov ecx, dword [ebx + 0x14]
inc eax
mov dword [ebx + 0x18], eax
imul ecx, eax
mov eax, dword [0x10039018]
inc dword [eax + 0x310]
mov eax, dword [eax + 0xbc]
push ecx
call eax
mov ecx, dword [ebx + 0x14]
add esp, 4
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, 0xc
cmp dword [ebx + 0x3c], 0
mov dword [ebp - 0x158], eax
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x130], 0
jle 0x1002565a
mov eax, dword [ebp - 0x11c]
xor ecx, ecx
mov edx, dword [ebp - 0x134]
add eax, 0x7c
mov dword [ebp - 0x12c], ecx
mov dword [ebp - 0x118], eax
mov esi, dword [ebx + 0x44]
mov eax, dword [ebp - 0x118]
add esi, ecx
cmp dword [esi + 0x14], 8
lea ecx, [eax - 0x7c]
push dword [eax - 4]
cmovbe edi, dword [esi + 0x14]
cmp dword [esi + 0x18], 8
push dword [eax + 8]
cmovbe edx, dword [esi + 0x18]
push dword [eax + 4]
mov dword [ebp - 0x15c], edx
mov edx, ecx
mov dword [ebp - 0x114], ecx
lea ecx, [ebp - 0x178]
mov dword [ebp - 0x160], edi
call fcn.10021020
movss xmm1, dword [esi + 0x3c]
add esp, 0xc
ucomiss xmm1, dword [0x10035d88]
movss dword [ebp - 0x144], xmm1
lahf
test ah, 0x44
jnp 0x10025611
xor esi, esi
nop
movd xmm0, esi
mov eax, esi
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x100364f0]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
call fcn.1002e790
movss xmm1, dword [ebp - 0x144]
mov edx, 0xff
cmp eax, edx
movzx ecx, al
cmovbe edx, ecx
mov byte [ebp + esi - 0x110], dl
inc esi
cmp esi, 0x100
jb 0x10025530
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 0x1002560b
mov ecx, dword [ebp - 0x168]
mov edx, dword [ebp - 0x114]
nop
cmp dword [ebx + 0xc], 0
je 0x100255f6
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 - 0x158]
add edx, eax
test edi, edi
je 0x100255f0
xor ecx, ecx
test esi, esi
je 0x100255e3
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 0x100255d0
mov ecx, dword [ebp - 0x168]
dec edi
add edx, ecx
test edi, edi
jg 0x100255c5
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 0x100255a0
mov ebx, dword [ebp - 0x140]
mov eax, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x12c]
add dword [ebp - 0x118], 0x88
add ecx, 0x64
mov dword [ebp - 0x12c], ecx
mov dword [eax + 0x78], 0
mov eax, dword [ebp - 0x130]
inc eax
mov dword [ebp - 0x130], eax
cmp eax, dword [ebx + 0x3c]
jge 0x1002565a
mov edx, dword [ebp - 0x15c]
mov edi, dword [ebp - 0x160]
jmp 0x100254c5
cmp dword [ebp - 0x154], 0
mov eax, dword [0x10039018]
je 0x1002566e
dec dword [eax + 0x310]
push dword [ebp - 0x154]
mov eax, dword [eax + 0xc0]
call eax
mov eax, dword [0x10039018]
add esp, 4
cmp dword [ebp - 0x174], 0
je 0x10025693
dec dword [eax + 0x310]
push dword [ebp - 0x174]
mov eax, dword [eax + 0xc0]
call eax
mov ecx, dword [ebp - 0x128]
add esp, 4
mov eax, dword [0x10039018]
test ecx, ecx
je 0x100256b9
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
push ecx
call eax
add esp, 4
mov dword [ebp - 0x14c], 0
cmp dword [ebx + 0x3c], 0
jle 0x10025b48
mov ecx, dword [ebp - 0x11c]
xor edx, edx
add ecx, 4
mov dword [ebp - 0x148], edx
mov dword [ebp - 0x128], ecx
mov edi, dword [ecx + 0x18]
mov esi, dword [ecx]
mov eax, dword [ebx + 0x44]
mov ebx, dword [eax + edx + 0x60]
add eax, edx
mov dword [ebp - 0x130], eax
mov eax, 0x100
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 edi, dword [ebp - 0x130]
mov dword [ebp - 0x12c], eax
mov eax, 0x100
cwde
movsx ecx, cx
movss xmm1, dword [edi + 0x10]
imul ecx, eax
add dx, cx
movsx ecx, dx
mov edx, dword [ebp - 0x12c]
mov eax, ecx
sub eax, edx
cmp byte [edi + 0x34], 0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
jne 0x100257b0
mov esi, dword [ebp - 0x140]
xor eax, eax
movd xmm0, ecx
lea ecx, [ebx + 0x10]
cvtdq2ps xmm0, xmm0
mov dword [ebx + 0x44], esi
mov dword [ebx + 0x40], edi
mov word [ebx + 0x3e], ax
mov eax, dword [edi + 0x10]
push 0
mulss xmm0, xmm1
mov dword [ebx], eax
movss dword [ebx + 0x48], xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebx + 0x4c], xmm0
call fcn.10018690
mov dword [ebx + 0x50], 0
inc word [ebx + 0x3e]
xor edx, edx
movss xmm0, dword [edi + 0x28]
movss dword [ebp - 0x114], xmm0
movss xmm0, dword [ebx + 0x48]
addss xmm0, dword [0x10035d5c]
mov ecx, dword [ebp - 0x128]
mov dword [ebp - 0x144], edx
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, dword [edi + 0x2c]
mov dword [ebx + 0x34], 0
movss dword [ebp - 0x17c], xmm0
cmp dword [ecx + 0x80], edx
jle 0x10025b11
xor eax, eax
mov dword [ebp - 0x150], eax
nop
mov esi, dword [ecx + 0x7c]
xor ecx, ecx
add esi, eax
mov dword [ebp - 0x134], ecx
mov dword [ebp - 0x12c], esi
cmp dword [esi + 0xc], ecx
jle 0x10025aef
xor edi, edi
nop
mov edx, dword [esi + 0x10]
movzx eax, word [edi + edx]
test ax, ax
jne 0x10025855
cmp word [edi + edx + 4], ax
jne 0x10025855
cmp word [edi + edx + 2], ax
jne 0x10025855
cmp word [edi + edx + 6], ax
je 0x10025ad0
mov eax, dword [esi + 4]
add eax, ecx
mov ecx, dword [ebp - 0x130]
mov dword [ebp - 0x13c], eax
cmp byte [ecx + 0x34], 0
mov ecx, dword [ebp - 0x134]
je 0x100258b9
movzx eax, ax
mov dword [ebp - 0x124], eax
cmp eax, dword [ebx + 0x28]
jge 0x100258ae
mov esi, dword [ebp - 0x124]
mov eax, dword [ebx + 0x30]
movzx eax, word [eax + esi*2]
mov esi, 0xffff
cmp ax, si
mov esi, dword [ebp - 0x12c]
je 0x100258ae
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0x18]
lea eax, [eax + ecx*8]
mov ecx, dword [ebp - 0x134]
jmp 0x100258b1
mov eax, dword [ebx + 0x34]
test eax, eax
jne 0x10025ad0
mov eax, dword [ebp - 0x140]
lea ecx, [ebx + 0x10]
movss xmm2, dword [0x10035d88]
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 - 0x124], xmm0
movss xmm0, dword [edi + edx + 0xc]
movss dword [ebp - 0x118], xmm0
movss xmm0, dword [edi + edx + 0x14]
movss dword [ebp - 0x180], 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.10018690
mov eax, dword [ebx + 0x10]
xorps xmm1, xmm1
movss xmm0, dword [ebp - 0x124]
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 - 0x13c]
movss xmm2, dword [ebp - 0x194]
addss xmm0, dword [ebp - 0x114]
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 - 0x118]
addss xmm0, xmm1
addss xmm0, dword [ebp - 0x17c]
movss dword [edx + ecx*8 - 0x1c], xmm0
movss xmm0, dword [ebp - 0x180]
addss xmm0, xmm1
addss xmm0, dword [ebp - 0x114]
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 - 0x17c]
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 0x10025a83
addss xmm0, dword [0x10035d5c]
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 - 0x12c]
movd xmm0, dword [eax + 0x14]
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
movd xmm0, dword [eax + 0x18]
cvtdq2ps xmm0, xmm0
addss xmm1, dword [0x10035db8]
mulss xmm2, xmm0
addss xmm2, dword [0x10035db8]
cvttss2si ecx, xmm1
cvttss2si eax, xmm2
imul ecx, eax
add dword [ebx + 0x50], ecx
mov ecx, dword [ebp - 0x134]
inc ecx
add edi, 0x1c
mov dword [ebp - 0x134], ecx
cmp ecx, dword [esi + 0xc]
jl 0x10025830
mov eax, dword [ebp - 0x150]
mov edx, dword [ebp - 0x144]
mov ecx, dword [ebp - 0x128]
inc edx
add eax, 0x18
mov dword [ebp - 0x144], edx
mov dword [ebp - 0x150], eax
cmp edx, dword [ecx + 0x80]
jl 0x10025810
mov eax, dword [ebp - 0x14c]
add ecx, 0x88
mov ebx, dword [ebp - 0x140]
inc eax
mov edx, dword [ebp - 0x148]
add edx, 0x64
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x148], edx
mov dword [ebp - 0x128], ecx
cmp eax, dword [ebx + 0x3c]
jl 0x100256f0
mov ecx, dword [ebp - 0x138]
mov eax, dword [0x10039018]
test ecx, ecx
je 0x10025b5d
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
push ecx
call eax
mov ecx, dword [ebp - 0x120]
add esp, 4
mov eax, dword [0x10039018]
test ecx, ecx
je 0x10025b7e
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
push ecx
call eax
mov ecx, dword [ebp - 0x11c]
add esp, 4
mov eax, dword [0x10039018]
test ecx, ecx
je 0x10025b9f
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
push ecx
call eax
add esp, 4
mov ecx, ebx
call fcn.10026310
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.1002d3bc
mov esp, ebp
pop ebp
ret