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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x34
push ebx
mov ebx, dword [ebp + 8]
push esi
xor esi, esi
push edi
cmp dword [ebp + 0x10], esi
jne 0x5b6fce60
xor eax, eax
jmp 0x5b6fd3fb
call fcn.5b6f1232
mov dword [esp + 0x2c], eax
mov eax, ebx
call fcn.5b6fd404
call fcn.5b6f1552
fstp qword [esp + 0x38]
mov eax, dword [ebx + 0x54]
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], esi
mov dword [esp + 0x14], esi
mov esi, dword [ebp + 0x10]
sub esi, dword [esp + 0x14]
or dword [esp + 0x30], 0xffffffff
or dword [esp + 0x34], 0xffffffff
cmp dword [ebx + 0x74], 0
mov byte [esp + 0xf], 0
mov byte [esp + 0xe], 0
je 0x5b6fcf4b
mov eax, dword [ebx + 0xac]
test eax, eax
je 0x5b6fcec0
test byte [eax], 1
jne 0x5b6fcf4b
mov edi, dword [ebx + 0x74]
mov dword [esp + 0x20], edi
cmp dword [edi + 8], 0
jne 0x5b6fcf2e
mov eax, dword [esp + 0x30]
and eax, dword [esp + 0x34]
cmp eax, 0xffffffff
jne 0x5b6fceed
push eax
push eax
xor eax, eax
mov ecx, ebx
call fcn.5b6fbb0f
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
mov eax, dword [edi + 0x10]
sub eax, dword [esp + 0x30]
mov ecx, dword [edi + 0x14]
sbb ecx, dword [esp + 0x34]
xor edx, edx
cmp edx, ecx
jb 0x5b6fcf2e
ja 0x5b6fcf07
cmp esi, eax
jb 0x5b6fcf2e
or eax, ecx
jne 0x5b6fcf22
mov eax, dword [ebx + 0x48]
test al, 0x40
je 0x5b6fcf2e
push 0
push dword [ebx + 0x3c]
push dword [ebx + 0x38]
push ebx
call fcn.5b6fc8f3
jmp 0x5b6fcf2e
mov esi, dword [edi + 0x10]
sub esi, dword [esp + 0x30]
mov byte [esp + 0xf], 1
mov edi, dword [edi]
test edi, edi
jne 0x5b6fcec7
mov eax, dword [esp + 0x20]
cmp dword [ebx + 0x74], eax
je 0x5b6fcf4b
push 0xffffffffffffffbf
pop ecx
lea eax, [ebx + 0x48]
lock and dword [eax], ecx
jmp 0x5b6fcec0
push 0xffffffffffffffbf
pop ecx
lea eax, [ebx + 0x48]
lock and dword [eax], ecx
cmp dword [ebx + 0x40], 0
jne 0x5b6fd35b
mov eax, dword [ebx + 0x70]
test eax, eax
je 0x5b6fcfbf
mov edi, dword [ebx + 0x6c]
sub edi, eax
inc edi
test edi, edi
jle 0x5b6fcfb2
mov dword [esp + 0x10], esi
cmp esi, edi
jb 0x5b6fcf7b
mov dword [esp + 0x10], edi
mov eax, dword [ebx + 0xc]
push dword [esp + 0x10]
dec eax
neg eax
sbb eax, eax
and eax, 0xffffff80
sub eax, 0xffffff80
push eax
mov eax, dword [esp + 0x1c]
add eax, dword [ebp + 0xc]
push eax
call sub.msvcrt.dll_memset
mov eax, dword [esp + 0x1c]
add dword [ebx + 0x70], eax
add esp, 0xc
cmp eax, edi
jne 0x5b6fd087
jmp 0x5b6fd079
mov dword [esp + 0x10], 0x80000000
jmp 0x5b6fd087
mov eax, dword [ebx + 0x58]
or eax, dword [ebx + 0x5c]
je 0x5b6fd01b
mov eax, dword [esp + 0x30]
and eax, dword [esp + 0x34]
cmp eax, 0xffffffff
jne 0x5b6fcfe7
push eax
push eax
xor eax, eax
mov ecx, ebx
call fcn.5b6fbb0f
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
xor eax, eax
mov ecx, esi
add ecx, dword [esp + 0x30]
adc eax, dword [esp + 0x34]
cmp eax, dword [ebx + 0x5c]
jb 0x5b6fd01b
ja 0x5b6fcfff
cmp ecx, dword [ebx + 0x58]
jb 0x5b6fd01b
mov esi, dword [ebx + 0x58]
sub esi, dword [esp + 0x30]
mov byte [esp + 0xe], 1
test esi, esi
jg 0x5b6fd01b
xor esi, esi
mov dword [esp + 0x10], 0x80000000
jmp 0x5b6fd092
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x5b6fd083
cmp eax, 0xfffffffe
je 0x5b6fd083
cmp eax, 0xfffffffd
je 0x5b6fd083
cmp eax, 0xffffffff
jne 0x5b6fd044
mov eax, dword [esp + 0x14]
add eax, dword [ebp + 0xc]
mov ecx, esi
push eax
mov eax, ebx
call fcn.5b6fd9f5
jmp 0x5b6fd054
push dword [ebx + 0x1c]
mov ecx, dword [esp + 0x18]
add ecx, dword [ebp + 0xc]
push esi
push ecx
push dword [ebx]
call eax
mov dword [esp + 0x10], eax
cmp eax, esi
jae 0x5b6fd087
cmp dword [ebx + 0xac], 0
jne 0x5b6fd087
mov eax, dword [ebx + 0x90]
test eax, eax
je 0x5b6fd087
push eax
call fcn.5b6f7cb9
test eax, eax
je 0x5b6fd087
or dword [esp + 0x10], 0x80000000
jmp 0x5b6fd087
mov dword [esp + 0x10], esi
cmp dword [esp + 0x10], 0
je 0x5b6fd35b
mov eax, dword [esp + 0x10]
and eax, 0x3fffffff
mov dword [esp + 0x18], eax
cmp eax, esi
jbe 0x5b6fd0b1
xor eax, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], 0x80000000
cmp byte [esp + 0xe], 0
je 0x5b6fd0cb
cmp eax, esi
jne 0x5b6fd0c6
or dword [esp + 0x10], 0x80000000
jmp 0x5b6fd0cb
mov byte [esp + 0xe], 0
xor ecx, ecx
cmp eax, ecx
je 0x5b6fd0fc
add dword [ebx + 0x38], eax
adc dword [ebx + 0x3c], ecx
cmp dword [ebx + 0x78], ecx
je 0x5b6fd0f8
cmp dword [esp + 0x28], ecx
jne 0x5b6fd0f8
push dword [esp + 0x18]
mov eax, dword [esp + 0x18]
add eax, dword [ebp + 0xc]
push eax
push ebx
call fcn.5b6fcbc2
mov eax, dword [esp + 0x18]
add dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
and eax, 0x80000000
mov dword [esp + 0x20], eax
jne 0x5b6fd116
cmp byte [esp + 0xf], 0
je 0x5b6fd33e
cmp dword [esp + 0x20], 0
je 0x5b6fd124
mov dword [ebx + 0x40], 1
mov eax, dword [ebx + 0xac]
test eax, eax
je 0x5b6fd137
test byte [eax], 1
jne 0x5b6fd31b
push 0xffffffffffffffff
push 0xffffffffffffffff
xor eax, eax
mov ecx, ebx
call fcn.5b6fbb0f
cmp dword [esp + 0x20], 0
mov ecx, eax
mov edi, edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edi
je 0x5b6fd18c
cmp byte [esp + 0xe], 0
jne 0x5b6fd18c
cmp dword [ebx + 0x70], 0
jne 0x5b6fd18c
mov eax, dword [ebx + 0x98]
test eax, eax
je 0x5b6fd17c
cmp byte [eax + 0x50], 0
jne 0x5b6fd17c
mov dword [eax + 0x70], ecx
mov dword [eax + 0x74], edi
jmp 0x5b6fd18c
mov eax, dword [ebx + 0x94]
test eax, eax
je 0x5b6fd18c
mov dword [eax + 0x28], ecx
mov dword [eax + 0x2c], edi
mov edi, dword [ebx + 0x74]
test edi, edi
je 0x5b6fd21e
cmp dword [ebx + 0x70], 0
je 0x5b6fd1a7
mov dword [esp + 0x1c], 3
jmp 0x5b6fd1da
cmp byte [esp + 0xe], 0
je 0x5b6fd1b8
mov dword [esp + 0x1c], 2
jmp 0x5b6fd1da
mov eax, dword [ebx + 0xa0]
test eax, eax
je 0x5b6fd1d5
cmp byte [eax + 0x91], 2
jne 0x5b6fd1d5
mov dword [esp + 0x1c], 1
jmp 0x5b6fd1da
and dword [esp + 0x1c], 0
mov eax, dword [edi + 8]
test eax, eax
jne 0x5b6fd1fc
mov ecx, dword [esp + 0x30]
cmp ecx, dword [edi + 0x10]
jne 0x5b6fd1fc
mov ecx, dword [esp + 0x34]
cmp ecx, dword [edi + 0x14]
jne 0x5b6fd1fc
cmp dword [esp + 0x18], eax
je 0x5b6fd1fc
push eax
jmp 0x5b6fd20c
cmp eax, 2
jne 0x5b6fd218
cmp dword [esp + 0x20], 0
je 0x5b6fd218
push dword [esp + 0x1c]
push dword [ebx + 0x3c]
push dword [ebx + 0x38]
push ebx
call fcn.5b6fc8f3
mov edi, dword [edi]
test edi, edi
jne 0x5b6fd1da
cmp dword [esp + 0x20], 0
je 0x5b6fd30d
cmp dword [esp + 0x18], 0
jne 0x5b6fd240
mov eax, dword [esp + 0x24]
inc dword [esp + 0x24]
test eax, eax
jne 0x5b6fd35b
cmp dword [ebx + 0x40], 0
je 0x5b6fd313
mov eax, dword [ebx + 0xb4]
or eax, dword [ebx + 0x9c]
mov edi, dword [ebx + 0xa0]
or eax, dword [ebx + 0x98]
or eax, dword [ebx + 0x94]
or eax, edi
or eax, dword [ebx + 0xac]
je 0x5b6fd313
test byte [ebx + 0x14], 4
je 0x5b6fd313
test edi, edi
je 0x5b6fd2d0
mov eax, dword [ebx + 0x60]
or eax, dword [ebx + 0x64]
jne 0x5b6fd2d0
cmp byte [esp + 0xe], al
jne 0x5b6fd2d0
cmp dword [edi + 0x5c], eax
jne 0x5b6fd2a0
mov esi, edi
call fcn.5b708e6e
jmp 0x5b6fd2bf
cmp byte [edi + 0x91], 2
jne 0x5b6fd2bb
movzx eax, word [edi + 0x7c]
mov dword [edi + 0x64], eax
mov eax, dword [edi + 0x80]
mov dword [edi + 0x68], eax
jmp 0x5b6fd2bf
or dword [edi + 0x70], 0xffffffff
mov byte [edi + 0x91], 0
and dword [ebx + 0x40], 0
and dword [ebx + 0x70], 0
jmp 0x5b6fd313
mov ecx, dword [ebx + 0x60]
mov edx, dword [ebx + 0x64]
mov eax, ecx
or eax, edx
je 0x5b6fd300
mov esi, dword [ebx + 0x58]
mov eax, dword [ebx + 0x5c]
mov edi, esi
or edi, eax
je 0x5b6fd2f2
cmp edx, eax
ja 0x5b6fd300
jb 0x5b6fd2f2
cmp ecx, esi
jae 0x5b6fd300
push 0
push edx
push ecx
push ebx
call fcn.5b6fbd1d
test eax, eax
jne 0x5b6fd313
xor eax, eax
push eax
push eax
push eax
push ebx
call fcn.5b6fbd1d
jmp 0x5b6fd313
cmp dword [esp + 0x18], esi
jne 0x5b6fd31b
or dword [esp + 0x10], 0x40000000
xor eax, eax
cmp dword [ebx + 0x40], eax
je 0x5b6fd33e
cmp dword [ebx + 0x6c], eax
je 0x5b6fd33e
cmp dword [ebx + 0x70], eax
jne 0x5b6fd33e
or dword [esp + 0x10], 0x40000000
mov dword [ebx + 0x70], 1
mov dword [ebx + 0x40], eax
test dword [esp + 0x10], 0x40000000
je 0x5b6fd35b
mov eax, dword [ebp + 0x10]
cmp dword [esp + 0x14], eax
jae 0x5b6fd35b
cmp dword [ebx + 0x40], 0
je 0x5b6fce88
cmp dword [esp + 0x14], 0
je 0x5b6fd3d7
cmp dword [ebx + 0x78], 0
je 0x5b6fd37c
cmp dword [esp + 0x28], 0
je 0x5b6fd37c
push dword [esp + 0x14]
push dword [ebp + 0xc]
push ebx
call fcn.5b6fcbc2
call fcn.5b6f1552
fsub qword [esp + 0x38]
mov eax, dword [esp + 0x14]
fmul qword [0x5b722f68]
fild dword [esp + 0x14]
test eax, eax
jns 0x5b6fd39d
fadd dword [0x5b722e00]
mov eax, dword [ebx + 0xc]
imul eax, dword [ebx + 8]
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
test eax, eax
jns 0x5b6fd3b6
fadd dword [0x5b722e00]
fmul dword [ebx + 0x28]
fdivp st(1)
fld1
fcomi st(1)
jbe 0x5b6fd3cd
fsubrp st(1)
fmul dword [ebx + 0xbc]
faddp st(1)
jmp 0x5b6fd3d1
fstp st(0)
fdivp st(1)
fstp dword [ebx + 0xbc]
cmp dword [ebx + 0x84], 0
jle 0x5b6fd3e7
mov esi, ebx
call fcn.5b6fc9ee
mov eax, ebx
call fcn.5b6fd411
push dword [esp + 0x2c]
call fcn.5b6f1253
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc