Function at 0x4218d0
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 0x421908
call fcn.0043d8f0
jmp 0x42190d
call fcn.0043ea90
mov edi, eax
add esp, 4
test edi, edi
jne 0x42197e
push eax
push dword [ebx + 0x48]
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x24]
push eax
push esi
call fcn.0041f160
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x28]
push eax
push ebp
push ebx
call fcn.0042abb0
mov edi, dword [esp + 0x34]
add esp, 0x20
cmp byte [esi + 0x11], 0
je 0x421a97
mov eax, dword [ebx + 0x48]
mov dword [esp + 0x1c], eax
test edi, edi
jne 0x42197e
mov esi, dword [esp + 0x10]
test esi, esi
jne 0x4219a1
push 0x4f408c
push 0xd2b4
push str.database_corruption_at_line__d_of___.10s_
push 0xb
call fcn.0041e160
add esp, 0x10
lea edi, [esi + 0xb]
mov eax, dword [esp + 0x28]
mov dword [eax], 0
test ebp, ebp
je 0x421997
push dword [ebp + 0x44]
call fcn.00464ce0
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
cmp esi, 2
jae 0x4219aa
xor ecx, ecx
jmp 0x4219e6
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 [0x50a110]
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.00462d80
add esp, 0x10
test eax, eax
je 0x421a0b
mov edi, eax
jmp 0x421a97
sub esi, dword [esp + 0x18]
dec esi
lea ecx, [esi + esi*4]
mov esi, dword [esp + 0x14]
test ecx, ecx
jns 0x421a3b
push 0x4f408c
push 0xd2bf
push str.database_corruption_at_line__d_of___.10s_
push 0xb
call fcn.0041e160
add esp, 0x10
mov edi, 0xb
jmp 0x421a8a
mov eax, dword [esi + 4]
add eax, ecx
mov dword [esp + 0x18], eax
cmp byte [eax], 5
jne 0x421a5f
inc eax
push eax
mov dword [esp + 0x28], eax
call fcn.0045c620
add esp, 4
cmp eax, dword [esp + 0x1c]
je 0x421a8a
jmp 0x421a64
inc eax
mov dword [esp + 0x24], eax
push esi
call fcn.00464d60
mov edi, eax
add esp, 4
test edi, edi
jne 0x421a8a
mov eax, dword [esp + 0x18]
push dword [esp + 0x1c]
push dword [esp + 0x28]
mov byte [eax], 5
call fcn.00469dd0
add esp, 8
test esi, esi
je 0x421a97
push esi
call fcn.00464ce0
add esp, 4
test edi, edi
jne 0x42197e
movzx eax, byte [ebx + 1]
add eax, eax
push eax
lea eax, [ebx + 0x16]
push eax
lea eax, [ebp + 0x16]
push eax
call fcn.004c15c0
movzx eax, byte [ebx + 1]
shl eax, 2
push eax
lea eax, [ebx + 0x20]
push eax
lea eax, [ebp + 0x20]
push eax
call fcn.004c15c0
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.004970a0
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