Function at 0x5f79b0
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x30
push ebx
push ebp
push esi
push edi
mov ebp, ecx
mov eax, dword [ebp]
mov edx, dword [eax + 0x58]
push 2
mov dword [esp + 0x1c], ebp
call edx
mov eax, dword [0x88b148]
mov eax, dword [eax + 0x82c]
test eax, eax
je 0x5f79e2
push eax
call fcn.00458ec0
cmp dword [ebp + 0x74], 0
je 0x5f7a3a
mov edx, dword [ebp]
mov eax, dword [ebp + 0xa0]
mov edx, dword [edx + 0x19c]
push eax
mov ecx, ebp
call edx
xor esi, esi
mov edi, edi
mov ecx, dword [ebp + 0x74]
push 0
mov eax, esi
call fcn.00616cd0
inc esi
cmp esi, 8
jl 0x5f7a00
mov eax, dword [ebp + 0x74]
push 0
call fcn.00616b40
mov eax, dword [ebp + 0x74]
push 0
call fcn.00616bc0
mov ebx, dword [ebp + 0x74]
call fcn.0060ebe0
mov eax, dword [ebp]
mov edx, dword [eax + 0x58]
push 4
mov ecx, ebp
call edx
mov eax, dword [ebp + 0x6c]
mov ecx, dword [eax]
mov esi, dword [ebp + 0x54]
lea edi, [ebp + 0x54]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x1c], esi
lea ecx, [ecx]
mov ebx, dword [edi + 0x18]
mov eax, dword [edi]
test esi, esi
je 0x5f7a5d
cmp esi, eax
je 0x5f7a62
call fcn.006441b7
cmp dword [esp + 0x20], ebx
je 0x5f7aa5
test esi, esi
jne 0x5f7aa1
call fcn.006441b7
mov edx, dword [esp + 0x20]
cmp edx, dword [esi + 0x18]
jne 0x5f7a7f
call fcn.006441b7
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x5f7a92
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
lea esi, [esp + 0x1c]
call fcn.005c6950
mov esi, dword [esp + 0x1c]
jmp 0x5f7a50
mov esi, dword [esi]
jmp 0x5f7a71
mov ecx, dword [edi + 0x18]
mov ebx, dword [ecx + 4]
cmp byte [ebx + 0x15], 0
mov esi, ebx
jne 0x5f7ad1
mov edx, dword [esi + 8]
push edx
mov ecx, edi
call fcn.0046d1c0
mov esi, dword [esi]
push ebx
call fcn.006441c7
add esp, 4
cmp byte [esi + 0x15], 0
mov ebx, esi
je 0x5f7ab3
mov eax, dword [edi + 0x18]
mov dword [eax + 4], eax
mov eax, dword [edi + 0x18]
mov dword [edi + 0x1c], 0
mov dword [eax], eax
mov edi, dword [edi + 0x18]
mov dword [edi + 8], edi
mov eax, dword [ebp + 0x4c]
mov ecx, dword [eax]
mov esi, dword [ebp + 0x34]
lea edi, [ebp + 0x34]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x1c], esi
lea esp, [esp]
mov ebx, dword [edi + 0x18]
mov eax, dword [edi]
test esi, esi
je 0x5f7b0d
cmp esi, eax
je 0x5f7b12
call fcn.006441b7
cmp dword [esp + 0x20], ebx
je 0x5f7ba2
test esi, esi
jne 0x5f7b9e
call fcn.006441b7
mov edx, dword [esp + 0x20]
cmp edx, dword [esi + 0x18]
jne 0x5f7b33
call fcn.006441b7
mov eax, dword [esp + 0x20]
mov ebx, dword [eax + 0x10]
xor eax, eax
cmp ebx, eax
je 0x5f7b8c
mov esi, dword [ebx + 0x10]
cmp esi, eax
je 0x5f7b6e
mov ebp, dword [ebx + 0x14]
cmp esi, ebp
je 0x5f7b5c
mov edi, edi
call fcn.005f0190
add esi, 0x4c
cmp esi, ebp
jne 0x5f7b50
mov ecx, dword [ebx + 0x10]
push ecx
call fcn.006441c7
mov ebp, dword [esp + 0x1c]
add esp, 4
xor eax, eax
mov edx, dword [ebx + 4]
push edx
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], eax
mov dword [ebx + 0x18], eax
call fcn.006441c7
add esp, 4
push ebx
call fcn.006441c7
add esp, 4
lea esi, [esp + 0x1c]
call fcn.005c6950
mov esi, dword [esp + 0x1c]
jmp 0x5f7b00
mov esi, dword [esi]
jmp 0x5f7b25
mov eax, dword [edi + 0x18]
mov ebx, dword [eax + 4]
cmp byte [ebx + 0x15], 0
mov esi, ebx
jne 0x5f7bce
mov ecx, dword [esi + 8]
push ecx
mov ecx, edi
call fcn.0046d1c0
mov esi, dword [esi]
push ebx
call fcn.006441c7
add esp, 4
cmp byte [esi + 0x15], 0
mov ebx, esi
je 0x5f7bb0
mov eax, dword [edi + 0x18]
mov dword [eax + 4], eax
mov eax, dword [edi + 0x18]
xor ebx, ebx
mov dword [edi + 0x1c], ebx
mov dword [eax], eax
mov edi, dword [edi + 0x18]
mov dword [edi + 8], edi
mov ecx, dword [ebp + 0x74]
cmp ecx, ebx
je 0x5f7c05
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
mov ecx, dword [ebp + 0x74]
cmp ecx, ebx
je 0x5f7c02
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov dword [ebp + 0x74], ebx
mov eax, dword [ebp + 0x140]
cmp eax, ebx
jbe 0x5f7c84
mov ecx, dword [ebp + 0x144]
mov edx, ecx
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
test edx, edx
jge 0x5f7c29
fadd qword [0x82dc38]
mov edx, eax
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
test edx, edx
jge 0x5f7c3d
fadd qword [0x82dc38]
fdivp st(1)
sub esp, 8
lea esi, [esp + 0x2c]
fstp qword [esp]
push ecx
push eax
push str.D3DInterface_Metrics___________________________r_nDraw_Primitive_calls:__u_r_nTotal_primitives____:__u_r_nAverage_prims_call__:__.3f_r_n________________________________________________r_n
call fcn.00439900
mov esi, 0x10
add esp, 0x14
cmp dword [eax + 0x18], esi
jb 0x5f7c67
mov eax, dword [eax + 4]
jmp 0x5f7c6a
add eax, 4
push eax
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
cmp dword [esp + 0x3c], esi
jb 0x5f7c84
mov eax, dword [esp + 0x28]
push eax
call fcn.006441c7
add esp, 4
xor eax, eax
mov dword [ebp + 0x140], eax
mov dword [ebp + 0x144], eax
mov eax, dword [ebp + 0x13c]
mov ecx, dword [eax + 0xd90]
mov ebx, dword [ecx]
mov esi, dword [eax + 0xd78]
add eax, 0xd78
mov dword [esp + 0x20], ebx
mov dword [esp + 0x1c], esi
mov eax, dword [ebp + 0x13c]
mov edi, dword [eax + 0xd90]
add eax, 0xd78
mov eax, dword [eax]
test esi, esi
je 0x5f7cce
cmp esi, eax
je 0x5f7cd3
call fcn.006441b7
cmp ebx, edi
je 0x5f7d0a
test esi, esi
jne 0x5f7d06
call fcn.006441b7
cmp ebx, dword [esi + 0x18]
jne 0x5f7cea
call fcn.006441b7
mov ecx, dword [ebx + 0xc]
mov edx, dword [ecx]
mov eax, dword [edx]
call eax
lea esi, [esp + 0x1c]
call fcn.0046f660
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
jmp 0x5f7cb3
mov esi, dword [esi]
jmp 0x5f7ce0
mov ecx, dword [ebp + 0xc8]
mov eax, dword [ecx]
mov esi, dword [ebp + 0xb0]
lea edi, [ebp + 0xb0]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], eax
mov ebx, dword [edi + 0x18]
mov eax, dword [edi]
test esi, esi
je 0x5f7d33
cmp esi, eax
je 0x5f7d38
call fcn.006441b7
cmp dword [esp + 0x20], ebx
je 0x5f7d8c
test esi, esi
jne 0x5f7d88
call fcn.006441b7
mov edx, dword [esp + 0x20]
cmp edx, dword [esi + 0x18]
jne 0x5f7d55
call fcn.006441b7
mov eax, dword [esp + 0x20]
mov esi, dword [eax + 0xc]
mov ebx, dword [esi + 8]
test ebx, ebx
je 0x5f7d72
push ebx
call fcn.005f40b0
push ebx
call fcn.006441c7
add esp, 4
mov dword [esi + 8], 0
lea esi, [esp + 0x1c]
call fcn.0046f660
mov esi, dword [esp + 0x1c]
jmp 0x5f7d26
mov esi, dword [esi]
jmp 0x5f7d47
mov ecx, dword [edi + 0x18]
mov ebx, dword [ecx + 4]
cmp byte [ebx + 0x11], 0
mov esi, ebx
jne 0x5f7dbe
lea ebx, [ebx]
mov edx, dword [esi + 8]
push edx
mov ecx, edi
call fcn.005dbb30
mov esi, dword [esi]
push ebx
call fcn.006441c7
add esp, 4
cmp byte [esi + 0x11], 0
mov ebx, esi
je 0x5f7da0
mov eax, dword [edi + 0x18]
mov dword [eax + 4], eax
mov eax, dword [edi + 0x18]
xor esi, esi
mov dword [edi + 0x1c], esi
mov dword [eax], eax
mov edi, dword [edi + 0x18]
mov dword [edi + 8], edi
mov eax, dword [ebp + 0xa0]
cmp eax, esi
je 0x5f7dec
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [ebp + 0xa0], esi
mov eax, dword [ebp + 0xa4]
cmp eax, esi
je 0x5f7e04
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [ebp + 0xa4], esi
push esi
push 0x81d304
lea ecx, [ebp + 0xe8]
call fcn.004016e0
push esi
push 0x81d304
lea ecx, [ebp + 0x104]
call fcn.004016e0
lea ebx, [ebp + 0xd0]
mov eax, 0x10000
mov ecx, ebx
call fcn.0040b850
xor edi, edi
mov esi, 0xffff
nop
mov eax, dword [ebx + 0x10]
sub eax, dword [ebx + 0xc]
sar eax, 2
cmp edi, eax
jb 0x5f7e52
call fcn.006441b7
mov ecx, dword [ebx + 0xc]
mov dword [ecx + edi*4], esi
dec esi
inc edi
cmp esi, 0xffffffff
jg 0x5f7e40
xor eax, eax
pop edi
mov dword [ebp + 0x120], eax
mov dword [ebp + 0x124], eax
mov dword [ebp + 0x128], eax
mov dword [ebp + 0x12c], 1
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret