Function at 0x416880
Capabilities:
Packed with generic packer

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x3a968
call fcn.00635b40
push ebx
push esi
push edi
xor edi, edi
push str.creating_render_list
mov dword [esp + 0x18], edi
call fcn.0044f400
mov edx, dword [ebp + 8]
add esp, 4
lea esi, [esp + 0x10]
mov dword [esp + 0x10], edi
call fcn.0041c950
test al, al
je 0x416977
lea ebx, [esp + 0x18]
mov esi, dword [esp + 0x10]
cmp dword [esi + 0x134], 0
jne 0x41695f
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x8c]
mov dword [ebx], 5
mov eax, dword [esi + 0x20]
mov dword [ebx + 4], eax
mov dword [ebx + 8], esi
add ebx, 0xc
add edi, 1
cmp dword [edx + 0x7f8], 0x2b
mov dword [esp + 0x14], ebx
jne 0x416925
cmp dword [esi + 0x13c], 0xffffffff
je 0x416925
mov dword [ebx], 6
mov eax, dword [esi + 0xc]
add eax, 0x4af38
mov dword [ebx + 4], eax
mov dword [ebx + 8], esi
add edi, 1
add ebx, 0xc
mov dword [esp + 0x14], ebx
mov eax, dword [esi + 0x24]
jmp loc.00870400
mov edx, dword [ebp + 8]
lea esi, [esp + 0x10]
call fcn.0041c950
test al, al
jne 0x4168c2
mov dword [esp + 0x14], edi
mov ebx, dword [ebp + 8]
lea esi, [esp + 0x10]
mov edx, ebx
mov dword [esp + 0x10], 0
call fcn.0041ca10
test al, al
je 0x4169cf
lea ebx, [edi + edi*2]
lea ebx, [esp + ebx*4 + 0x20]
jmp 0x4169a0
mov eax, dword [esp + 0x10]
mov edx, dword [ebp + 8]
mov dword [ebx - 8], 0
mov ecx, dword [eax + 0x20]
mov dword [ebx - 4], ecx
mov dword [ebx], eax
lea esi, [esp + 0x10]
add edi, 1
add ebx, 0xc
call fcn.0041ca10
test al, al
jne 0x4169a0
mov dword [esp + 0x14], edi
mov ebx, edx
lea esi, [esp + 0x10]
mov edx, ebx
mov dword [esp + 0x10], 0
call fcn.0041c8f0
test al, al
je 0x416a9b
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x24], 0x19
jne 0x416a0a
push ecx
lea edx, [esp + 0x18]
push edx
push ebx
lea eax, [esp + 0x24]
call fcn.004166c0
mov edi, dword [esp + 0x14]
jmp 0x416a88
lea eax, [edi + edi*2]
lea eax, [esp + eax*4 + 0x18]
mov dword [eax], 2
mov edx, dword [ecx + 0x20]
add edi, 1
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [esp + 0x14], edi
call fcn.00533f70
test al, al
je 0x416a59
lea eax, [edi + edi*2]
lea eax, [esp + eax*4 + 0x18]
mov dword [eax], 3
mov edx, dword [ecx + 0x1c]
imul edx, edx, 0x2710
add edx, 0x30d43
add edi, 1
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [esp + 0x14], edi
cmp dword [ecx + 0x24], 0x14
jne 0x416a88
lea eax, [edi + edi*2]
lea eax, [esp + eax*4 + 0x18]
mov dword [eax], 4
mov edx, dword [ecx + 0x1c]
imul edx, edx, 0x2710
add edx, 0x4a769
add edi, 1
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [esp + 0x14], edi
lea esi, [esp + 0x10]
mov edx, ebx
call fcn.0041c8f0
test al, al
jne 0x4169ea
lea esi, [esp + 0x10]
mov edx, ebx
mov dword [esp + 0x10], 0
call fcn.0041c9b0
test al, al
je 0x416b0a
lea ebx, [edi + edi*2]
lea ebx, [esp + ebx*4 + 0x18]
lea esp, [esp]
mov eax, dword [esp + 0x10]
mov dword [ebx], 1
mov ecx, dword [eax + 0x20]
mov dword [ebx + 4], ecx
mov dword [ebx + 8], eax
add ebx, 0xc
mov dword [ebx], 0x13
mov edx, dword [eax + 0x1c]
imul edx, edx, 0x2710
add edx, 0x30d43
mov dword [ebx + 4], edx
mov edx, dword [ebp + 8]
add edi, 1
mov dword [ebx + 8], eax
lea esi, [esp + 0x10]
add edi, 1
add ebx, 0xc
call fcn.0041c9b0
test al, al
jne 0x416ac0
mov edx, dword [ebp + 8]
lea esi, [esp + 0x10]
mov dword [esp + 0x10], 0
call fcn.0041ca70
test al, al
je 0x416b59
lea ebx, [edi + edi*2]
lea ebx, [esp + ebx*4 + 0x20]
lea esp, [esp]
mov eax, dword [esp + 0x10]
mov edx, dword [ebp + 8]
mov dword [ebx - 8], 0x14
mov ecx, dword [eax + 0x10]
mov dword [ebx - 4], ecx
mov dword [ebx], eax
lea esi, [esp + 0x10]
add edi, 1
add ebx, 0xc
call fcn.0041ca70
test al, al
jne 0x416b30
mov eax, dword [ebp + 8]
lea esi, [esp + 0x10]
mov dword [esp + 0x10], 0
call fcn.0041cb30
test al, al
je 0x416ba7
lea ebx, [edi + edi*2]
lea ebx, [esp + ebx*4 + 0x20]
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x1d], 0
jne 0x416b97
mov dword [ebx - 8], 9
mov edx, dword [eax + 0x20]
mov dword [ebx - 4], edx
mov dword [ebx], eax
add edi, 1
add ebx, 0xc
mov eax, dword [ebp + 8]
lea esi, [esp + 0x10]
call fcn.0041cb30
test al, al
jne 0x416b78
mov eax, dword [ebp + 8]
lea esi, [esp + 0x10]
mov dword [esp + 0x10], 0
call fcn.0041cb90
test al, al
je 0x416bf5
lea ebx, [edi + edi*2]
lea ebx, [esp + ebx*4 + 0x20]
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x64], 0
jne 0x416be5
mov dword [ebx - 8], 0xa
mov ecx, dword [eax + 0x68]
mov dword [ebx - 4], ecx
mov dword [ebx], eax
add edi, 1
add ebx, 0xc
mov eax, dword [ebp + 8]
lea esi, [esp + 0x10]
call fcn.0041cb90
test al, al
jne 0x416bc6
mov edx, dword [ebp + 8]
xor ebx, ebx
lea esi, [esp + 0x10]
mov dword [esp + 0x10], ebx
call fcn.0041cad0
test al, al
je 0x416c7e
fld qword [0x679318]
lea ebx, [edi + edi*2]
lea ebx, [esp + ebx*4 + 0x18]
mov esi, dword [esp + 0x10]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x8c]
mov dword [ebx], 0x17
mov edx, dword [esi + 0x1c]
mov dword [ebx + 4], edx
mov dword [ebx + 8], esi
add edi, 1
add ebx, 0xc
cmp dword [ecx + 0x7f8], 0x2b
jne 0x416c6a
cmp dword [esi + 8], 0xa
jne 0x416c6a
mov dword [ebx], 0x18
fld dword [esi + 0x28]
fsub st(1)
call fcn.006397d0
add eax, 0x4af38
mov dword [ebx + 4], eax
mov dword [ebx + 8], esi
add edi, 1
add ebx, 0xc
mov edx, dword [ebp + 8]
lea esi, [esp + 0x10]
call fcn.0041cad0
test al, al
jne 0x416c18
fstp st(0)
xor ebx, ebx
cmp dword [edx + 0x624], ebx
je 0x416ca0
lea eax, [edi + edi*2]
lea eax, [esp + eax*4 + 0x18]
mov dword [eax], 0xb
mov dword [eax + 8], ebx
mov dword [eax + 4], 0x30d42
add edi, 1
cmp dword [edx + 0x628], ebx
je 0x416cc6
lea eax, [edi + edi*2]
lea eax, [esp + eax*4 + 0x18]
mov dword [eax], 0xb
mov dword [eax + 8], 1
mov dword [eax + 4], 0x33452
add edi, 1
cmp dword [edx + 0x62c], ebx
je 0x416cec
lea eax, [edi + edi*2]
lea eax, [esp + eax*4 + 0x18]
mov dword [eax], 0xb
mov dword [eax + 8], 2
mov dword [eax + 4], 0x35b62
add edi, 1
cmp dword [edx + 0x630], ebx
je 0x416d12
lea eax, [edi + edi*2]
lea eax, [esp + eax*4 + 0x18]
mov dword [eax], 0xb
mov dword [eax + 8], 3
mov dword [eax + 4], 0x38272
add edi, 1
cmp dword [edx + 0x634], ebx
je 0x416d38
lea eax, [edi + edi*2]
lea eax, [esp + eax*4 + 0x18]
mov dword [eax], 0xb
mov dword [eax + 8], 4
mov dword [eax + 4], 0x3a982
add edi, 1
cmp dword [edx + 0x638], ebx
je 0x416d5e
lea eax, [edi + edi*2]
lea eax, [esp + eax*4 + 0x18]
mov dword [eax], 0xb
mov dword [eax + 8], 5
mov dword [eax + 4], 0x3d092
add edi, 1
cmp dword [edx + 0x5748], ebx
jle 0x416d6d
mov ecx, 0xc3500
jmp fcn.00416dc2
mov eax, dword [edx + 0x8c]
mov eax, dword [eax + 0x7fc]
cmp eax, 3
je 0x416dbd
cmp eax, 4
je 0x416dbd
mov eax, dword [edx + 0x15c]
mov ecx, dword [eax + 0x20]
add ecx, dword [0x6aa234]
cmp dword [eax + 8], ecx
jg 0x416dbd
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x5584]
cmp eax, 0xf
je 0x416dbd
cmp eax, 0x10
je 0x416dbd
cmp eax, 0x11
je 0x416dbd
cmp dword [edx + 0x55ec], 0x3e
mov ecx, 0xc3500
jne fcn.00416dc2
jmp loc.00840000