Function at 0x10028d50
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x19c
mov eax, dword [0x100a700c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, ecx
push esi
push edi
mov dword [ebp - 0x110], ebx
cmp dword [ebx + 0x3c], 0
jg 0x10028d8b
push 0x664
push str.G:ProjectsNixware_GMODImguiimgui_draw.cpp
push str.atlas__ConfigData.Size___0
call fcn.10042241
add esp, 0xc
cmp dword [ebx + 0x48], 0
jge 0x10028ded
lea eax, [ebp - 0x198]
mov dword [ebp - 0x190], 0xffffffff
push eax
lea ecx, [ebx + 0x30]
mov dword [ebp - 0x18c], 0
mov dword [ebp - 0x188], 0
mov dword [ebp - 0x184], 0
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x198], 0x80000000
mov dword [ebp - 0x194], 0x1b00b5
call fcn.1002be70
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 0x10028e2d
mov eax, dword [0x100a78c0]
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 0x10028e4b
mov eax, dword [0x100a78c0]
push ecx
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
call eax
add esp, 4
mov ecx, dword [ebp - 0x110]
xor edi, edi
mov dword [ebx + 0xc], 0
xor esi, esi
mov dword [ebx + 0x10], 0
xor ebx, ebx
mov dword [ebp - 0x114], edi
mov eax, dword [ecx + 0x3c]
mov dword [ebp - 0x11c], esi
test eax, eax
jle 0x10028f16
xor ecx, ecx
mov dword [ebp - 0x10c], ecx
cmp ebx, eax
jl 0x10028ea5
push 0x418
push str.G:ProjectsNixware_GMODImguiimgui.h
push str.i___Size
call fcn.10042241
mov ecx, dword [ebp - 0x10c]
add esp, 0xc
mov eax, dword [ebp - 0x110]
mov eax, dword [eax + 0x44]
mov edx, dword [eax + ecx + 0x30]
test edx, edx
jne 0x10028ec3
mov dword [eax + ecx + 0x30], 0x1009ee08
mov edx, 0x1009ee08
cmp word [edx], 0
je 0x10028eff
nop dword [eax]
movzx eax, word [edx + 2]
test ax, ax
je 0x10028eed
mov ecx, eax
inc edi
movzx eax, word [edx]
inc esi
add edx, 4
sub ecx, eax
add edi, ecx
cmp word [edx], 0
jne 0x10028ed0
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x11c], esi
mov dword [ebp - 0x114], edi
mov eax, dword [ebp - 0x110]
inc ebx
add ecx, 0x64
mov dword [ebp - 0x10c], ecx
mov eax, dword [eax + 0x3c]
cmp ebx, eax
jl 0x10028ea5
mov eax, dword [ebp - 0x110]
mov ebx, dword [eax + 4]
test ebx, ebx
jg 0x10028f54
cmp edi, 0xfa0
jle 0x10028f32
mov ebx, 0x1000
jmp 0x10028f54
cmp edi, 0x7d0
jle 0x10028f41
mov ebx, 0x800
jmp 0x10028f54
cmp edi, 0x3e8
mov ebx, 0x200
mov ecx, 0x400
cmovg ebx, ecx
mov dword [eax + 0x14], ebx
xorps xmm0, xmm0
mov dword [eax + 0x18], 0
mov eax, dword [eax + 8]
mov dword [ebp - 0x10c], eax
mov eax, dword [0x100a78c0]
push 0x30
movlpd qword [ebp - 0x17c], xmm0
movlpd qword [ebp - 0x174], xmm0
inc dword [eax + 0x310]
mov eax, dword [eax + 0xbc]
movlpd qword [ebp - 0x16c], xmm0
movlpd qword [ebp - 0x15c], xmm0
call eax
mov ecx, dword [0x100a78c0]
add esp, 4
mov dword [ebp - 0x124], eax
mov eax, ebx
sub eax, dword [ebp - 0x10c]
mov dword [ebp - 0x118], eax
inc dword [ecx + 0x310]
mov edx, dword [ecx + 0xbc]
lea ecx, [eax*8]
push ecx
call edx
mov edx, dword [ebp - 0x124]
add esp, 4
mov ecx, eax
test edx, edx
je 0x1002903a
test ecx, ecx
je 0x10029037
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0x178], edx
mov edx, dword [ebp - 0x118]
mov dword [ebp - 0x168], eax
mov eax, 0x8000
sub eax, dword [ebp - 0x10c]
push edx
push ecx
mov dword [ebp - 0x158], ecx
mov ecx, dword [ebp - 0x124]
push eax
mov dword [ebp - 0x174], ebx
mov dword [ebp - 0x170], 0x8000
mov dword [ebp - 0x16c], ebx
call fcn.1001e6c0
add esp, 0xc
jmp 0x10029055
push edx
jmp 0x1002903f
test ecx, ecx
je 0x10029055
push ecx
mov eax, dword [0x100a78c0]
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
call eax
add esp, 4
mov ebx, dword [ebp - 0x110]
mov eax, 1
mov edx, dword [ebp - 0x178]
mov ecx, ebx
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x120], eax
call fcn.10029ce0
imul ecx, dword [ebx + 0x3c], 0x8c
mov eax, dword [0x100a78c0]
inc dword [eax + 0x310]
mov eax, dword [eax + 0xbc]
push ecx
call eax
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x110]
xor ebx, ebx
mov dword [ebp - 0x138], edx
mov ecx, dword [eax + 0x3c]
test ecx, ecx
jle 0x10029194
xor eax, eax
mov dword [ebp - 0x124], edx
mov dword [ebp - 0x10c], eax
cmp ebx, ecx
jl 0x100290e1
push 0x418
push str.G:ProjectsNixware_GMODImguiimgui.h
push str.i___Size
call fcn.10042241
mov eax, dword [ebp - 0x10c]
add esp, 0xc
mov ecx, dword [ebp - 0x110]
mov esi, dword [ecx + 0x44]
add esi, eax
mov eax, dword [esi + 0x60]
test eax, eax
je 0x100290fe
mov eax, dword [eax + 0x44]
test eax, eax
je 0x10029115
cmp eax, ecx
je 0x10029115
push 0x695
push str.G:ProjectsNixware_GMODImguiimgui_draw.cpp
push str.cfg.DstFont____cfg.DstFont__IsLoaded____cfg.DstFont__ContainerAtlas__atlas_
call fcn.10042241
add esp, 0xc
mov edx, dword [esi + 0xc]
mov ecx, dword [esi]
call fcn.1001f5f0
mov dword [ebp - 0x128], eax
test eax, eax
jns 0x10029146
push 0x698
push str.G:ProjectsNixware_GMODImguiimgui_draw.cpp
push str.font_offset___0
call fcn.10042241
mov eax, dword [ebp - 0x128]
add esp, 0xc
mov edx, dword [esi]
mov esi, dword [ebp - 0x124]
mov ecx, esi
push eax
call fcn.1001f8d0
add esp, 4
test eax, eax
je 0x10029525
mov ecx, dword [ebp - 0x110]
inc ebx
mov eax, dword [ebp - 0x10c]
add esi, 0x8c
add eax, 0x64
mov dword [ebp - 0x124], esi
mov dword [ebp - 0x10c], eax
mov ecx, dword [ecx + 0x3c]
cmp ebx, ecx
jl 0x100290e1
mov esi, dword [ebp - 0x11c]
mov eax, dword [0x100a78c0]
lea ebx, [edi*8]
sub ebx, edi
mov dword [ebp - 0x150], 0
shl ebx, 2
push ebx
inc dword [eax + 0x310]
mov eax, dword [eax + 0xbc]
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x12c], 0
call eax
mov ecx, dword [0x100a78c0]
add esp, 4
shl edi, 4
mov dword [ebp - 0x154], eax
inc dword [ecx + 0x310]
mov ecx, dword [ecx + 0xbc]
push edi
call ecx
mov ecx, dword [0x100a78c0]
lea esi, [esi + esi*2]
add esp, 4
shl esi, 3
mov dword [ebp - 0x130], eax
inc dword [ecx + 0x310]
mov ecx, dword [ecx + 0xbc]
push esi
call ecx
add esp, 4
mov dword [ebp - 0x124], eax
push ebx
push 0
push dword [ebp - 0x154]
call fcn.10034320
add esp, 0xc
push edi
push 0
push dword [ebp - 0x130]
call fcn.10034320
add esp, 0xc
push esi
push 0
push dword [ebp - 0x124]
call fcn.10034320
mov edi, dword [ebp - 0x110]
xor edx, edx
add esp, 0xc
mov dword [ebp - 0x140], edx
mov ecx, dword [edi + 0x3c]
test ecx, ecx
jle 0x10029575
mov ebx, dword [ebp - 0x138]
xor esi, esi
mov dword [ebp - 0x128], esi
mov dword [ebp - 0x148], ebx
cmp edx, ecx
jl 0x1002929b
push 0x418
push str.G:ProjectsNixware_GMODImguiimgui.h
push str.i___Size
call fcn.10042241
add esp, 0xc
mov ecx, dword [edi + 0x44]
add ecx, esi
mov dword [ebp - 0x10c], 0
xor esi, esi
mov dword [ebp - 0x144], ecx
mov dword [ebp - 0x134], esi
mov edx, dword [ecx + 0x30]
movzx eax, word [edx]
mov edi, eax
test ax, ax
je 0x100292fe
mov ebx, esi
movzx eax, word [edx + 2]
test ax, ax
je 0x100292e6
add edx, 4
mov ecx, eax
movzx eax, di
inc ebx
sub ecx, eax
inc esi
add ebx, ecx
movzx edi, word [edx]
test di, di
jne 0x100292c7
mov ecx, dword [ebp - 0x144]
mov dword [ebp - 0x10c], ebx
mov ebx, dword [ebp - 0x148]
mov dword [ebp - 0x134], esi
mov edx, dword [ebp - 0x12c]
mov edi, dword [ebp - 0x124]
mov dword [ebx + 0x88], esi
lea eax, [edx + edx*2]
add edx, esi
lea eax, [edi + eax*8]
mov dword [ebp - 0x12c], edx
xor edi, edi
mov dword [ebx + 0x84], eax
test esi, esi
jle 0x100293ad
xor eax, eax
mov dword [ebp - 0x13c], eax
nop word [eax + eax]
mov edx, dword [ecx + 0x30]
mov esi, dword [ebx + 0x84]
mov ebx, dword [ebp - 0x154]
add esi, eax
mov eax, dword [ecx + 0x10]
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 - 0x150]
sub ecx, eax
inc ecx
mov dword [esi + 0xc], ecx
lea eax, [edx*8]
sub eax, edx
add edx, ecx
mov ecx, dword [ebp - 0x144]
mov dword [ebp - 0x150], edx
lea eax, [ebx + eax*4]
mov ebx, dword [ebp - 0x148]
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x13c]
add eax, 0x18
mov dword [ebp - 0x13c], eax
cmp edi, dword [ebp - 0x134]
jl 0x10029340
mov edx, dword [ebp - 0x14c]
mov eax, edx
mov ecx, dword [ebp - 0x130]
mov edi, dword [ebp - 0x10c]
add edx, edi
shl eax, 4
add ecx, eax
mov dword [ebx + 0x80], edi
mov eax, dword [ebp - 0x144]
mov dword [ebx + 0x7c], ecx
mov dword [ebp - 0x14c], edx
mov esi, dword [eax + 0x18]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x134], eax
cmp eax, 8
jbe 0x10029408
push 0xf11
push str.G:ProjectsNixware_GMODImgui_stb_truetype.h
push str.h_oversample___8
call fcn.10042241
mov ecx, dword [ebx + 0x7c]
add esp, 0xc
cmp esi, 8
jbe 0x10029427
push 0xf12
push str.G:ProjectsNixware_GMODImgui_stb_truetype.h
push str.v_oversample___8
call fcn.10042241
mov ecx, dword [ebx + 0x7c]
add esp, 0xc
cmp dword [ebp - 0x134], 8
mov edx, ebx
mov eax, dword [ebp - 0x118]
cmovbe eax, dword [ebp - 0x134]
cmp esi, 8
push ecx
push dword [ebx + 0x88]
mov dword [ebp - 0x164], eax
lea ecx, [ebp - 0x17c]
mov eax, dword [ebp - 0x120]
push dword [ebx + 0x84]
cmovbe eax, esi
mov dword [ebp - 0x160], eax
call fcn.10024ef0
mov esi, eax
add esp, 0xc
cmp esi, edi
je 0x1002948d
push 0x6c9
push str.G:ProjectsNixware_GMODImguiimgui_draw.cpp
push str.n__font_glyphs_count
call fcn.10042241
add esp, 0xc
mov edx, dword [ebx + 0x7c]
mov ecx, dword [ebp - 0x178]
push esi
call fcn.1001eca0
add esp, 4
test esi, esi
jle 0x100294d3
xor edx, edx
mov eax, dword [ebx + 0x7c]
cmp dword [eax + edx + 0xc], 0
je 0x100294cb
movzx ecx, word [eax + edx + 0xa]
mov edi, dword [ebp - 0x110]
movzx eax, word [eax + edx + 6]
add ecx, eax
cmp dword [edi + 0x18], ecx
cmovge ecx, dword [edi + 0x18]
mov dword [edi + 0x18], ecx
add edx, 0x10
sub esi, 1
jne 0x100294a5
mov edi, dword [ebp - 0x110]
add ebx, 0x8c
mov edx, dword [ebp - 0x140]
mov esi, dword [ebp - 0x128]
inc edx
mov eax, dword [ebp - 0x160]
add esi, 0x64
mov ecx, dword [edi + 0x3c]
mov dword [ebp - 0x140], edx
mov dword [ebp - 0x128], esi
mov dword [ebp - 0x148], ebx
mov dword [ebp - 0x120], eax
cmp edx, ecx
jge 0x1002956d
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x118], eax
jmp 0x10029280
mov eax, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x138]
mov dword [eax + 0x18], 0
mov dword [eax + 0x14], 0
mov eax, dword [0x100a78c0]
test ecx, ecx
je 0x1002954e
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
push ecx
call eax
add esp, 4
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10032397
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp - 0x164]
jmp 0x1002957a
mov ebx, 1
mov esi, dword [ebp - 0x114]
cmp dword [ebp - 0x14c], esi
je 0x1002959f
push 0x6d1
push str.G:ProjectsNixware_GMODImguiimgui_draw.cpp
push str.buf_rects_n__total_glyphs_count
call fcn.10042241
add esp, 0xc
cmp dword [ebp - 0x150], esi
je 0x100295be
push 0x6d2
push str.G:ProjectsNixware_GMODImguiimgui_draw.cpp
push str.buf_packedchars_n__total_glyphs_count
call fcn.10042241
add esp, 0xc
mov eax, dword [ebp - 0x12c]
cmp eax, dword [ebp - 0x11c]
je 0x100295e3
push 0x6d3
push str.G:ProjectsNixware_GMODImguiimgui_draw.cpp
push str.buf_ranges_n__total_ranges_count
call fcn.10042241
add esp, 0xc
mov ecx, dword [edi + 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 [edi + 0x14]
inc eax
mov dword [edi + 0x18], eax
imul ecx, eax
mov eax, dword [0x100a78c0]
inc dword [eax + 0x310]
mov eax, dword [eax + 0xbc]
push ecx
call eax
mov ecx, dword [edi + 0x18]
add esp, 4
imul ecx, dword [edi + 0x14]
mov dword [edi + 0xc], eax
push ecx
push 0
push eax
call fcn.10034320
mov eax, dword [edi + 0xc]
xor edx, edx
mov ecx, dword [edi + 0x3c]
add esp, 0xc
mov dword [ebp - 0x15c], eax
mov eax, dword [edi + 0x18]
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x118], edx
test ecx, ecx
jle 0x10029872
mov edi, dword [ebp - 0x138]
sub edi, 0xffffff80
mov dword [ebp - 0x11c], edx
mov dword [ebp - 0x12c], edi
nop word [eax + eax]
cmp edx, ecx
jl 0x1002969b
push 0x418
push str.G:ProjectsNixware_GMODImguiimgui.h
push str.i___Size
call fcn.10042241
add esp, 0xc
mov eax, dword [ebp - 0x110]
mov esi, dword [eax + 0x44]
add esi, dword [ebp - 0x11c]
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0x128], eax
cmp eax, 8
jbe 0x100296de
push 0xf11
push str.G:ProjectsNixware_GMODImgui_stb_truetype.h
push str.h_oversample___8
call fcn.10042241
mov ecx, dword [ebp - 0x114]
add esp, 0xc
cmp ecx, 8
jbe 0x10029700
push 0xf12
push str.G:ProjectsNixware_GMODImgui_stb_truetype.h
push str.v_oversample___8
call fcn.10042241
mov ecx, dword [ebp - 0x114]
add esp, 0xc
cmp dword [ebp - 0x128], 8
lea edx, [edi - 0x80]
push dword [edi - 4]
cmovbe ebx, dword [ebp - 0x128]
cmp ecx, 8
push dword [edi + 8]
mov eax, dword [ebp - 0x120]
push dword [edi + 4]
cmovbe eax, ecx
mov dword [ebp - 0x164], ebx
lea ecx, [ebp - 0x17c]
mov dword [ebp - 0x160], eax
call fcn.100252d0
movss xmm1, dword [esi + 0x3c]
add esp, 0xc
ucomiss xmm1, dword [0x1009f4d4]
movss dword [ebp - 0x114], xmm1
lahf
test ah, 0x44
jnp 0x10029825
xor esi, esi
movd xmm0, esi
mov eax, esi
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1009f9c0]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
call fcn.100517a0
movss xmm1, dword [ebp - 0x114]
mov edx, 0xff
cmp eax, edx
movzx ecx, al
cmovbe edx, ecx
mov byte [ebp + esi - 0x108], dl
inc esi
cmp esi, 0x100
jb 0x10029760
mov eax, dword [edi]
mov ebx, dword [edi - 4]
shl eax, 4
add eax, ebx
cmp ebx, eax
je 0x10029825
mov ecx, dword [ebp - 0x16c]
nop dword [eax]
cmp dword [ebx + 0xc], 0
je 0x10029816
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 - 0x15c]
add edx, eax
test edi, edi
je 0x10029810
xor ecx, ecx
test esi, esi
je 0x10029803
nop dword [eax + eax]
movzx eax, byte [ecx + edx]
mov al, byte [ebp + eax - 0x108]
mov byte [ecx + edx], al
inc ecx
cmp ecx, esi
jl 0x100297f0
mov ecx, dword [ebp - 0x16c]
dec edi
add edx, ecx
test edi, edi
jg 0x100297e5
mov edi, dword [ebp - 0x12c]
mov eax, dword [edi]
add ebx, 0x10
shl eax, 4
add eax, dword [edi - 4]
cmp ebx, eax
jne 0x100297c0
mov eax, dword [ebp - 0x110]
mov edx, dword [ebp - 0x118]
add dword [ebp - 0x11c], 0x64
inc edx
mov dword [edi - 4], 0
add edi, 0x8c
mov ecx, dword [eax + 0x3c]
mov dword [ebp - 0x118], edx
mov dword [ebp - 0x12c], edi
cmp edx, ecx
jge 0x10029870
mov eax, dword [ebp - 0x160]
mov ebx, dword [ebp - 0x164]
mov dword [ebp - 0x120], eax
jmp 0x10029680
mov edi, eax
cmp dword [ebp - 0x158], 0
mov eax, dword [0x100a78c0]
je 0x10029886
dec dword [eax + 0x310]
push dword [ebp - 0x158]
mov eax, dword [eax + 0xc0]
call eax
mov eax, dword [0x100a78c0]
add esp, 4
cmp dword [ebp - 0x178], 0
je 0x100298ab
dec dword [eax + 0x310]
push dword [ebp - 0x178]
mov eax, dword [eax + 0xc0]
call eax
mov ecx, dword [ebp - 0x130]
add esp, 4
mov eax, dword [0x100a78c0]
test ecx, ecx
je 0x100298d1
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
push ecx
call eax
mov eax, dword [edi + 0x3c]
xor ecx, ecx
add esp, 4
mov dword [ebp - 0x128], ecx
test eax, eax
jle 0x10029c54
mov esi, dword [ebp - 0x138]
xor edx, edx
add esi, 4
mov dword [ebp - 0x130], edx
mov dword [ebp - 0x11c], esi
cmp ecx, eax
jl 0x10029928
push 0x418
push str.G:ProjectsNixware_GMODImguiimgui.h
push str.i___Size
call fcn.10042241
mov edx, dword [ebp - 0x130]
add esp, 0xc
mov ebx, dword [edi + 0x44]
mov eax, 0x100
mov edi, dword [esi + 0x18]
add ebx, edx
mov esi, dword [esi]
cwde
mov dword [ebp - 0x120], ebx
mov ebx, dword [ebx + 0x60]
movzx ecx, byte [edi + esi + 6]
movzx edx, byte [edi + esi + 7]
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 dword [ebp - 0x114], eax
mov eax, 0x100
cwde
movsx ecx, cx
imul ecx, eax
add dx, cx
mov ecx, dword [ebp - 0x120]
movsx edi, dx
mov eax, edi
sub eax, dword [ebp - 0x114]
cmp byte [ecx + 0x34], 0
movss xmm1, dword [ecx + 0x10]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
movss dword [ebp - 0x118], xmm1
jne 0x100299ef
mov ecx, ebx
call fcn.1002ab50
mov ecx, dword [ebp - 0x120]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mov eax, dword [ecx + 0x10]
mov dword [ebx], eax
mov eax, dword [ebp - 0x110]
mov dword [ebx + 0x40], ecx
mulss xmm0, dword [ebp - 0x118]
mov dword [ebx + 0x44], eax
movss dword [ebx + 0x48], xmm0
movd xmm0, dword [ebp - 0x114]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [ebp - 0x118]
movss dword [ebx + 0x4c], xmm0
movss xmm0, dword [ebx + 0x48]
xor edx, edx
addss xmm0, dword [0x1009f4a4]
inc word [ebx + 0x3e]
mov esi, dword [ebp - 0x11c]
movss xmm7, dword [ecx + 0x28]
movss dword [ebp - 0x13c], xmm7
cvttss2si eax, xmm0
mov dword [ebp - 0x114], edx
movd xmm6, eax
cvtdq2ps xmm6, xmm6
addss xmm6, dword [ecx + 0x2c]
movss dword [ebp - 0x134], xmm6
cmp dword [esi + 0x84], edx
jle 0x10029c1b
xor eax, eax
mov dword [ebp - 0x118], eax
nop word [eax + eax]
mov esi, dword [esi + 0x80]
xor edi, edi
add esi, eax
cmp dword [esi + 0xc], edi
jle 0x10029bf9
xor eax, eax
mov dword [ebp - 0x10c], eax
nop dword [eax + eax]
mov edx, dword [esi + 0x10]
add edx, eax
cmp word [edx], 0
jne 0x10029a94
cmp word [edx + 4], 0
jne 0x10029a94
cmp word [edx + 2], 0
jne 0x10029a94
cmp word [edx + 6], 0
je 0x10029bda
mov eax, dword [esi + 4]
add eax, edi
cmp byte [ecx + 0x34], 0
movzx eax, ax
mov dword [ebp - 0x140], eax
je 0x10029ad7
movzx ecx, ax
cmp ecx, dword [ebx + 0x28]
jge 0x10029acc
mov eax, dword [ebx + 0x30]
movzx eax, word [eax + ecx*2]
mov ecx, 0xffff
cmp ax, cx
je 0x10029acc
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0x18]
lea eax, [eax + ecx*8]
jmp 0x10029acf
mov eax, dword [ebx + 0x34]
test eax, eax
jne 0x10029bce
mov eax, dword [ebp - 0x110]
sub esp, 0x1c
movss xmm1, dword [0x1009f4d4]
mov ecx, dword [esi + 0x10]
add ecx, dword [ebp - 0x10c]
movd xmm0, dword [eax + 0x14]
movss xmm3, dword [0x1009f4d4]
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
movd xmm0, dword [eax + 0x18]
movzx eax, word [ecx]
cvtdq2ps xmm0, xmm0
movd xmm5, eax
movzx eax, word [ecx + 2]
divss xmm3, xmm0
movss xmm0, dword [edx + 0x10]
movd xmm4, eax
movzx eax, word [ecx + 4]
cvtdq2ps xmm5, xmm5
movd xmm2, eax
movzx eax, word [ecx + 6]
cvtdq2ps xmm2, xmm2
mulss xmm5, xmm1
mulss xmm2, xmm1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [esp + 0x18], xmm0
movss xmm0, dword [ecx + 0x18]
mulss xmm1, xmm3
cvtdq2ps xmm4, xmm4
movss dword [esp + 0x14], xmm1
xorps xmm1, xmm1
addss xmm0, xmm1
mulss xmm4, xmm3
movss xmm3, dword [ecx + 0xc]
movss dword [esp + 0x10], xmm2
addss xmm3, xmm1
movss xmm2, dword [ecx + 8]
addss xmm0, xmm6
movss dword [esp + 0xc], xmm4
movss dword [esp + 8], xmm5
addss xmm2, xmm1
addss xmm3, xmm6
movss dword [esp + 4], xmm0
movss xmm0, dword [ecx + 0x14]
addss xmm2, xmm7
addss xmm0, xmm1
mov ecx, ebx
addss xmm0, xmm7
movss dword [esp], xmm0
push dword [ebp - 0x140]
call fcn.1002b110
movss xmm6, dword [ebp - 0x134]
movss xmm7, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x120]
mov eax, dword [ebp - 0x10c]
inc edi
add eax, 0x1c
mov dword [ebp - 0x10c], eax
cmp edi, dword [esi + 0xc]
jl 0x10029a70
mov eax, dword [ebp - 0x118]
mov edx, dword [ebp - 0x114]
mov esi, dword [ebp - 0x11c]
inc edx
add eax, 0x18
mov dword [ebp - 0x114], edx
mov dword [ebp - 0x118], eax
cmp edx, dword [esi + 0x84]
jl 0x10029a50
mov edi, dword [ebp - 0x110]
add esi, 0x8c
mov ecx, dword [ebp - 0x128]
mov edx, dword [ebp - 0x130]
inc ecx
add edx, 0x64
mov dword [ebp - 0x128], ecx
mov eax, dword [edi + 0x3c]
mov dword [ebp - 0x130], edx
mov dword [ebp - 0x11c], esi
cmp ecx, eax
jl 0x10029928
mov ecx, dword [ebp - 0x154]
mov eax, dword [0x100a78c0]
test ecx, ecx
je 0x10029c69
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
push ecx
call eax
mov ecx, dword [ebp - 0x124]
add esp, 4
mov eax, dword [0x100a78c0]
test ecx, ecx
je 0x10029c8a
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
push ecx
call eax
mov ecx, dword [ebp - 0x138]
add esp, 4
mov eax, dword [0x100a78c0]
test ecx, ecx
je 0x10029cab
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
push ecx
call eax
add esp, 4
mov ecx, edi
call fcn.1002a820
mov ecx, dword [ebp - 4]
mov al, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10032397
mov esp, ebp
pop ebp
ret