Function at 0x5c108d
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x8c
push ebx
push ebp
mov eax, 0x100
push esi
mov esi, ecx
xor ebp, ebp
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov eax, dword [esi + 0xc]
cmp eax, ebp
push edi
mov dword [esp + 0x8c], ebp
mov dword [esp + 0x90], ebp
jne 0x5c10ba
xor eax, eax
jmp 0x5c10d0
mov ecx, dword [esi + 0x10]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [esp + 0x84]
push ecx
mov ecx, dword [0x750814]
lea edx, [esp + 0x18]
push edx
shl eax, 2
push eax
call fcn.005bb9f0
mov edi, eax
cmp edi, ebp
jl 0x5c1754
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x18], ebp
mov edi, edi
mov eax, dword [esi + 0xc]
cmp eax, ebp
lea ebx, [esi + 8]
je 0x5c13c8
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
mov ecx, dword [esp + 0x1c]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
jae 0x5c13c8
mov ecx, dword [esi + 0xc]
mov ebp, dword [esp + 0x18]
mov eax, dword [ecx + ebp]
mov ebx, dword [esp + 0xa4]
shl eax, 8
xor edx, edx
div ebx
add ecx, ebp
xor edx, edx
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0x3f800000
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0x3f800000
mov dword [ecx], eax
mov dword [esp + 0x10], eax
mov eax, dword [ecx + 4]
fild dword [esp + 0x10]
shl eax, 8
div dword [esp + 0xa8]
xor edx, edx
mov edi, eax
mov eax, dword [ecx + 8]
shl eax, 8
div ebx
xor edx, edx
mov dword [ecx + 4], edi
mov ebx, eax
mov eax, dword [ecx + 0xc]
shl eax, 8
div dword [esp + 0xa8]
mov dword [ecx + 8], ebx
mov ebp, eax
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x10], eax
mov eax, ebp
fisub dword [esp + 0x10]
cdq
sub eax, edx
sar eax, 1
sub edi, eax
mov dword [ecx + 0xc], ebp
mov edx, dword [esp + 0x14]
mov dword [esp + 0x10], edi
fsub dword [0x6d338c]
fstp dword [esp + 0x40]
mov eax, dword [esp + 0x40]
fild dword [esp + 0x10]
mov dword [edx], eax
fsub dword [0x6d338c]
fstp dword [esp + 0x44]
mov eax, dword [esp + 0x44]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x48]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x4c]
mov dword [edx + 0xc], eax
mov eax, dword [ecx + 8]
cdq
sub eax, edx
mov edx, dword [ecx]
sar eax, 1
sub edx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x10], edx
add eax, 0x1c
fild dword [esp + 0x10]
fsub dword [0x6d338c]
fstp dword [esp + 0x54]
mov edx, dword [esp + 0x54]
fild dword [ecx + 0xc]
fadd dword [eax - 0x18]
mov dword [eax], edx
fstp dword [esp + 0x58]
mov edx, dword [esp + 0x58]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x5c]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x60]
mov dword [eax + 0xc], edx
mov eax, dword [ecx + 8]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 4]
fild dword [esp + 0x10]
mov dword [esp + 0x70], edx
add eax, 0x38
fiadd dword [ecx]
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0x3f800000
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0x3f800000
fsub dword [0x6d338c]
fstp dword [esp + 0x6c]
mov edx, dword [esp + 0x6c]
mov dword [eax], edx
mov edx, dword [esp + 0x70]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x74]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x78]
mov dword [eax + 0xc], edx
mov eax, dword [ecx + 8]
mov edi, dword [ecx]
cdq
sub eax, edx
sar eax, 1
add eax, edi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x20]
fild dword [esp + 0x10]
mov dword [esp + 0x24], edx
add eax, 0x54
fsub dword [0x6d338c]
fstp dword [esp + 0x20]
mov edx, dword [esp + 0x20]
mov dword [eax], edx
mov edx, dword [esp + 0x24]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x28]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x2c]
mov dword [eax + 0xc], edx
mov edx, dword [esi + 0x38]
mov eax, dword [esi + 0x34]
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x14]
mov dword [edx + 0x14], eax
mov edx, dword [esp + 0x14]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x34]
mov dword [edx + 0x18], eax
mov edx, dword [esi + 0x40]
mov eax, dword [esi + 0x34]
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0x14]
mov dword [edx + 0x30], eax
mov edx, dword [esp + 0x14]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x80]
mov dword [edx + 0x34], eax
mov edx, dword [esi + 0x38]
mov eax, dword [esi + 0x3c]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x14]
mov dword [edx + 0x4c], eax
mov edx, dword [esp + 0x14]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x68]
mov dword [edx + 0x50], eax
mov edx, dword [esi + 0x40]
mov eax, dword [esi + 0x3c]
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x38], eax
mov dword [edx + 0x68], eax
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x3c]
mov dword [edx + 0x6c], eax
mov eax, dword [ecx + 0x10]
mov edx, dword [esp + 0x14]
mov dword [edx + 0x10], eax
mov eax, dword [ecx + 0x10]
mov edx, dword [esp + 0x14]
mov dword [edx + 0x2c], eax
mov eax, dword [ecx + 0x10]
mov edx, dword [esp + 0x14]
mov dword [edx + 0x48], eax
mov eax, dword [ecx + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x64], eax
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
add edx, 0x70
inc ecx
add eax, 0x18
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], eax
xor ebp, ebp
jmp 0x5c1100
mov ecx, dword [0x750814]
call fcn.005baf30
mov edi, eax
cmp edi, ebp
jl 0x5c1754
mov eax, dword [ebx + 4]
cmp eax, ebp
jne 0x5c13e8
xor eax, eax
jmp 0x5c13fe
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [esp + 0x88]
push edx
lea ecx, [esp + 0x54]
lea edx, [eax + eax*2]
push ecx
mov ecx, dword [0x750814]
shl edx, 1
push edx
call fcn.005baea0
mov edi, eax
cmp edi, ebp
jl 0x5c1754
mov eax, dword [ebx + 4]
cmp eax, ebp
jne 0x5c1431
xor eax, eax
jmp 0x5c1447
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
mov eax, dword [esp + 0x54]
push ebp
push 2
push eax
call fcn.005ba0e0
mov ecx, dword [0x750814]
add esp, 0x10
call fcn.005baf40
mov edi, eax
cmp edi, ebp
jl 0x5c1754
mov ecx, dword [0x750814]
mov edx, dword [ecx]
call dword [edx + 0x40]
movzx edi, al
cmp edi, ebp
jl 0x5c1754
mov eax, dword [esp + 0xa0]
cmp eax, 0xff000000
lea edi, [esi + 0x24]
jne 0x5c14d3
mov dword [esp + 0x20], 0
mov ecx, dword [esp + 0x20]
mov eax, edi
mov dword [eax], ecx
mov dword [esp + 0x24], 0
mov edx, dword [esp + 0x24]
mov dword [eax + 4], edx
mov dword [esp + 0x28], 0
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x2c], 0x3f800000
mov edx, dword [esp + 0x2c]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
jmp 0x5c1549
mov ecx, eax
shr ecx, 0x10
movzx edx, cl
mov ecx, eax
shr ecx, 8
mov dword [esp + 0x10], edx
movzx edx, cl
fild dword [esp + 0x10]
mov dword [esp + 0x10], edx
movzx ecx, al
fmul dword [0x6d33dc]
fild dword [esp + 0x10]
mov dword [esp + 0x10], ecx
shr eax, 0x18
fmul dword [0x6d33dc]
fild dword [esp + 0x10]
mov dword [esp + 0x10], eax
fmul dword [0x6d33dc]
fstp dword [esp + 0x28]
fild dword [esp + 0x10]
fmul dword [0x6d33dc]
fstp dword [esp + 0x2c]
fxch st(1)
fadd dword [edi]
fstp dword [edi]
fadd dword [edi + 4]
fstp dword [edi + 4]
fld dword [esp + 0x28]
fadd dword [edi + 8]
fstp dword [edi + 8]
fld dword [esp + 0x2c]
fadd dword [edi + 0xc]
fstp dword [edi + 0xc]
mov dword [esi + 0x30], 0x3f800000
fld dword [edi]
fcomp dword [0x6d3398]
fnstsw ax
test ah, 1
jne 0x5c1569
mov dword [esp + 0x18], 0xff
jmp 0x5c1595
fld dword [edi]
fcomp dword [0x6d3394]
fnstsw ax
test ah, 0x41
jp 0x5c157e
mov dword [esp + 0x18], ebp
jmp 0x5c1595
fld dword [edi]
fmul dword [0x6d3390]
fadd dword [0x6d338c]
call fcn.0063199c
mov dword [esp + 0x18], eax
fld dword [edi + 4]
fcomp dword [0x6d3398]
fnstsw ax
test ah, 1
jne 0x5c15af
mov dword [esp + 0x1c], 0xff
jmp 0x5c15dd
fld dword [edi + 4]
fcomp dword [0x6d3394]
fnstsw ax
test ah, 0x41
jp 0x5c15c5
mov dword [esp + 0x1c], ebp
jmp 0x5c15dd
fld dword [edi + 4]
fmul dword [0x6d3390]
fadd dword [0x6d338c]
call fcn.0063199c
mov dword [esp + 0x1c], eax
fld dword [edi + 8]
fcomp dword [0x6d3398]
fnstsw ax
test ah, 1
jne 0x5c15f4
mov ebp, 0xff
jmp 0x5c161a
fld dword [edi + 8]
fcomp dword [0x6d3394]
fnstsw ax
test ah, 0x41
jnp 0x5c161a
fld dword [edi + 8]
fmul dword [0x6d3390]
fadd dword [0x6d338c]
call fcn.0063199c
mov ebp, eax
fld dword [edi + 0xc]
fcomp dword [0x6d3398]
fnstsw ax
test ah, 1
jne 0x5c1631
mov eax, 0xff
jmp 0x5c1659
fld dword [edi + 0xc]
fcomp dword [0x6d3394]
fnstsw ax
test ah, 0x41
jp 0x5c1645
xor eax, eax
jmp 0x5c1659
fld dword [edi + 0xc]
fmul dword [0x6d3390]
fadd dword [0x6d338c]
call fcn.0063199c
mov edi, dword [esp + 0x18]
mov edx, dword [0x750814]
mov ecx, dword [edx + 0x1dc]
mov edx, dword [ecx]
shl eax, 8
or eax, edi
mov edi, dword [esp + 0x1c]
shl eax, 8
push 0
or eax, edi
push 0x3f800000
shl eax, 8
or eax, ebp
push eax
push 1
lea eax, [esp + 0x9c]
push eax
push 1
push ecx
call dword [edx + 0x90]
mov ecx, dword [0x750814]
mov edi, eax
test edi, edi
jge 0x5c16af
mov edx, dword [ecx]
call dword [edx + 0x44]
jmp 0x5c1754
mov eax, dword [0x6f0230]
push eax
push 0x1c
call fcn.005baf50
mov ecx, dword [0x750814]
mov eax, dword [ecx + 0x1dc]
mov edi, dword [esp + 0x84]
mov ecx, dword [ecx + 0x2c0]
mov edx, dword [eax]
push edi
push ecx
push eax
call dword [edx + 0x154]
mov edx, dword [0x750814]
mov eax, dword [edx + 0x1dc]
mov edx, dword [esi + 0x18]
mov edx, dword [edx + 0x14]
mov ecx, dword [eax]
push edx
push 0
push eax
call dword [ecx + 0xf4]
mov ecx, dword [0x750814]
push 0x10
push 1
call fcn.005bb990
mov eax, dword [0x750814]
mov esi, dword [eax + 0x1dc]
mov edi, dword [esi]
mov ecx, ebx
call fcn.00493d50
mov ecx, dword [esp + 0x88]
shl eax, 1
push eax
push ecx
mov ecx, ebx
call fcn.00493d50
shl eax, 2
push eax
push 0
push 4
push esi
call dword [edi + 0x11c]
mov ecx, dword [0x750814]
mov edx, dword [ecx]
call dword [edx + 0x44]
movzx edi, al
test edi, edi
jge 0x5c1776
push 0x13e
push str.._sourceD3DLightMap.cpp
push edi
call fcn.005786b0
add esp, 0xc
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x8c
ret 0xc
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x8c
ret 0xc