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

Disassembly:
sub esp, 0x90
mov eax, dword [0x94bd40]
xor eax, esp
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x94]
push ebx
push ebp
mov edx, dword [eax + 4]
sub edx, dword [eax + 8]
mov ebx, dword [eax + 0xc]
mov ebp, dword [esp + 0xa0]
push esi
push edi
push eax
mov dword [esp + 0x68], eax
lea esi, [ecx + 0x24]
lea eax, [esp + 0x78]
mov dword [esp + 0x60], edx
mov edx, dword [ecx + 4]
mov edi, ebp
push eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x44], ebp
mov dword [esp + 0x38], ebx
mov dword [esp + 0x68], edx
mov dword [esp + 0x74], edi
mov dword [esp + 0x40], esi
call fcn.007ba140
mov eax, dword [esp + 0xb4]
add esp, 8
cmp ebp, eax
jae 0x7b9f75
nop dword [eax + eax]
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], 0
push ecx
push esi
sub eax, ebp
push eax
lea eax, [esp + 0x80]
push ebp
push eax
call fcn.007b9f90
mov ecx, dword [esp + 0x38]
add esp, 0x14
mov dword [esp + 0x70], eax
xor eax, eax
mov dword [esp + 0x34], eax
test ecx, ecx
je 0x7b9f5e
lea edx, [edi + ebx]
mov dword [esp + 0x68], edx
nop
mov esi, dword [esi + eax*4]
lea eax, [esi + ebp]
cmp eax, edx
jb 0x7b9f45
sub esi, ebx
add esi, ebp
mov dword [esp + 0x58], esi
mov ebp, esi
cmp ebx, 0x20
jb 0x7b9eb7
lea eax, [ebx - 0x1f]
mov dword [esp + 0x1c], 0xc2b2ae3d
add eax, esi
mov dword [esp + 0x20], 0x7a143579
xorps xmm0, xmm0
mov dword [esp + 0x28], eax
movlpd qword [esp + 0x40], xmm0
mov ebx, 0xadc0b5d6
mov eax, dword [esp + 0x44]
mov edi, 0x60ea27ee
mov dword [esp + 0x14], eax
mov esi, 0x27d4eb4f
mov eax, dword [esp + 0x40]
mov dword [esp + 0x10], 0x61c8864e
mov dword [esp + 0x18], eax
nop word [eax + eax]
push 0xc2b2ae3d
push 0x27d4eb4f
push dword [ebp + 4]
push dword [ebp]
call fcn.007bcf30
mov ecx, eax
add ecx, ebx
mov eax, ecx
adc edx, edi
push 0x9e3779b1
shld eax, edx, 0x1f
shld edx, ecx, 0x1f
push 0x85ebca87
push edx
push eax
call fcn.007bcf30
push 0xc2b2ae3d
push 0x27d4eb4f
push dword [ebp + 0xc]
mov ebx, eax
mov edi, edx
push dword [ebp + 8]
call fcn.007bcf30
mov ecx, eax
add ecx, esi
mov eax, ecx
adc edx, dword [esp + 0x1c]
push 0x9e3779b1
shld eax, edx, 0x1f
shld edx, ecx, 0x1f
push 0x85ebca87
push edx
push eax
call fcn.007bcf30
push 0xc2b2ae3d
push 0x27d4eb4f
push dword [ebp + 0x14]
mov esi, eax
mov dword [esp + 0x28], edx
push dword [ebp + 0x10]
call fcn.007bcf30
mov ecx, eax
add ecx, dword [esp + 0x18]
mov eax, ecx
adc edx, dword [esp + 0x14]
push 0x9e3779b1
shld eax, edx, 0x1f
shld edx, ecx, 0x1f
push 0x85ebca87
push edx
push eax
call fcn.007bcf30
push 0xc2b2ae3d
push 0x27d4eb4f
push dword [ebp + 0x1c]
mov dword [esp + 0x24], eax
push dword [ebp + 0x18]
mov dword [esp + 0x24], edx
call fcn.007bcf30
mov ecx, eax
add ecx, dword [esp + 0x20]
mov eax, ecx
adc edx, dword [esp + 0x10]
push 0x9e3779b1
shld eax, edx, 0x1f
shld edx, ecx, 0x1f
push 0x85ebca87
push edx
push eax
call fcn.007bcf30
add ebp, 0x20
mov dword [esp + 0x10], edx
mov ecx, eax
mov dword [esp + 0x20], ecx
cmp ebp, dword [esp + 0x28]
jb 0x7b9cf0
push dword [esp + 0x10]
mov eax, ebx
mov dword [esp + 0x44], ebp
shld eax, edi, 1
mov dword [esp + 0x4c], ebx
mov ebp, esi
mov dword [esp + 0x54], eax
mov eax, edi
shld eax, ebx, 1
mov dword [esp + 0x2c], edi
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x20]
mov ebx, eax
shld ebp, eax, 7
mov eax, dword [esp + 0x18]
mov edx, eax
mov dword [esp + 0x50], ebp
mov ebp, dword [esp + 0x1c]
mov edi, ebp
shld edx, ebp, 0xc
mov ebp, dword [esp + 0x24]
push ebp
push dword [esp + 0x1c]
shld edi, eax, 0xc
push dword [esp + 0x24]
mov eax, dword [esp + 0x20]
push dword [esp + 0x2c]
shld ecx, eax, 0x12
shld eax, ebp, 0x12
shld ebx, esi, 7
add edi, dword [esp + 0x60]
push esi
push dword [esp + 0x40]
adc edx, ebx
add edi, dword [esp + 0x6c]
push dword [esp + 0x64]
adc edx, dword [esp + 0x74]
add edi, ecx
adc edx, eax
push edx
push edi
call fcn.00774190
add esp, 0x10
push edx
push eax
call fcn.00774190
add esp, 0x10
push edx
push eax
call fcn.00774190
add esp, 0x10
push edx
push eax
call fcn.00774190
mov esi, dword [esp + 0x68]
add esp, 0x10
mov ebx, dword [esp + 0x30]
mov edi, eax
mov ebp, dword [esp + 0x40]
jmp 0x7b9ec1
mov edi, 0x165667c5
mov edx, 0x27d4eb2f
push 1
xor eax, eax
mov ecx, ebx
add ecx, edi
push ebx
push ebp
adc eax, edx
push eax
push ecx
call fcn.00773f70
mov ecx, dword [esp + 0x70]
mov ebx, 1
shl ebx, cl
mov ebp, edx
dec ebx
sub esi, dword [esp + 0x74]
and ebx, eax
add esp, 0x14
mov eax, dword [esp + 0x64]
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
mov eax, dword [esp + 0x2c]
psrldq xmm1, 8
movd ecx, xmm1
movq qword [esp + 0x94], xmm0
mov edi, dword [eax + 0x20]
add edi, ebx
shl ebx, cl
mov dl, byte [edi]
movzx eax, dl
inc dl
add ebx, eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x18]
mov dword [eax + ebx*8], esi
mov dword [eax + ebx*8 + 4], ebp
mov al, 1
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x3c]
shl al, cl
mov ecx, dword [esp + 0x24]
dec al
and al, dl
mov edx, dword [esp + 0x68]
mov byte [edi], al
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
inc eax
mov dword [esp + 0x34], eax
cmp eax, ecx
jb 0x7b9c80
mov edi, dword [esp + 0x6c]
add ebp, dword [esp + 0x70]
mov eax, dword [esp + 0xac]
mov dword [esp + 0x3c], ebp
cmp ebp, eax
jb 0x7b9c40
mov ecx, dword [esp + 0x9c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.007bcf1e
add esp, 0x90
ret