Function at 0x435de0
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x43c01d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x90
push ebx
push esi
mov esi, ecx
push edi
mov edi, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov dword [ebp - 0x28], esi
cmp dword [esi + 0xe8], 0
jg 0x435e29
push 0x731
push 0x44e4c0
push str.ConfigData.Size___0
call edi
add esp, 0xc
mov ecx, dword [esi + 4]
mov dword [esi], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
test ecx, ecx
je 0x435e69
mov eax, dword [0x45c7f4]
push ecx
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
call eax
add esp, 4
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x435e87
mov eax, dword [0x45c7f4]
push ecx
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
call eax
add esp, 4
imul ecx, dword [esi + 0xe8], 0x84
mov eax, dword [0x45c7f4]
mov dword [esi + 4], 0
mov dword [esi + 8], 0
inc dword [eax + 0x310]
mov eax, dword [eax + 0xbc]
push ecx
call eax
xor ecx, ecx
mov dword [ebp - 0x48], eax
xor ebx, ebx
mov dword [ebp - 0x40], ecx
mov ecx, dword [esi + 0xe8]
xor eax, eax
add esp, 4
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x44], eax
test ecx, ecx
jle 0x435fdd
mov ebx, dword [ebp - 0x48]
xor edx, edx
mov dword [ebp - 0x10], ebx
mov ebx, eax
mov dword [ebp - 0x1c], edx
jmp 0x435eeb
mov edi, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
cmp eax, ecx
jl 0x435f06
push 0x371
push 0x44c6e8
push str.i___Size
call edi
mov edx, dword [ebp - 0x1c]
add esp, 0xc
mov edi, dword [esi + 0xf0]
add edi, edx
mov eax, dword [edi + 0x58]
test eax, eax
je 0x435f20
mov eax, dword [eax + 0x44]
test eax, eax
je 0x435f38
cmp eax, esi
je 0x435f38
push 0x749
push 0x44e4c0
push str.cfg.DstFont____cfg.DstFont__IsLoaded____cfg.DstFont__ContainerAtlas__this_
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
mov edx, dword [edi + 0xc]
mov ecx, dword [edi]
call fcn.0042cb20
mov dword [ebp - 0x24], eax
test eax, eax
jns 0x435f64
push 0x74b
push 0x44e4c0
push str.font_offset___0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov eax, dword [ebp - 0x24]
add esp, 0xc
mov edx, dword [edi]
mov ecx, dword [ebp - 0x10]
push eax
call fcn.0042ce00
add esp, 4
test eax, eax
je 0x435ff3
mov edx, dword [edi + 0x30]
test edx, edx
jne 0x435f89
mov dword [edi + 0x30], 0x44f4a8
mov edx, 0x44f4a8
cmp word [edx], 0
je 0x435fb8
mov esi, dword [ebp - 0x40]
movzx eax, word [edx + 2]
test ax, ax
je 0x435faf
mov ecx, eax
inc ebx
movzx eax, word [edx]
inc esi
add edx, 4
sub ecx, eax
add ebx, ecx
cmp word [edx], 0
jne 0x435f92
mov dword [ebp - 0x40], esi
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x3c], ebx
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x1c]
inc eax
add dword [ebp - 0x10], 0x84
add edx, 0x5c
mov ecx, dword [esi + 0xe8]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x1c], edx
cmp eax, ecx
jl 0x435ee5
mov edi, dword [esi + 0x14]
test edi, edi
jg 0x436028
cmp ebx, 0xfa0
jle 0x436006
mov edi, 0x1000
jmp 0x436028
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp ebx, 0x7d0
jle 0x436015
mov edi, 0x800
jmp 0x436028
cmp ebx, 0x3e8
mov edi, 0x200
mov eax, 0x400
cmovg edi, eax
mov eax, dword [0x45c7f4]
mov dword [esi + 0xc], edi
mov dword [esi + 0x10], 0
push 0x30
inc dword [eax + 0x310]
mov eax, dword [eax + 0xbc]
call eax
mov ecx, dword [0x45c7f4]
add esp, 4
mov dword [ebp - 0x14], eax
inc dword [ecx + 0x310]
mov edx, dword [ecx + 0xbc]
lea ecx, [edi*8 - 8]
push ecx
call edx
mov ecx, eax
add esp, 4
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x4360c4
test ecx, ecx
je 0x4360bf
lea edx, [edi - 1]
mov dword [ebp - 0x6c], ecx
push edx
push ecx
push ecx
mov ecx, eax
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x88], edi
mov dword [ebp - 0x84], 0x8000
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x7c], 1
mov dword [ebp - 0x80], edi
call fcn.0042bbf0
add esp, 0xc
jmp 0x4360e8
push dword [ebp - 0x14]
jmp 0x4360c9
test ecx, ecx
je 0x4360df
push ecx
mov eax, dword [0x45c7f4]
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
call eax
add esp, 4
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x5c], 0
lea eax, [ebp - 0x64]
mov dword [ebp - 4], 0
push eax
push 0
mov ecx, esi
call fcn.00436bb0
mov edi, dword [ebp - 0x64]
mov eax, 1
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x1c], eax
test edi, edi
jg 0x43613f
push 0x371
push 0x44c6e8
push str.i___Size
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
mov edx, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x14]
push edi
call fcn.0042c1b0
mov eax, dword [ebp - 0x64]
add esp, 4
xor edi, edi
test eax, eax
jle 0x4361ee
mov edx, dword [ebp - 0x5c]
add edx, 0xa
mov dword [ebp - 0x10], edx
cmp edi, eax
jl 0x436186
push 0x371
push 0x44c6e8
push str.i___Size
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov edx, dword [ebp - 0x10]
add esp, 0xc
mov eax, dword [ebp - 0x64]
cmp dword [edx + 2], 0
je 0x4361e3
cmp edi, eax
jl 0x4361cd
push 0x371
push 0x44c6e8
push str.i___Size
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov eax, dword [ebp - 0x64]
add esp, 0xc
mov edx, dword [ebp - 0x10]
cmp edi, eax
jl 0x4361cd
push 0x371
push 0x44c6e8
push str.i___Size
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov edx, dword [ebp - 0x10]
add esp, 0xc
movzx eax, word [edx]
movzx ecx, word [edx - 4]
add ecx, eax
mov eax, dword [ebp - 0x64]
cmp dword [esi + 0x10], ecx
cmovge ecx, dword [esi + 0x10]
mov dword [esi + 0x10], ecx
inc edi
add edx, 0x10
mov dword [ebp - 0x10], edx
cmp edi, eax
jl 0x436186
mov eax, dword [0x45c7f4]
mov edi, dword [ebp - 0x3c]
shl ebx, 3
sub ebx, edi
mov dword [ebp - 0x30], 0
inc dword [eax + 0x310]
mov eax, dword [eax + 0xbc]
shl ebx, 2
push ebx
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x20], 0
call eax
mov ecx, dword [0x45c7f4]
add esp, 4
shl edi, 4
mov dword [ebp - 0x68], eax
inc dword [ecx + 0x310]
mov ecx, dword [ecx + 0xbc]
push edi
call ecx
mov ecx, dword [0x45c7f4]
add esp, 4
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x40]
inc dword [ecx + 0x310]
mov ecx, dword [ecx + 0xbc]
lea esi, [eax + eax*2]
shl esi, 3
push esi
call ecx
add esp, 4
mov dword [ebp - 0x44], eax
push ebx
push 0
push dword [ebp - 0x68]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push edi
push 0
push dword [ebp - 0x38]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push esi
push 0
push dword [ebp - 0x44]
call sub.VCRUNTIME140.dll_memset
mov ebx, dword [ebp - 0x28]
xor ecx, ecx
add esp, 0xc
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebx + 0xe8]
test eax, eax
jle 0x4364af
mov esi, dword [ebp - 0x48]
xor edi, edi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x10], esi
cmp ecx, eax
jl 0x4362d1
push 0x371
push 0x44c6e8
push str.i___Size
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
mov ecx, dword [ebx + 0xf0]
add ecx, edi
mov dword [ebp - 0x50], 0
xor edi, edi
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x4c], edi
mov edx, dword [ecx + 0x30]
movzx eax, word [edx]
mov ebx, eax
mov dword [ebp - 0x18], ebx
test ax, ax
je 0x436329
movzx eax, ax
mov esi, edi
nop dword [eax]
movzx ecx, word [edx + 2]
test cx, cx
je 0x43631d
add edx, 4
movzx eax, ax
sub ecx, eax
inc esi
add esi, ecx
inc edi
movzx eax, word [edx]
test ax, ax
jne 0x436300
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x50], esi
mov esi, dword [ebp - 0x10]
mov dword [ebp - 0x4c], edi
mov edx, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x44]
mov dword [esi + 0x80], edi
lea eax, [edx + edx*2]
add edx, edi
lea eax, [ebx + eax*8]
mov dword [ebp - 0x20], edx
mov ebx, dword [ebp - 0x28]
xor edi, edi
mov dword [esi + 0x7c], eax
cmp dword [ebp - 0x4c], edi
jle 0x4363ad
mov ebx, dword [ebp - 0x10]
xor eax, eax
mov dword [ebp - 0x18], eax
mov edx, dword [ecx + 0x30]
mov esi, dword [ebx + 0x7c]
mov ebx, dword [ebp - 0x68]
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 - 0x30]
sub ecx, eax
inc ecx
mov dword [esi + 0xc], ecx
lea eax, [edx*8]
sub eax, edx
add edx, ecx
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x30], edx
lea eax, [ebx + eax*4]
mov ebx, dword [ebp - 0x10]
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x18]
add eax, 0x18
mov dword [ebp - 0x18], eax
cmp edi, dword [ebp - 0x4c]
jl 0x436355
mov ebx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x10]
mov edx, dword [ebp - 0x58]
mov eax, edx
mov ecx, dword [ebp - 0x38]
add edx, dword [ebp - 0x50]
shl eax, 4
add ecx, eax
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x54]
mov dword [esi + 0x78], ecx
mov edi, dword [eax + 0x18]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x18], eax
cmp eax, 8
jbe 0x4363ef
push 0xd93
push 0x44df58
push str.h_oversample___8
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov ecx, dword [esi + 0x78]
add esp, 0xc
cmp edi, 8
jbe 0x43640f
push 0xd94
push 0x44df58
push str.v_oversample___8
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov ecx, dword [esi + 0x78]
add esp, 0xc
cmp dword [ebp - 0x18], 8
mov edx, esi
mov eax, dword [ebp - 0x34]
cmovbe eax, dword [ebp - 0x18]
cmp edi, 8
push ecx
push dword [esi + 0x80]
mov dword [ebp - 0x34], eax
lea ecx, [ebp - 0x90]
push dword [esi + 0x7c]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x1c]
cmovbe eax, edi
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x74], eax
call fcn.00431f60
mov edx, dword [esi + 0x78]
add esp, 0xc
mov ecx, dword [ebp - 0x14]
mov edi, eax
push edi
call fcn.0042c1b0
add esp, 4
test edi, edi
jle 0x436488
xor edx, edx
mov eax, dword [esi + 0x78]
cmp dword [edx + eax + 0xc], 0
je 0x436480
movzx ecx, word [edx + eax + 0xa]
movzx eax, word [edx + eax + 6]
add ecx, eax
cmp dword [ebx + 0x10], ecx
cmovge ecx, dword [ebx + 0x10]
mov dword [ebx + 0x10], ecx
add edx, 0x10
sub edi, 1
jne 0x436460
mov ecx, dword [ebp - 0x2c]
add esi, 0x84
mov edi, dword [ebp - 0x24]
inc ecx
mov eax, dword [ebx + 0xe8]
add edi, 0x5c
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x10], esi
cmp ecx, eax
jl 0x4362d1
mov esi, dword [ebp - 0x3c]
mov edi, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
cmp dword [ebp - 0x58], esi
je 0x4364d1
push 0x79b
push 0x44e4c0
push str.buf_rects_n__total_glyph_count
call edi
add esp, 0xc
cmp dword [ebp - 0x30], esi
je 0x4364ea
push 0x79c
push 0x44e4c0
push str.buf_packedchars_n__total_glyph_count
call edi
add esp, 0xc
mov ecx, dword [ebp - 0x40]
cmp dword [ebp - 0x20], ecx
je 0x436506
push 0x79d
push 0x44e4c0
push str.buf_ranges_n__total_glyph_range_count
call edi
add esp, 0xc
mov ecx, dword [ebx + 0x10]
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 + 0xc]
inc eax
mov dword [ebx + 0x10], eax
imul ecx, eax
mov eax, dword [0x45c7f4]
inc dword [eax + 0x310]
mov eax, dword [eax + 0xbc]
push ecx
call eax
mov ecx, dword [ebx + 0x10]
add esp, 4
imul ecx, dword [ebx + 0xc]
mov dword [ebx + 4], eax
push ecx
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov eax, dword [ebx + 4]
xor ecx, ecx
mov edx, dword [ebx + 0xe8]
add esp, 0xc
mov dword [ebp - 0x70], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x2c], ecx
test edx, edx
jle 0x436669
mov esi, dword [ebp - 0x48]
mov edi, dword [ebp - 0x34]
add esi, 0x78
mov dword [ebp - 0x20], ecx
cmp ecx, edx
jl 0x4365ad
push 0x371
push 0x44c6e8
push str.i___Size
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
mov eax, dword [ebx + 0xf0]
add eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0x18]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x18], eax
cmp eax, 8
jbe 0x4365e2
push 0xd93
push 0x44df58
push str.h_oversample___8
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov ecx, dword [ebp - 0x24]
add esp, 0xc
cmp ecx, 8
jbe 0x436602
push 0xd94
push 0x44df58
push str.v_oversample___8
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov ecx, dword [ebp - 0x24]
add esp, 0xc
cmp dword [ebp - 0x18], 8
lea edx, [esi - 0x78]
push dword [esi]
cmovbe edi, dword [ebp - 0x18]
cmp ecx, 8
push dword [esi + 8]
mov eax, dword [ebp - 0x1c]
push dword [esi + 4]
cmovbe eax, ecx
mov dword [ebp - 0x78], edi
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x74], eax
call fcn.00432220
mov ecx, dword [ebp - 0x2c]
add esp, 0xc
add dword [ebp - 0x20], 0x5c
inc ecx
mov dword [esi], 0
add esi, 0x84
mov edx, dword [ebx + 0xe8]
mov dword [ebp - 0x2c], ecx
cmp ecx, edx
jge 0x436661
mov eax, dword [ebp - 0x74]
mov edi, dword [ebp - 0x78]
mov dword [ebp - 0x1c], eax
jmp 0x436591
mov esi, dword [ebp - 0x8c]
jmp 0x43666c
mov esi, dword [ebp - 0x14]
cmp dword [ebp - 0x6c], 0
mov eax, dword [0x45c7f4]
je 0x43667d
dec dword [eax + 0x310]
push dword [ebp - 0x6c]
mov eax, dword [eax + 0xc0]
call eax
mov eax, dword [0x45c7f4]
add esp, 4
test esi, esi
je 0x43669a
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
push esi
call eax
mov ecx, dword [ebp - 0x38]
add esp, 4
mov eax, dword [0x45c7f4]
test ecx, ecx
je 0x4366b8
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
push ecx
call eax
mov eax, dword [ebx + 0xe8]
xor ecx, ecx
add esp, 4
mov dword [ebp - 0x18], ecx
test eax, eax
jle 0x436b0c
mov edi, dword [ebp - 0x48]
xor esi, esi
add edi, 4
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x34], edi
cmp ecx, eax
jl 0x436701
push 0x371
push 0x44c6e8
push str.i___Size
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
mov eax, dword [ebx + 0xf0]
mov edx, dword [edi]
add eax, esi
mov esi, dword [edi + 0x18]
mov dword [ebp - 0x14], eax
mov ebx, dword [eax + 0x58]
mov eax, 0x100
movzx ecx, byte [esi + edx + 6]
cwde
movsx ecx, cx
imul ecx, eax
movzx eax, byte [esi + edx + 7]
add cx, ax
mov eax, 0x100
movsx edi, cx
movzx ecx, byte [esi + edx + 4]
cwde
movsx ecx, cx
imul ecx, eax
movzx eax, byte [esi + edx + 5]
mov esi, dword [ebp - 0x14]
movd xmm2, edi
cvtdq2ps xmm2, xmm2
add cx, ax
movsx ecx, cx
mov eax, ecx
sub eax, edi
cmp byte [esi + 0x34], 0
movss xmm1, dword [esi + 0x10]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm2, xmm1
mulss xmm0, xmm1
jne 0x4367b1
mov esi, dword [ebp - 0x28]
lea ecx, [ebx + 0x10]
mov dword [ebx + 0x44], esi
xor eax, eax
mov esi, dword [ebp - 0x14]
mov dword [ebx + 0x40], esi
mov word [ebx + 0x3e], ax
push 0
mov eax, dword [esi + 0x10]
mov dword [ebx], eax
movss dword [ebx + 0x48], xmm0
movss dword [ebx + 0x4c], xmm2
call fcn.0042b200
mov dword [ebx + 0x50], 0
inc word [ebx + 0x3e]
xor edx, edx
movss xmm0, dword [esi + 0x28]
mov edi, dword [ebp - 0x34]
movss dword [ebp - 0x54], xmm0
movss xmm0, dword [esi + 0x2c]
mov dword [ebx + 0x34], 0
movss dword [ebp - 0x4c], xmm0
mov dword [ebp - 0x24], edx
cmp dword [edi + 0x7c], edx
jle 0x436ada
xor eax, eax
mov dword [ebp - 0x2c], eax
mov edi, dword [edi + 0x78]
xor ecx, ecx
add edi, eax
mov dword [ebp - 0x38], ecx
cmp dword [edi + 0xc], ecx
jle 0x436ac4
xor edx, edx
mov dword [ebp - 0x10], edx
nop
mov esi, dword [edi + 0x10]
add esi, edx
cmp word [esi], 0
jne 0x436824
cmp word [esi + 4], 0
jne 0x436824
cmp word [esi + 2], 0
jne 0x436824
cmp word [esi + 6], 0
je 0x436aa8
mov edx, dword [ebp - 0x14]
mov eax, dword [edi + 4]
add eax, ecx
movzx eax, ax
cmp byte [edx + 0x34], 0
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x30], eax
je 0x436873
movzx edx, ax
cmp edx, dword [ebx + 0x28]
jge 0x436862
mov eax, dword [ebx + 0x30]
movzx eax, word [eax + edx*2]
mov edx, 0xffff
cmp ax, dx
je 0x436862
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0x18]
lea eax, [eax + ecx*8]
mov ecx, dword [ebp - 0x38]
jmp 0x436865
mov eax, dword [ebx + 0x34]
mov edx, dword [ebp - 0x10]
test eax, eax
jne 0x436aa8
mov eax, dword [ebp - 0x30]
movss xmm2, dword [0x44fb0c]
xorps xmm3, xmm3
mov ecx, dword [edi + 0x10]
movaps xmm1, xmm2
movzx eax, ax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x28]
movd xmm0, dword [eax + 0xc]
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
movd xmm0, dword [eax + 0x10]
cvtdq2ps xmm0, xmm0
movzx eax, word [edx + ecx]
divss xmm2, xmm0
movss xmm0, dword [edx + ecx + 8]
addss xmm0, xmm3
movss dword [ebp - 0x58], xmm0
movss xmm0, dword [edx + ecx + 0xc]
addss xmm0, xmm3
movss dword [ebp - 0x50], xmm0
movss xmm0, dword [edx + ecx + 0x14]
addss xmm0, xmm3
movss dword [ebp - 0x1c], xmm0
movss xmm0, dword [edx + ecx + 0x18]
addss xmm0, xmm3
movss dword [ebp - 0x40], xmm0
movd xmm0, eax
movzx eax, word [edx + ecx + 2]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x3c], xmm0
movd xmm0, eax
movzx eax, word [edx + ecx + 4]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
movss dword [ebp - 0x94], xmm0
movd xmm0, eax
movzx eax, word [edx + ecx + 6]
lea ecx, [ebx + 0x10]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x98], xmm0
movd xmm0, eax
mov eax, dword [ecx]
cvtdq2ps xmm0, xmm0
inc eax
push eax
mulss xmm0, xmm2
movss dword [ebp - 0x9c], xmm0
call fcn.0042b200
cmp dword [ebx + 0x10], 0
jg 0x436967
push 0x37b
push 0x44c6e8
push str.Size___0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
mov eax, dword [ebx + 0x10]
mov edx, dword [ebx + 0x18]
movss xmm0, dword [ebp - 0x58]
addss xmm0, dword [ebp - 0x54]
movss xmm5, dword [ebp - 0x50]
lea ecx, [eax + eax*4]
movss xmm6, dword [ebp - 0x40]
addss xmm5, dword [ebp - 0x4c]
addss xmm6, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x30]
movss xmm3, dword [ebp - 0x3c]
movss xmm4, dword [ebp - 0x94]
movss xmm1, dword [ebp - 0x98]
movss xmm2, dword [ebp - 0x9c]
movss xmm7, dword [0x44fae4]
movss dword [edx + ecx*8 - 0x20], xmm0
movss xmm0, dword [ebp - 0x1c]
addss xmm0, dword [ebp - 0x54]
mov word [edx + ecx*8 - 0x28], ax
movss dword [edx + ecx*8 - 0x1c], xmm5
movss dword [edx + ecx*8 - 0x14], xmm6
movss dword [edx + ecx*8 - 0x10], xmm3
movss dword [edx + ecx*8 - 0x18], xmm0
movss dword [edx + ecx*8 - 0xc], xmm4
movss dword [edx + ecx*8 - 8], xmm1
movss dword [edx + ecx*8 - 4], xmm2
movss xmm0, dword [ebx + 0x48]
addss xmm0, xmm7
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm5
movss dword [edx + ecx*8 - 0x1c], xmm0
movss xmm0, dword [ebx + 0x48]
addss xmm0, xmm7
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm6
movss dword [edx + ecx*8 - 0x14], xmm0
movss xmm0, dword [esi + 0x10]
mov esi, dword [ebp - 0x14]
addss xmm0, dword [esi + 0x20]
movss dword [edx + ecx*8 - 0x24], xmm0
cmp byte [esi + 0x1c], 0
je 0x436a5f
addss xmm0, xmm7
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edx + ecx*8 - 0x24], xmm0
mov eax, dword [ebp - 0x28]
subss xmm1, xmm3
subss xmm2, xmm4
mov edx, dword [ebp - 0x10]
movd xmm0, dword [eax + 0xc]
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
movd xmm0, dword [eax + 0x10]
cvtdq2ps xmm0, xmm0
addss xmm1, dword [0x44fb38]
mulss xmm2, xmm0
addss xmm2, dword [0x44fb38]
cvttss2si ecx, xmm1
cvttss2si eax, xmm2
imul ecx, eax
add dword [ebx + 0x50], ecx
mov ecx, dword [ebp - 0x38]
jmp 0x436aab
mov esi, dword [ebp - 0x14]
inc ecx
add edx, 0x1c
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x10], edx
cmp ecx, dword [edi + 0xc]
jl 0x436800
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x34]
inc edx
add eax, 0x18
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x2c], eax
cmp edx, dword [edi + 0x7c]
jl 0x4367e6
mov ecx, dword [esi + 0x58]
call fcn.004375b0
mov ebx, dword [ebp - 0x28]
add edi, 0x84
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x20]
inc ecx
add esi, 0x5c
mov dword [ebp - 0x18], ecx
mov eax, dword [ebx + 0xe8]
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x34], edi
cmp ecx, eax
jl 0x436701
mov ecx, dword [ebp - 0x68]
mov eax, dword [0x45c7f4]
test ecx, ecx
je 0x436b1e
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
push ecx
call eax
mov ecx, dword [ebp - 0x44]
add esp, 4
mov eax, dword [0x45c7f4]
test ecx, ecx
je 0x436b3c
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
push ecx
call eax
mov ecx, dword [ebp - 0x48]
add esp, 4
mov eax, dword [0x45c7f4]
test ecx, ecx
je 0x436b5a
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
push ecx
call eax
add esp, 4
lea eax, [ebp - 0x64]
mov ecx, ebx
push eax
push 1
call fcn.00436bb0
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0x5c]
test ecx, ecx
je 0x436b98
mov eax, dword [0x45c7f4]
push ecx
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
call eax
add esp, 4
mov ecx, dword [ebp - 0xc]
mov al, 1
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret