Function at 0x7bb140
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x58
push ebx
push ebp
push esi
mov esi, dword [esp + 0x68]
push edi
mov edi, dword [esp + 0x78]
mov dword [esp + 0x1c], 1
mov ecx, dword [esi + 4]
mov ebx, ecx
mov eax, dword [esi]
sub ebx, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0xc]
mov ebp, eax
mov edx, dword [esi + 8]
sub ebp, edx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x8c]
add eax, dword [esp + 0x88]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x80]
add eax, ecx
mov dword [esp + 0x3c], eax
mov eax, dword [esi + 0x10]
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0x14]
mov dword [esp + 0x24], eax
mov eax, dword [esi + 0x18]
mov esi, dword [edi]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x7c]
sar ebx, 3
mov dword [esp + 0x84], ecx
mov ecx, 0x53c
mov dword [esp + 0x34], ebx
mov eax, dword [eax + 0x34]
cmp eax, ecx
mov dword [esp + 0x14], edx
cmovb eax, ecx
mov dword [esp + 0x4c], eax
xor eax, eax
cmp esi, 2
sete al
mov dword [esp + 0x18], eax
test ebx, ebx
je 0x7bb5a2
mov ebx, dword [esp + 0x98]
mov dword [esp + 0x40], 0xff
test esi, esi
jne 0x7bb209
mov ebx, ebp
jmp 0x7bb260
cmp esi, 1
jne 0x7bb212
mov ebx, esi
jmp 0x7bb260
cmp esi, 2
je 0x7bb220
cmp esi, 3
je 0x7bb220
xor ebx, ebx
jmp 0x7bb260
push dword [esp + 0x9c]
lea eax, [esp + 0x44]
push ebx
push ebp
push edx
push eax
push ebx
call fcn.007b5180
add esp, 0x18
cmp eax, 0xffffff88
jbe 0x7bb241
mov ebx, ebp
jmp 0x7bb260
push dword [esp + 0x40]
push ebx
push dword [esp + 0x7c]
call fcn.007b7970
add esp, 0xc
cmp esi, 2
jne 0x7bb25d
add eax, dword [edi + 0x84]
lea ebx, [eax + 3]
push dword [esp + 0x9c]
mov edi, dword [esp + 0x78]
push dword [esp + 0x9c]
mov eax, dword [esp + 0x80]
add edi, 0x408
push 0x1c
push 5
push 0x944878
push 0
push edi
push dword [esp + 0x50]
push 0x1f
push dword [esp + 0x44]
push dword [eax + 0x8c]
call fcn.007bb920
push dword [esp + 0xc8]
mov esi, eax
lea eax, [edi + 0x8b0]
push dword [esp + 0xc8]
push 0x23
push 6
push 0x944780
push 0x94475c
push eax
push dword [esp + 0x7c]
mov eax, dword [esp + 0xc4]
push 0x23
push dword [esp + 0x78]
push dword [eax + 0x88]
call fcn.007bb920
add esp, 0x58
add esi, eax
lea eax, [edi + 0x304]
mov edi, dword [esp + 0x34]
push dword [esp + 0x9c]
push dword [esp + 0x9c]
push 0x34
push 6
push 0x944808
push 0x9447cc
push eax
mov eax, dword [esp + 0x94]
push edi
push 0x34
push dword [esp + 0x48]
push dword [eax + 0x90]
call fcn.007bb920
add esp, 0x2c
mov dword [esp + 0x5c], 0
lea ecx, [eax + 6]
mov eax, dword [esp + 0x78]
add ecx, esi
add ecx, dword [eax + 0x11c]
add ecx, ebx
test ebp, ebp
je 0x7bb355
mov eax, ebx
xor edx, edx
shl eax, 8
div ebp
mov dword [esp + 0x34], eax
jmp 0x7bb35d
mov dword [esp + 0x34], pe_nt_image_headers32
xor edx, edx
mov eax, ecx
sub eax, ebx
mov esi, 1
shl eax, 8
div edi
xor edx, edx
mov edi, eax
mov eax, dword [esp + 0x4c]
shr eax, 1
add eax, ecx
mov dword [esp + 0x50], edi
div dword [esp + 0x4c]
cmp eax, esi
cmova esi, eax
mov eax, ecx
shl eax, 8
xor edx, edx
div esi
mov dword [esp + 0x40], eax
cmp ecx, dword [esp + 0x8c]
ja 0x7bb6e9
lea eax, [esi - 1]
xor ebx, ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x58], eax
test eax, eax
je 0x7bb59e
mov esi, dword [esp + 0x10]
nop dword [eax]
movzx ecx, word [esi + 4]
lea ebp, [esi + 4]
mov eax, dword [esp + 0x34]
xor edx, edx
imul eax, ecx
test ebx, ebx
mov ebx, 0x7800
mov dword [esp + 0x48], ebp
cmove edx, ebx
add eax, edi
mov edi, 1
add edx, eax
mov dword [esp + 0x8c], edi
cmp edx, dword [esp + 0x40]
ja 0x7bb451
mov ebp, dword [esp + 0x2c]
movzx ebx, word [esi + 6]
sub ebp, esi
add ebx, 3
sar ebp, 3
add ebx, ecx
cmp ebp, edi
jbe 0x7bb44d
add esi, 0xe
nop dword [eax]
movzx ecx, word [esi - 2]
add ebx, 3
mov eax, ecx
imul eax, dword [esp + 0x34]
add eax, dword [esp + 0x50]
add edx, eax
movzx eax, word [esi]
add eax, ecx
add ebx, eax
cmp edx, dword [esp + 0x40]
jbe 0x7bb43a
mov eax, ebx
shl eax, 8
cmp edx, eax
jb 0x7bb442
inc edi
add esi, 8
cmp edi, ebp
jb 0x7bb410
mov esi, dword [esp + 0x10]
mov dword [esp + 0x8c], edi
mov ebp, dword [esp + 0x48]
lea eax, [esi + edi*8]
mov dword [esp + 0x54], eax
cmp eax, dword [esp + 0x2c]
je 0x7bb59e
xor esi, esi
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
test edi, edi
je 0x7bb4b4
mov ecx, dword [esp + 0x6c]
mov ebx, edi
mov edx, dword [esp + 0x10]
mov edi, ecx
sub edx, dword [ecx]
movzx ecx, word [ebp]
mov eax, edx
sar eax, 3
cmp dword [edi + 0x28], eax
jne 0x7bb4a0
cmp dword [edi + 0x24], 1
jne 0x7bb4a0
add ecx, 0x10000
add esi, ecx
add ebp, 8
add edx, 8
sub ebx, 1
jne 0x7bb486
mov edi, dword [esp + 0x8c]
mov ebp, dword [esp + 0x10]
push 0
push esi
push edi
push ebp
push dword [esp + 0x7c]
call fcn.007bba20
mov ecx, dword [esp + 0x98]
mov ebx, eax
push 0
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x60]
push eax
push dword [esp + 0x3c]
mov eax, dword [esp + 0x60]
push dword [esp + 0x3c]
sub eax, ecx
push dword [esp + 0xb8]
push eax
push ecx
push dword [esp + 0xb0]
push dword [esp + 0x58]
push dword [esp + 0x60]
push dword [esp + 0x68]
push esi
push dword [esp + 0x5c]
push edi
push ebp
push dword [esp + 0xcc]
push dword [esp + 0xcc]
call fcn.007bad60
add esp, 0x5c
cmp eax, 0xffffff88
ja 0x7bb844
mov edx, dword [esp + 0x14]
test eax, eax
je 0x7bb581
cmp eax, ebx
jae 0x7bb581
add dword [esp + 0x84], eax
xor ecx, ecx
add dword [esp + 0x88], ebx
add edx, esi
add dword [esp + 0x28], edi
add dword [esp + 0x24], edi
add dword [esp + 0x20], edi
cmp dword [esp + 0x44], ecx
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x54]
cmovne eax, ecx
cmp dword [esp + 0x48], ecx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x1c]
cmovne eax, ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], esi
jmp 0x7bb585
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x4c]
mov edi, dword [esp + 0x50]
inc ebx
mov dword [esp + 0x4c], ebx
cmp ebx, dword [esp + 0x58]
jb 0x7bb3c0
jmp 0x7bb5a2
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x2c]
sub eax, edx
mov ebx, dword [esp + 0x10]
sub esi, ebx
push 1
push eax
sar esi, 3
push esi
push ebx
push dword [esp + 0x7c]
mov dword [esp + 0xa0], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x4c], eax
call fcn.007bba20
mov ebp, dword [esp + 0xa8]
mov edi, eax
mov ecx, dword [esp + 0x98]
lea eax, [esp + 0x64]
push ebp
push eax
lea eax, [esp + 0xa8]
push eax
push dword [esp + 0x3c]
mov eax, dword [esp + 0x60]
push dword [esp + 0x3c]
sub eax, ecx
push dword [esp + 0xb8]
push eax
mov eax, dword [esp + 0x68]
push ecx
push dword [esp + 0xb0]
push dword [esp + 0x58]
push dword [esp + 0x60]
push dword [esp + 0x68]
push eax
push dword [esp + 0x5c]
push esi
push ebx
push dword [esp + 0xcc]
push dword [esp + 0xcc]
call fcn.007bad60
add esp, 0x5c
cmp eax, 0xffffff88
ja 0x7bb844
mov edx, dword [esp + 0x84]
test eax, eax
je 0x7bb695
cmp eax, edi
jae 0x7bb695
add dword [esp + 0x88], edi
lea ebx, [ebx + esi*8]
xor ecx, ecx
mov dword [esp + 0x10], ebx
add edx, eax
cmp dword [esp + 0x8c], ecx
mov eax, dword [esp + 0x18]
cmovne eax, ecx
mov dword [esp + 0x84], edx
mov ecx, dword [esp + 0x1c]
xor edi, edi
cmp dword [esp + 0x50], edi
cmovne ecx, edi
mov dword [esp + 0x1c], ecx
jmp 0x7bb699
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x70]
test eax, eax
je 0x7bb6ae
mov edi, dword [esp + 0x74]
mov ecx, 0x102
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
cmp dword [esp + 0x1c], 0
je 0x7bb6f3
mov ecx, dword [esp + 0x78]
mov eax, dword [ecx + 0x88]
cmp eax, 2
je 0x7bb6e9
cmp eax, 1
je 0x7bb6e9
mov eax, dword [ecx + 0x90]
cmp eax, 2
je 0x7bb6e9
cmp eax, 1
je 0x7bb6e9
mov eax, dword [ecx + 0x8c]
cmp eax, 2
je 0x7bb6e9
cmp eax, 1
jne 0x7bb6f3
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x58
ret
mov ecx, dword [esp + 0x88]
mov edi, dword [esp + 0x64]
cmp ecx, edi
jae 0x7bb836
sub edi, ecx
lea eax, [edi*8]
add eax, ebp
lea esi, [edi + 3]
mov ebp, dword [esp + 0x3c]
sub ebp, edx
cmp esi, ebp
jbe 0x7bb72d
mov esi, 0xffffffba
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret
mov word [edx], ax
shr eax, 0x10
push edi
mov byte [edx + 2], al
lea eax, [edx + 3]
push ecx
push eax
call fcn.007bd9b0
add esp, 0xc
cmp esi, 0xffffff88
jbe 0x7bb753
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret
add dword [esp + 0x84], esi
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x2c]
jae 0x7bb836
movq xmm0, qword [ebx + 0x11e8]
mov ecx, dword [esp + 0x30]
mov edx, dword [ebx + 0x11f0]
movq qword [esp + 0x58], xmm0
mov dword [esp + 0x60], edx
cmp ecx, eax
jae 0x7bb824
mov ebx, dword [esp + 0x6c]
mov edi, ecx
mov esi, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
mov eax, dword [ebx]
sub edi, eax
mov dword [esp + 0x78], eax
movzx ebp, word [edi + eax + 4]
mov eax, edi
sar eax, 3
cmp dword [ebx + 0x28], eax
jne 0x7bb7bd
cmp dword [ebx + 0x24], 1
jne 0x7bb7bd
add ebp, 0x10000
mov ebx, dword [esp + 0x30]
mov ebx, dword [ebx]
cmp ebx, 3
jbe 0x7bb7d1
mov edx, esi
mov esi, ecx
lea ecx, [ebx - 3]
jmp 0x7bb7f6
xor eax, eax
test ebp, ebp
sete al
dec eax
add eax, ebx
je 0x7bb802
cmp eax, 3
jne 0x7bb7e7
lea ebx, [ecx - 1]
jmp 0x7bb7f0
mov ebx, dword [esp + eax*4 + 0x58]
cmp eax, 2
jb 0x7bb7f2
mov edx, esi
mov esi, ecx
mov ecx, ebx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], edx
mov ebx, dword [esp + 0x30]
add edi, 8
mov eax, dword [esp + 0x78]
add ebx, 8
cmp ebx, dword [esp + 0x10]
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x6c]
jb 0x7bb7a2
movq xmm0, qword [esp + 0x58]
mov eax, dword [esp + 0x74]
movq qword [eax + 0x11e8], xmm0
mov dword [eax + 0x11f0], edx
mov eax, dword [esp + 0x84]
sub eax, dword [esp + 0x80]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret