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

Disassembly:
sub esp, 0x14
push ebx
push ebp
mov ebp, dword [esp + 0x20]
mov ebx, ecx
push esi
push edi
push ebp
mov dword [esp + 0x24], ebx
call fcn.005951a0
mov dword [ebx], vtable.hkbModifier.0
lea edi, [ebx + 0x60]
mov al, byte [ebp + 0x28]
lea ecx, [ebx + 0x74]
mov byte [ebx + 0x28], al
lea eax, [ebp + 0x74]
mov dword [ebx], vtable.hkbSenseHandleModifier.0
mov dword [ebx + 0x30], 0x1ffff
mov dword [ebx + 0x2c], vtable.hkbHandle.0
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], connect
mov dword [ebx + 0x6c], 0
push eax
mov dword [esp + 0x14], edi
mov dword [ebx + 0x70], 0
call fcn.0045d920
lea eax, [ebp + 0x78]
push eax
lea ecx, [ebx + 0x78]
call fcn.0045d920
movaps xmm0, xmmword [ebp + 0x50]
movaps xmmword [ebx + 0x50], xmm0
mov ebx, dword [ebp + 0x64]
mov ebp, ebx
mov esi, dword [edi + 4]
cmp ebx, esi
mov ecx, dword [edi + 8]
cmovg ebp, esi
mov dword [esp + 0x18], ebx
and ecx, 0x3fffffff
mov dword [esp + 0x14], ebp
cmp ecx, ebx
jge 0x5b29fc
add ecx, ecx
mov eax, ebx
cmp ebx, ecx
push 0x14
cmovl eax, ecx
push eax
push edi
push 0x7d8954
call fcn.00467b80
add esp, 0x10
mov eax, dword [edi]
lea ecx, [ebx + ebx*4]
sub esi, ebx
sub esi, 1
lea ecx, [eax + ecx*4]
js 0x5b2a34
lea edi, [esi*4 + 1]
add edi, esi
lea edi, [ecx + edi*4]
mov ecx, dword [edi]
test ecx, ecx
je 0x5b2a22
call fcn.0045c160
mov dword [edi], 0
sub edi, 0x14
sub esi, 1
jns 0x5b2a17
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + 0x60]
mov eax, dword [edi]
test ebp, ebp
jle 0x5b2a9d
lea edi, [ecx + 0xc]
sub ecx, eax
lea esi, [eax + 4]
mov dword [esp + 0x1c], ecx
nop dword [eax]
mov eax, dword [edi - 0xc]
mov dword [esi - 4], eax
mov ebx, dword [ecx + esi]
test ebx, ebx
je 0x5b2a64
mov ecx, ebx
call fcn.0045c0c0
mov ecx, dword [esi]
test ecx, ecx
je 0x5b2a6f
call fcn.0045c160
mov ecx, dword [esp + 0x1c]
mov dword [esi], ebx
mov eax, dword [edi - 4]
mov dword [esi + 4], eax
mov eax, dword [edi]
mov dword [esi + 8], eax
mov al, byte [edi + 4]
add edi, 0x14
mov byte [esi + 0xc], al
add esi, 0x14
sub ebp, 1
jne 0x5b2a50
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
lea eax, [ebp*4]
mov edx, dword [edi]
add eax, ebp
shl eax, 2
mov ebp, ebx
sub ebp, dword [esp + 0x14]
add edx, eax
mov ecx, dword [ecx + 0x60]
add ecx, eax
test ebp, ebp
jle 0x5b2b26
lea edi, [ecx + 0xc]
sub ecx, edx
lea esi, [edx + 4]
mov dword [esp + 0x14], ecx
nop dword [eax]
lea eax, [esi - 4]
test eax, eax
je 0x5b2b13
mov eax, dword [edi - 0xc]
mov dword [esi - 4], eax
mov dword [esi], 0
mov ebx, dword [ecx + esi]
test ebx, ebx
je 0x5b2b00
mov ecx, ebx
call fcn.0045c0c0
mov ecx, dword [esi]
test ecx, ecx
je 0x5b2afc
call fcn.0045c160
mov ecx, dword [esp + 0x14]
mov dword [esi], ebx
mov eax, dword [edi - 4]
mov dword [esi + 4], eax
mov eax, dword [edi]
mov dword [esi + 8], eax
mov al, byte [edi + 4]
mov byte [esi + 0xc], al
add edi, 0x14
add esi, 0x14
sub ebp, 1
jne 0x5b2ad0
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
add eax, 0x7c
push 0x17
push eax
mov dword [edi + 4], ebx
lea eax, [esi + 0x7c]
push eax
call fcn.0045d810
add esp, 0xc
mov dword [esi + 0x84], 0
mov byte [esi + 0x93], 0
or eax, 0xffffffff
mov word [esi + 0x40], ax
mov eax, esi
mov dword [esi + 0x34], 0
pop edi
mov dword [esi + 0x38], 0
mov dword [esi + 0x3c], 0
pop esi
pop ebp
pop ebx
add esp, 0x14
ret 4