Function at 0x4217b0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x10
push ebx
mov ebx, dword [esp + 0x18]
push ebp
push esi
xor ebp, ebp
mov edx, dword [ebx + 0x44]
mov esi, dword [ebx + 0x34]
push edi
mov dword [esp + 0x18], ebp
mov ecx, dword [edx + 0x10]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x24], esi
push edx
mov eax, dword [ecx + 0x94]
cmp eax, dword [ecx + 0x98]
jbe 0x4217e8
call fcn.0043d790
jmp 0x4217ed
call fcn.0043e930
mov edi, eax
add esp, 4
test edi, edi
jne 0x42185e
push eax
push dword [ebx + 0x48]
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x24]
push eax
push esi
call fcn.0041f040
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x28]
push eax
push ebp
push ebx
call fcn.0042aa70
mov edi, dword [esp + 0x34]
add esp, 0x20
cmp byte [esi + 0x11], 0
je 0x421977
mov eax, dword [ebx + 0x48]
mov dword [esp + 0x1c], eax
test edi, edi
jne 0x42185e
mov esi, dword [esp + 0x10]
test esi, esi
jne 0x421881
push 0x4f308c
push 0xd2b4
push str.database_corruption_at_line__d_of___.10s_
push 0xb
call fcn.0041e040
add esp, 0x10
lea edi, [esi + 0xb]
mov eax, dword [esp + 0x28]
mov dword [eax], 0
test ebp, ebp
je 0x421877
push dword [ebp + 0x44]
call fcn.00464ae0
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
cmp esi, 2
jae 0x42188a
xor ecx, ecx
jmp 0x4218c6
mov ecx, dword [esp + 0x24]
mov eax, 0xcccccccd
add esi, 0xfffffffe
mul dword [ecx + 0x24]
mov eax, esi
mov ecx, edx
xor edx, edx
shr ecx, 2
inc ecx
div ecx
mov ecx, dword [esp + 0x24]
mov eax, dword [0x509110]
sub esi, edx
xor edx, edx
div dword [ecx + 0x20]
xor ecx, ecx
dec eax
cmp esi, eax
sete cl
add esi, 2
add ecx, esi
mov esi, dword [esp + 0x10]
push 0
lea eax, [esp + 0x18]
mov dword [esp + 0x1c], ecx
push eax
mov eax, dword [esp + 0x2c]
push ecx
push dword [eax]
call fcn.00462b70
add esp, 0x10
test eax, eax
je 0x4218eb
mov edi, eax
jmp 0x421977
sub esi, dword [esp + 0x18]
dec esi
lea ecx, [esi + esi*4]
mov esi, dword [esp + 0x14]
test ecx, ecx
jns 0x42191b
push 0x4f308c
push 0xd2bf
push str.database_corruption_at_line__d_of___.10s_
push 0xb
call fcn.0041e040
add esp, 0x10
mov edi, 0xb
jmp 0x42196a
mov eax, dword [esi + 4]
add eax, ecx
mov dword [esp + 0x18], eax
cmp byte [eax], 5
jne 0x42193f
inc eax
push eax
mov dword [esp + 0x28], eax
call fcn.0045c460
add esp, 4
cmp eax, dword [esp + 0x1c]
je 0x42196a
jmp 0x421944
inc eax
mov dword [esp + 0x24], eax
push esi
call fcn.00464b60
mov edi, eax
add esp, 4
test edi, edi
jne 0x42196a
mov eax, dword [esp + 0x18]
push dword [esp + 0x1c]
push dword [esp + 0x28]
mov byte [eax], 5
call fcn.00469bc0
add esp, 8
test esi, esi
je 0x421977
push esi
call fcn.00464ae0
add esp, 4
test edi, edi
jne 0x42185e
movzx eax, byte [ebx + 1]
add eax, eax
push eax
lea eax, [ebx + 0x16]
push eax
lea eax, [ebp + 0x16]
push eax
call fcn.004c1700
movzx eax, byte [ebx + 1]
shl eax, 2
push eax
lea eax, [ebx + 0x20]
push eax
lea eax, [ebp + 0x20]
push eax
call fcn.004c1700
mov al, byte [ebx + 1]
mov byte [ebp + 1], al
mov eax, dword [ebp + 0x38]
movzx eax, byte [eax]
and eax, 0xfffffff7
push eax
push ebx
call fcn.004975c0
movzx ecx, byte [ebx + 6]
add esp, 0x20
add ecx, dword [ebx + 0x38]
mov edx, dword [esp + 0x10]
mov eax, edx
shr eax, 0x18
pop edi
mov byte [ecx + 8], al
mov eax, edx
shr eax, 0x10
mov byte [ecx + 9], al
mov eax, edx
shr eax, 8
mov byte [ecx + 0xa], al
mov eax, dword [esp + 0x24]
pop esi
mov byte [ecx + 0xb], dl
mov dword [eax], ebp
xor eax, eax
pop ebp
pop ebx
add esp, 0x10
ret