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

Disassembly:
push ebp
mov ebp, 8
push edi
push esi
push ebx
sub esp, 0xec
cmp byte [eax + 0x2e], 0
mov dword [esp + 0x14], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x5c], 0
jne 0x7b2161
cmp byte [eax + 0x2b], 0
mov esi, eax
jne 0x7b204d
mov eax, dword [eax + 4]
mov ecx, 1
mov edx, 1
call fcn.0076c500
mov ebp, eax
test eax, eax
jne 0x7b2161
mov ebx, dword [esp + 0xc]
mov byte [esi + 0x2d], 1
test ebx, ebx
jne 0x7b20f0
mov byte [esp + 0x13], 1
lea edx, [esp + 0x5c]
mov eax, esi
call fcn.0079d9e0
mov ecx, dword [esp + 0x5c]
mov ebp, eax
test ecx, ecx
jne 0x7b2180
test eax, eax
jne 0x7b2780
mov eax, dword [esi + 0x44]
mov dword [esp + 0x18], eax
test eax, eax
je 0x7b2340
movzx edx, word [esi + 0x42]
mov eax, edx
and edx, 0xfe00
shl eax, 0x10
and eax, 0x10000
or eax, edx
mov dword [esp + 0x2c], eax
cmp dword [esp + 0x10c], eax
je 0x7b21d0
sub esp, 0xc
mov ebp, 0xb
push 0xbeb7d8
push 0xf57e
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.00787f60
add esp, 0x20
mov byte [esp + 0x13], 1
jmp 0x7b2123
sub esp, 8
mov eax, esi
push 1
push 0
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x110]
call fcn.0076c520
add esp, 0x10
mov ebp, eax
test eax, eax
je 0x7b2170
mov byte [esp + 0x13], 1
cmp eax, 5
je 0x7b2450
mov eax, dword [esp + 0x5c]
test eax, eax
jne 0x7b21a0
cmp byte [esi + 0x2c], 0
je 0x7b2138
mov eax, esi
call fcn.0076c610
cmp byte [esi + 0x2b], 0
jne 0x7b2150
mov eax, dword [esi + 4]
mov ecx, 1
mov edx, 1
call fcn.0076c580
cmp byte [esp + 0x13], 0
mov eax, 5
mov byte [esi + 0x2d], 0
cmove ebp, eax
add esp, 0xec
mov eax, ebp
pop ebx
pop esi
pop edi
pop ebp
ret
mov byte [esi + 0x2c], 1
jmp 0x7b205d
mov edx, dword [esi + 4]
mov eax, dword [edx]
cmp dword [eax], 2
jg 0x7b23d3
test ebp, ebp
je 0x7b2083
mov byte [esp + 0x13], 1
lea esi, [esi]
nop
lea edi, [esi + 0x38]
lea ecx, [esi + 0x34]
xor eax, eax
mov dword [esi + 0x34], 0
and edi, 0xfffffffc
mov dword [esi + 0x60], 0
sub ecx, edi
add ecx, 0x30
shr ecx, 2
rep stosd dword es:[edi], eax
jmp 0x7b212b
mov eax, dword [esi + 0x20]
mov eax, dword [eax]
mov dword [esp + 0x28], eax
mov eax, dword [eax + 0x60]
cmp dword [esp + 0x18], eax
jbe 0x7b2413
mov eax, dword [esi + 0x48]
xor ebp, ebp
mov dword [esp + 4], esi
mov edi, 1
mov dword [esp], ebp
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x28]
lea ebx, [edi + 1]
lea ebp, [eax + edi*4]
mov esi, dword [ebp + 0x64]
cmp esi, dword [esp + 0x18]
jb 0x7b22d0
cmp ebx, 5
je 0x7b2220
mov edi, ebx
jmp 0x7b21fb
mov eax, dword [esp + 0x28]
mov ebp, dword [esp]
mov dword [esp + 0x20], 0
mov esi, dword [esp + 4]
mov eax, dword [eax + 0x60]
cmp eax, dword [esp + 0x18]
jb 0x7b2470
cmp ebp, 5
je 0x7b2420
test ebp, ebp
sete bl
mov eax, dword [esp + 0xc]
test eax, eax
je 0x7b2790
test bl, bl
je 0x7b2790
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x60]
cmp eax, dword [esi + 0x44]
jae 0x7b235f
mov byte [esp + 0x13], 1
mov ebp, 5
sub esp, 0xc
push dword [esp + 0x2c]
call fcn.007677d0
add esp, 0x10
mov eax, dword [esp + 0x114]
test eax, eax
je 0x7b22a2
mov eax, dword [esi + 0x44]
mov ecx, dword [esp + 0x114]
mov dword [ecx], eax
mov eax, dword [esp + 0x118]
test eax, eax
je 0x7b2123
mov eax, dword [esi + 0x20]
mov ecx, dword [esp + 0x118]
mov eax, dword [eax]
mov eax, dword [eax + 0x60]
mov dword [ecx], eax
jmp 0x7b2123
lea eax, [edi + 3]
sub esp, 8
mov dword [esp + 0x10], eax
push 1
push eax
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x110]
mov eax, ebx
call fcn.0076c520
mov dword [esp + 0x10], eax
add esp, 0x10
test eax, eax
jne 0x7b23f2
mov esi, ebx
mov eax, dword [ebx + 4]
lea ebx, [edi + 1]
cmp edi, 1
je 0x7b27f0
mov dword [ebp + 0x64], 0xffffffff
cmp byte [esi + 0x2b], 0
jne 0x7b2212
mov edx, dword [esp + 8]
mov ecx, 1
call fcn.0076c580
jmp 0x7b2212
mov eax, dword [esi + 0x20]
mov eax, dword [eax]
mov edx, dword [eax + 0x60]
mov edx, dword [esp + 0xc]
test edx, edx
je 0x7b2442
mov dword [esp + 0x20], 0
mov eax, dword [eax + 0x60]
xor ebp, ebp
cmp dword [esp + 0xc], 1
jle 0x7b227c
call fcn.0077b440
test eax, eax
jne 0x7b2383
lea edx, [esp + 0x78]
mov eax, 4
call fcn.0077ba40
sub esp, 8
mov eax, esi
push 4
push 4
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x110]
call fcn.0076c520
add esp, 0x10
mov ebp, eax
test eax, eax
je 0x7b2850
mov byte [esp + 0x13], 1
cmp eax, 5
sete bl
sub esp, 0xc
push dword [esp + 0x2c]
call fcn.007677d0
add esp, 0x10
test bl, bl
je 0x7b2123
jmp 0x7b228b
push 0
push 0
push 0
push edx
call dword [eax + 0x48]
add esp, 0x10
test ebp, ebp
je 0x7b2083
mov byte [esp + 0x13], 1
jmp 0x7b2123
cmp dword [esp], 5
jne 0x7b2b5e
lea ebx, [edi + 1]
mov dword [esp + 0x18], esi
mov dword [esp + 0x100], 0
jmp 0x7b2212
mov dword [esp + 0x20], 0
lea esi, [esi]
nop
mov edi, dword [esp + 0xc]
test edi, edi
jne 0x7b2262
sub esp, 0xc
xor ebp, ebp
push dword [esp + 0x2c]
call fcn.007677d0
add esp, 0x10
jmp 0x7b228b
mov dword [esp + 0x20], 0
jmp 0x7b242c
mov byte [esp + 0x13], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0xc], 0
jmp 0x7b2062
mov eax, dword [esp + 0x28]
mov ebp, dword [eax + 0x60]
mov eax, dword [esi + 0x44]
mov dword [esp + 0x48], eax
call fcn.0077b440
test eax, eax
jne 0x7b2810
mov edi, dword [esp + 0x48]
xor edx, edx
lea eax, [edi + 0x21]
shr eax, 0xc
mov dword [esp + 0x3c], eax
mov ebx, eax
lea eax, [eax + eax*4]
lea edi, [edi + eax*2 + 0xe]
add edi, edi
mov eax, edi
call fcn.00767320
mov dword [esp + 0x20], eax
test eax, eax
je 0x7b2810
sub esp, 4
add ebx, 1
push edi
mov edi, eax
push 0
push eax
call sub.msvcrt.dll_memset
mov dword [edi + 4], ebx
call fcn.0077b440
add esp, 0x10
test eax, eax
jne 0x7b2ad1
mov edi, dword [esp + 0x48]
mov eax, 0x1000
cmp edi, 0x1000
cmovbe eax, edi
xor edx, edx
add eax, eax
call fcn.00767320
mov dword [esp + 4], eax
test eax, eax
je 0x7b2ad1
lea eax, [ebp + 0x22]
shr eax, 0xc
mov dword [esp + 0x1c], eax
cmp ebx, eax
jle 0x7b26de
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
mov dword [esp + 0x40], esi
lea eax, [eax + eax*4]
lea eax, [edi + eax*4 + 0xc]
mov dword [esp + 0x30], eax
lea esi, [esi]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x40]
lea ecx, [esp + 0x68]
mov dword [esp + 0x24], edx
call fcn.0079d4a0
mov ebp, eax
test eax, eax
je 0x7b2575
mov esi, dword [esp + 0x40]
sub esp, 0xc
push dword [esp + 0x10]
call fcn.007677d0
pop ebx
push dword [esp + 0x2c]
call fcn.007677d0
add esp, 0x10
mov dword [esp + 0x20], 0
jmp 0x7b2240
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x1c]
add eax, 4
mov dword [esp], eax
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x70]
cmp dword [esp + 0x3c], ecx
je 0x7b2840
mov edx, dword [esp + 0x68]
sub edx, dword [esp]
sar edx, 2
mov dword [esp + 8], edx
mov esi, dword [esp + 0x20]
mov edx, dword [esi + 4]
lea ecx, [edx + edx*4]
lea edx, [eax + eax]
add eax, 1
lea edx, [edx + ecx*4 + 8]
mov dword [esp + 0x70], eax
mov ecx, edx
mov edx, dword [esp + 8]
add ecx, esi
mov dword [esp + 0x34], ecx
test edx, edx
jle 0x7b2b35
xor eax, eax
mov word [ecx + eax*2], ax
add eax, 1
cmp eax, edx
jne 0x7b25d1
lea esi, [esp + 0x78]
mov ecx, 0x1a
xor eax, eax
mov edi, esi
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x34]
nop
mov dword [esp + 0x60], 1
mov eax, edi
mov dword [esp + 0x64], edi
test ebp, 1
je 0x7b2772
xor ebx, ebx
lea esi, [esi]
sub esp, 4
mov ecx, dword [esi + ebx*8]
mov edx, dword [esi + ebx*8 + 4]
add ebx, 1
push dword [esp + 8]
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0x70]
push eax
mov eax, dword [esp + 0x10]
call fcn.007658d0
add esp, 0x10
bt ebp, ebx
jb 0x7b2610
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x60]
mov dword [esp + ebx*8 + 0x7c], eax
add ebp, 1
add edi, 2
mov dword [esp + ebx*8 + 0x78], edx
cmp ebp, dword [esp + 8]
jne 0x7b25f0
add ebx, 1
cmp ebx, 0xc
ja 0x7b26a4
lea edi, [esp + 0x64]
mov ebp, dword [esp + 8]
jmp 0x7b2678
add ebx, 1
cmp ebx, 0xd
je 0x7b26a0
bt ebp, ebx
jae 0x7b2670
sub esp, 4
mov ecx, dword [esi + ebx*8]
mov edx, dword [esi + ebx*8 + 4]
push dword [esp + 8]
lea eax, [esp + 0x68]
push eax
push edi
mov eax, dword [esp + 0x10]
call fcn.007658d0
add esp, 0x10
jmp 0x7b2670
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x70]
add dword [esp + 0x1c], 1
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
add ecx, 0x14
mov dword [ecx - 0xc], edx
mov dword [ecx - 0x14], eax
mov eax, dword [esp + 0x6c]
mov dword [ecx - 0x10], eax
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x24]
cmp dword [esp + 0x3c], ecx
jg 0x7b2530
mov esi, dword [esp + 0x40]
sub esp, 0xc
push dword [esp + 0x10]
call fcn.007677d0
add esp, 0x10
mov eax, esi
push edx
push edx
push 1
push 3
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x110]
call fcn.0076c520
add esp, 0x10
mov ebp, eax
test eax, eax
jne 0x7b2240
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + 0x60]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x18]
mov dword [eax + 0x80], ecx
mov eax, dword [esp + 0x108]
sar eax, 2
and eax, 3
mov dword [esp + 0x4c], eax
je 0x7b27a0
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x4c]
call fcn.007670a0
mov ebp, eax
test eax, eax
je 0x7b27a0
mov ebx, dword [esi + 4]
cmp byte [esi + 0x2b], 0
jne 0x7b2240
mov ecx, 1
mov edx, 3
mov eax, ebx
call fcn.0076c580
jmp 0x7b2240
mov edx, 1
xor ebx, ebx
jmp 0x7b2644
mov byte [esp + 0x13], 1
jmp 0x7b212b
test ebp, ebp
setne al
or byte [esp + 0x13], al
jmp 0x7b23b7
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x38]
sub esp, 8
mov eax, edi
mov dword [esp + 0x48], edi
cdq
mov eax, ebx
mov ecx, edx
mov dword [esp + 0x4c], edx
mul edi
imul ecx, ebx
mov dword [esp + 0x70], eax
mov eax, dword [esi + 4]
add edx, ecx
mov dword [esp + 0x74], edx
lea ecx, [esp + 0x80]
mov edx, dword [eax]
push ecx
push eax
call dword [edx + 0x18]
add esp, 0x10
test eax, eax
je 0x7b2881
mov ebx, dword [esi + 4]
mov ebp, eax
jmp 0x7b2752
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
mov dword [esi + 0x68], ecx
mov esi, dword [esp + 4]
cmp byte [esi + 0x2b], 0
je 0x7b2327
jmp 0x7b2217
mov dword [esp + 0x20], 0
mov ebp, 7
sub esp, 0xc
push dword [esp + 0x2c]
call fcn.007677d0
add esp, 0x10
mov byte [esp + 0x13], 1
jmp 0x7b2123
mov esi, dword [esp + 0x48]
sub esi, eax
mov dword [esp + 8], esi
jmp 0x7b25a3
cmp dword [esp + 0xc], 3
mov ebx, 1
je 0x7b2be8
cmp byte [esi + 0x2b], 0
jne 0x7b23b7
mov eax, dword [esi + 4]
mov ecx, 4
mov edx, 4
call fcn.0076c580
jmp 0x7b23b7
mov eax, dword [esp + 0x68]
cmp dword [esp + 0x78], eax
mov eax, dword [esp + 0x7c]
sbb eax, dword [esp + 0x6c]
jge 0x7b28ad
mov edx, dword [esi + 4]
mov eax, dword [edx]
test eax, eax
je 0x7b28ad
sub esp, 4
lea ecx, [esp + 0x6c]
push ecx
push 5
push edx
call dword [eax + 0x28]
add esp, 0x10
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x3c], esi
add eax, 0x18
mov dword [esp + 0x48], eax
mov ebx, dword [esp + 0x20]
mov eax, dword [ebx + 4]
lea esi, [eax - 1]
lea eax, [eax + eax*4]
mov dword [esp + 0x24], esi
mov esi, dword [ebx]
lea eax, [ebx + eax*4]
mov dword [esp + 0x30], eax
mov dword [esp + 4], esi
mov eax, dword [esp + 0x24]
test eax, eax
js 0x7b2a50
mov edx, dword [esp + 0x30]
mov ebp, dword [esp + 0x24]
mov dword [esp], 0xffffffff
lea esi, [esi]
mov edi, dword [edx]
mov eax, dword [edx - 0xc]
mov dword [esp + 8], edi
cmp eax, edi
jge 0x7b294d
mov edi, dword [edx - 8]
mov esi, dword [edx - 4]
movzx ebx, word [edi + eax*2]
add eax, 1
mov ecx, dword [esi + ebx*4]
cmp ecx, dword [esp + 4]
jbe 0x7b2944
jmp 0x7b2a35
movzx ebx, word [edi + eax*2]
add eax, 1
mov ecx, dword [esi + ebx*4]
cmp dword [esp + 4], ecx
jb 0x7b2a35
mov dword [edx - 0xc], eax
cmp eax, dword [esp + 8]
jne 0x7b2930
sub ebp, 1
sub edx, 0x14
cmp ebp, 0xffffffff
jne 0x7b2900
mov eax, dword [esp]
mov ecx, dword [esp + 0x20]
mov dword [esp + 4], eax
mov dword [ecx], eax
cmp eax, 0xffffffff
je 0x7b2c23
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x108]
test eax, eax
jne 0x7b2afa
mov edi, dword [esp + 0x1c]
cmp dword [esp + 0x18], edi
setb dl
cmp dword [esp + 0x34], edi
setae al
or dl, al
jne 0x7b28e2
mov esi, dword [esp]
cmp dword [esp + 0x38], esi
jb 0x7b28e2
mov eax, dword [esp + 0x3c]
sub esp, 0xc
mov edx, dword [esp + 0x54]
mov ebp, dword [eax + 8]
lea eax, [edi - 1]
mov edi, edx
sar edi, 0x1f
mov ecx, dword [ebp]
mov ebx, edi
imul ebx, eax
mul edx
add edx, ebx
add eax, 0x38
adc edx, 0
push edx
push eax
push dword [esp + 0x40]
push dword [esp + 0x128]
push ebp
call dword [ecx + 8]
add esp, 0x20
test eax, eax
jne 0x7b2a27
mov eax, dword [esp + 0x3c]
sub esp, 0xc
mov ebp, dword [esp + 0x50]
mov edi, dword [esp + 0x4c]
mov ecx, dword [eax + 4]
mov eax, dword [esp + 0xc]
mov esi, ebp
sub eax, 1
mov ebx, dword [ecx]
imul esi, eax
mul edi
add edx, esi
push edx
push eax
push dword [esp + 0x40]
push dword [esp + 0x128]
push ecx
call dword [ebx + 0xc]
add esp, 0x20
test eax, eax
je 0x7b28c4
mov esi, dword [esp + 0x3c]
mov ebp, eax
mov ebx, dword [esi + 4]
jmp 0x7b2752
cmp dword [esp], ecx
jbe 0x7b294d
add ebx, dword [edx + 4]
mov dword [esp], ecx
mov dword [esp + 0x1c], ebx
jmp 0x7b294d
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x3c]
mov dword [eax], 0xffffffff
mov eax, dword [esi + 0x20]
mov ebx, dword [esi + 4]
mov eax, dword [eax]
mov edi, dword [ebx]
mov eax, dword [eax + 0x10]
cmp eax, dword [esp + 0x18]
je 0x7b2b98
test edi, edi
je 0x7b2c5f
sub esp, 4
push 0
push 0x25
push ebx
call dword [edi + 0x28]
mov ebp, eax
add esp, 0x10
cmp eax, 0xc
je 0x7b2c2c
mov ebx, dword [esi + 4]
test eax, eax
jne 0x7b2752
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x18]
mov dword [eax + 0x60], edi
cmp byte [esi + 0x2b], 0
jne 0x7b2420
mov eax, ebx
mov ecx, 1
mov edx, 3
mov ebx, 1
call fcn.0076c580
jmp 0x7b224e
sub esp, 0xc
mov ebp, 7
push 0
call fcn.007677d0
pop ecx
push dword [esp + 0x2c]
call fcn.007677d0
add esp, 0x10
mov dword [esp + 0x20], 0
jmp 0x7b2249
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x3c]
cmp byte [edi + 0x51], 0
movzx edx, byte [esi + 0x2b]
mov eax, dword [esi + 4]
jne 0x7b2b72
mov ebp, 9
test dl, dl
jne 0x7b281d
mov ecx, 1
mov edx, 3
mov ebp, 9
call fcn.0076c580
jmp 0x7b281d
lea esi, [esp + 0x78]
mov ecx, 0x1a
xor eax, eax
mov ebx, 1
mov edi, esi
mov dword [esp + 0x60], 0
rep stosd dword es:[edi], eax
mov dword [esp + 0x64], 0
jmp 0x7b2660
mov ebp, dword [esp]
mov esi, dword [esp + 4]
mov dword [esp + 0x20], 0
jmp 0x7b281d
mov ebp, 7
test dl, dl
jne 0x7b281d
mov ecx, 1
mov edx, 3
mov ebp, 7
call fcn.0076c580
jmp 0x7b281d
sub esp, 4
mov eax, dword [esi + 0x48]
mov ecx, dword [esp + 0x48]
imul ecx, eax
mul dword [esp + 0x30]
add edx, ecx
push edx
push eax
push ebx
call dword [edi + 0x10]
mov ebx, dword [esi + 4]
mov ebp, eax
add esp, 0x10
test eax, eax
jne 0x7b2752
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x7b2be1
mov edx, dword [esp + 0x4c]
mov eax, ebx
call fcn.007670a0
mov ebx, dword [esi + 4]
mov ebp, eax
test eax, eax
jne 0x7b2752
mov edi, dword [ebx]
jmp 0x7b2a75
mov edx, dword [esp + 0x78]
mov eax, esi
call fcn.0076c2a0
mov eax, dword [esi + 8]
sub esp, 4
mov edx, dword [eax]
push 0
push 0
push eax
call dword [edx + 0x10]
mov ebp, eax
add esp, 0x10
cmp eax, 5
sete bl
test eax, eax
sete al
or ebx, eax
test ebp, ebp
setne al
or byte [esp + 0x13], al
jmp 0x7b2860
mov esi, dword [esp + 0x3c]
jmp 0x7b2a5e
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x18]
mov dword [eax + 0x60], edi
cmp byte [esi + 0x2b], 0
jne 0x7b2420
mov eax, dword [esi + 4]
mov ecx, 1
mov edx, 3
xor ebp, ebp
mov ebx, 1
call fcn.0076c580
jmp 0x7b224e
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x18]
mov dword [eax + 0x60], edi
cmp byte [esi + 0x2b], 0
jne 0x7b2420
mov eax, ebx
mov ecx, 1
mov edx, 3
xor ebp, ebp
call fcn.0076c580
mov ebx, 1
jmp 0x7b224e