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

Disassembly:
sub esp, 0x28
push ebx
push ebp
mov ebp, ecx
xor ebx, ebx
push esi
push edi
mov edi, edx
mov dword [esp + 0x34], ebp
movsx eax, byte [ebp + 0x44]
mov esi, dword [ebp + eax*4 + 0x78]
mov eax, dword [ebp + 4]
mov dword [esp + 0x28], esi
mov dword [esp + 0x24], eax
call fcn.00433630
mov ecx, dword [esi + 0x38]
mov esi, dword [esp + 0x24]
mov eax, dword [ebp + 0x18]
movzx edx, word [ebp + 0x20]
mov dword [esp + 0x2c], eax
add eax, edx
add ecx, dword [esi + 0x24]
cmp eax, ecx
jbe 0x433888
push 0x4d5e84
push 0xe69c
push str.database_corruption_at_line__d_of___.10s_
push 0xb
call fcn.00421700
add esp, 0x10
lea eax, [ebx + 0xb]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
mov esi, dword [esp + 0x3c]
cmp edi, edx
jae 0x433908
lea eax, [edi + esi]
mov dword [esp + 0x20], esi
mov ecx, esi
cmp eax, edx
jbe 0x4338a5
mov ecx, edx
sub ecx, edi
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x2c]
add eax, edi
test byte [esp + 0x44], 1
mov edi, dword [esp + 0x40]
mov dword [esp + 0x1c], eax
je 0x4338d7
mov ecx, dword [esp + 0x28]
mov ecx, dword [ecx + 0x48]
call fcn.0042c7f0
mov ebx, eax
test ebx, ebx
jne 0x4338e4
push dword [esp + 0x20]
push edi
push dword [esp + 0x24]
jmp 0x4338da
push ecx
push eax
push edi
call fcn.004a5830
add esp, 0xc
xor ebx, ebx
mov ecx, dword [esp + 0x20]
xor edi, edi
mov eax, dword [esp + 0x40]
sub esi, ecx
add eax, ecx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], eax
test ebx, ebx
je 0x433916
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
mov eax, dword [esp + 0x40]
sub edi, edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], esi
test esi, esi
je 0x4338fe
mov eax, dword [esp + 0x24]
movzx edx, word [ebp + 0x20]
mov ecx, dword [eax + 0x24]
mov eax, dword [esp + 0x2c]
add ecx, 0xfffffffc
cmp dword [esp + 0x44], 2
mov dword [esp + 0x14], ecx
mov esi, dword [edx + eax]
bswap esi
mov dword [esp + 0x18], esi
je 0x43399e
test byte [ebp + 0x40], 4
jne 0x4339a4
mov eax, dword [ebp + 0x1c]
sub eax, edx
xor edx, edx
dec eax
add eax, ecx
div ecx
mov dword [esp + 0x2c], eax
cmp eax, dword [ebp + 0x38]
jle 0x433985
mov ecx, dword [ebp + 0xc]
lea edx, [eax*8]
call fcn.0041f5b0
mov ecx, eax
test ecx, ecx
jne 0x433975
lea ebx, [eax + 7]
jmp 0x43399a
mov eax, dword [esp + 0x2c]
add eax, eax
mov dword [ebp + 0xc], ecx
mov dword [ebp + 0x38], eax
mov eax, dword [esp + 0x2c]
shl eax, 2
push eax
push 0
push dword [ebp + 0xc]
call fcn.004a3c90
add esp, 0xc
or byte [ebp + 0x40], 4
mov ecx, dword [esp + 0x14]
test byte [ebp + 0x40], 4
je 0x4339be
xor edx, edx
mov eax, edi
div ecx
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + eax*4]
test ecx, ecx
je 0x4339be
mov esi, ecx
mov edi, edx
mov dword [esp + 0x18], esi
jmp 0x4339c0
xor eax, eax
test ebx, ebx
jne 0x4338fe
mov ecx, dword [esp + 0x1c]
lea edx, [eax*4]
mov dword [esp + 0x2c], edx
test ecx, ecx
je 0x433b13
test esi, esi
je 0x433b13
test byte [ebp + 0x40], 4
je 0x4339f3
mov eax, dword [ebp + 0xc]
mov dword [edx + eax], esi
cmp edi, dword [esp + 0x14]
jb 0x433a3f
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + edx + 4]
test eax, eax
je 0x433a13
sub edi, dword [esp + 0x14]
mov esi, eax
mov dword [esp + 0x18], esi
jmp 0x433afa
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0x18]
push eax
push 0
mov edx, esi
call fcn.004336b0
mov esi, dword [esp + 0x20]
add esp, 8
mov ecx, dword [esp + 0x1c]
mov ebx, eax
mov edx, dword [esp + 0x2c]
sub edi, dword [esp + 0x14]
jmp 0x433afa
mov ebp, dword [esp + 0x14]
lea eax, [edi + ecx]
sub ebp, edi
mov edx, esi
cmp eax, dword [esp + 0x14]
mov eax, dword [esp + 0x44]
cmovbe ebp, ecx
add eax, eax
not eax
mov dword [esp + 0x28], ebp
and eax, 2
push eax
lea eax, [esp + 0x34]
push eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax]
call fcn.0042bc10
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x433ae4
mov ebp, dword [esp + 0x30]
add edi, 4
mov eax, dword [ebp + 4]
add edi, eax
test byte [esp + 0x44], 1
mov esi, dword [eax]
bswap esi
mov dword [esp + 0x18], esi
je 0x433aad
mov ecx, ebp
call fcn.0042c7f0
mov ebx, eax
test ebx, ebx
jne 0x433ac0
push dword [esp + 0x28]
push dword [esp + 0x24]
push edi
jmp 0x433ab6
push dword [esp + 0x28]
push edi
push dword [esp + 0x28]
call fcn.004a5830
add esp, 0xc
xor ebx, ebx
test byte [ebp + 0x18], 0x40
mov ecx, ebp
mov edi, dword [ebp + 0x10]
je 0x433ad2
call fcn.0042a600
jmp 0x433ad7
call fcn.00427070
mov ecx, edi
call fcn.0042bb90
mov ebp, dword [esp + 0x28]
xor edi, edi
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x2c]
sub ecx, ebp
add dword [esp + 0x20], ebp
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x1c], ecx
add edx, 4
mov dword [esp + 0x2c], edx
test ebx, ebx
je 0x4339d7
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
test ebx, ebx
jne 0x4338fe
test ecx, ecx
je 0x4338fe
push 0x4d5e84
push 0xe737
push str.database_corruption_at_line__d_of___.10s_
push 0xb
call fcn.00421700
add esp, 0x10
lea eax, [ebx + 0xb]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret