Function at 0x42e9f0
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x6c
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x68], eax
cmp dword [ebp + 0xc], 0
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov ebx, dword [eax + 4]
mov dword [esp + 0x10], edx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x14], eax
je 0x42eacb
cmp byte [edx + 1], 0x80
lea esi, [edx + 1]
movzx ecx, byte [esi]
jae 0x42ea33
mov al, 1
jmp 0x42ea8b
movzx eax, byte [esi + 1]
mov dword [esp + 0x20], eax
test al, al
js 0x42ea4b
and ecx, 0x7f
shl ecx, 7
or ecx, eax
mov al, 2
jmp 0x42ea8b
movzx eax, byte [esi + 2]
shl ecx, 0xe
or eax, ecx
test al, al
js 0x42ea6d
mov ecx, dword [esp + 0x20]
and eax, 0x1fc07f
and ecx, 0x7f
shl ecx, 7
or ecx, eax
mov al, 3
jmp 0x42ea8b
lea edx, [esp + 0x28]
mov ecx, esi
call fcn.00408d40
mov ecx, dword [esp + 0x28]
xor edx, edx
cmp edx, dword [esp + 0x2c]
je 0x42ea87
or ecx, 0xffffffff
mov edx, dword [esp + 0x10]
movzx esi, byte [edx]
movzx eax, al
inc eax
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], eax
cmp ecx, 0x80
jb 0x42eaa9
add ecx, 0xfffffff4
shr ecx, 1
jmp 0x42eab0
movzx ecx, byte [ecx + 0x4e2f10]
lea edi, [ecx + esi]
mov dword [esp + 0x18], 1
mov ecx, dword [esp + 0x20]
add ebx, 0x28
mov dword [esp + 0x24], edi
jmp 0x42eb54
cmp byte [edx], 0x80
movzx esi, byte [edx]
mov dword [esp + 0x1c], esi
jae 0x42eadb
mov al, 1
jmp 0x42eb3f
movzx ecx, byte [edx + 1]
test cl, cl
js 0x42eaf3
and esi, 0x7f
mov al, 2
shl esi, 7
or esi, ecx
mov dword [esp + 0x1c], esi
jmp 0x42eb3f
movzx eax, byte [edx + 2]
shl esi, 0xe
or eax, esi
test al, al
js 0x42eb17
mov esi, ecx
and eax, 0x1fc07f
and esi, 0x7f
shl esi, 7
or esi, eax
mov al, 3
mov dword [esp + 0x1c], esi
jmp 0x42eb3f
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x28]
call fcn.00408d40
mov esi, dword [esp + 0x28]
xor ecx, ecx
mov dword [esp + 0x1c], esi
cmp ecx, dword [esp + 0x2c]
je 0x42eb3b
or esi, 0xffffffff
mov dword [esp + 0x1c], esi
mov edx, dword [esp + 0x10]
movzx ecx, al
mov edi, esi
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], esi
mov dword [esp + 0x18], 0
cmp edi, dword [esp + 0x34]
jbe 0x42eb94
push 0x4e1734
push 0x146ee
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.004072e0
mov edx, dword [esp + 0x28]
add esp, 0x14
xor eax, eax
mov byte [edx + 0xb], 0xb
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.004bf1a3
mov esp, ebp
pop ebp
ret
movsd xmm1, qword [0x4e7990]
nop dword [eax]
movzx eax, word [ebx + 8]
add ecx, edx
movzx esi, byte [ecx]
test al, 0x24
je 0x42ee4f
cmp esi, 0xa
jae 0x42ee10
test esi, esi
je 0x42f2b2
add edi, edx
mov dword [esp + 0xc], edi
cmp esi, 7
jne 0x42ec6a
lea eax, [esp + 0x48]
mov edx, esi
push eax
mov ecx, edi
call fcn.0042dfd0
movsd xmm0, qword [esp + 0x4c]
add esp, 4
movsd xmm2, qword [0x4e79e0]
comisd xmm2, xmm0
jbe 0x42ebfe
or ecx, 0xffffffff
jmp 0x42f1d8
comisd xmm0, xmm1
jb 0x42ec0e
mov ecx, 1
jmp 0x42f1d8
call fcn.004d4ad0
mov ecx, dword [ebx]
mov edi, edx
mov edx, dword [ebx + 4]
cmp edx, edi
jg 0x42ec38
jl 0x42ec24
cmp ecx, eax
jae 0x42ec2e
mov ecx, 1
jmp 0x42f1d8
cmp edx, edi
jl 0x42ec40
jg 0x42ec38
cmp ecx, eax
jbe 0x42ec40
or ecx, 0xffffffff
jmp 0x42f1d8
call fcn.004d4b80
movsd xmm1, qword [esp + 0x48]
comisd xmm1, xmm0
jbe 0x42ec5b
mov ecx, 1
jmp 0x42f1d8
xor ecx, ecx
comisd xmm0, xmm1
setbe cl
dec ecx
jmp 0x42f1d8
cmp esi, 6
ja case.default.0x42ec73
jmp dword [esi*4 + 0x42f334]
movsx eax, byte [edi]
cdq
mov edi, eax
mov ecx, edx
jmp 0x42ede7
movsx ecx, byte [edi]
movzx eax, byte [edi + 1]
shl ecx, 8
or eax, ecx
cdq
mov edi, eax
mov ecx, edx
jmp 0x42ede7
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
movsx ecx, byte [edi]
shl ecx, 0x10
or eax, ecx
cdq
mov edi, eax
mov ecx, edx
jmp 0x42ede7
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
shl ecx, 8
or eax, ecx
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
movzx ecx, byte [edi + 3]
shl eax, 8
or eax, ecx
cdq
mov edi, eax
mov ecx, edx
jmp 0x42ede7
movzx eax, byte [edi + 2]
cdq
mov edi, eax
mov ecx, edx
mov eax, dword [esp + 0xc]
shld ecx, edi, 8
shl edi, 8
movzx eax, byte [eax + 3]
cdq
or edi, eax
or ecx, edx
mov eax, dword [esp + 0xc]
shld ecx, edi, 8
shl edi, 8
movzx eax, byte [eax + 4]
cdq
or edi, eax
or ecx, edx
mov eax, dword [esp + 0xc]
shld ecx, edi, 8
shl edi, 8
movzx eax, byte [eax + 5]
cdq
or ecx, edx
or edi, eax
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0xc]
movzx eax, byte [ecx + 1]
movsx ecx, byte [ecx]
shl ecx, 8
or eax, ecx
mov ecx, dword [esp + 0x28]
add edi, 0
cdq
adc ecx, eax
jmp 0x42ede7
movzx eax, byte [edi + 1]
cdq
mov edi, eax
mov ecx, edx
mov eax, dword [esp + 0xc]
movzx eax, byte [eax]
cdq
shld edx, eax, 8
shl eax, 8
or ecx, edx
or edi, eax
mov eax, dword [esp + 0xc]
shld ecx, edi, 8
shl edi, 8
movzx eax, byte [eax + 2]
cdq
or edi, eax
or ecx, edx
mov eax, dword [esp + 0xc]
shld ecx, edi, 8
shl edi, 8
movzx eax, byte [eax + 3]
cdq
or edi, eax
or ecx, edx
mov eax, dword [esp + 0xc]
shld ecx, edi, 8
shl edi, 8
movzx eax, byte [eax + 4]
cdq
or edi, eax
or ecx, edx
mov eax, dword [esp + 0xc]
shld ecx, edi, 8
shl edi, 8
movzx eax, byte [eax + 5]
cdq
or edi, eax
or ecx, edx
mov eax, dword [esp + 0xc]
shld ecx, edi, 8
shl edi, 8
movzx eax, byte [eax + 6]
cdq
or edi, eax
or ecx, edx
mov eax, dword [esp + 0xc]
shld ecx, edi, 8
shl edi, 8
movzx eax, byte [eax + 7]
cdq
or edi, eax
or ecx, edx
jmp 0x42ede7
lea edi, [esi - 8]
xor ecx, ecx
mov edx, dword [ebx + 4]
mov eax, dword [ebx]
cmp ecx, edx
jl 0x42f2b2
jg 0x42ee10
cmp edi, eax
jb 0x42f2b2
cmp ecx, edx
jg 0x42ee10
jl 0x42f1e8
cmp edi, eax
jbe 0x42f1e8
mov ecx, 1
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
movzx eax, byte [eax + edx]
test eax, eax
je 0x42f320
test al, 2
je 0x42f31e
test esi, esi
je 0x42f312
test byte [ebx + 8], 1
jne 0x42f312
xor edx, edx
jmp 0x42f317
test al, 8
je 0x42ef2a
cmp esi, 0xa
jae 0x42ee10
test esi, esi
je 0x42f2b2
lea eax, [esp + 0x48]
lea ecx, [edx + edi]
mov edx, esi
push eax
call fcn.0042dfd0
movsd xmm0, qword [ebx]
add esp, 4
cmp esi, 7
jne 0x42ee9e
movsd xmm1, qword [esp + 0x48]
comisd xmm0, xmm1
ja 0x42f2b2
comisd xmm1, xmm0
ja 0x42ee10
jmp 0x42f1e0
movsd xmm2, qword [0x4e79e0]
comisd xmm2, xmm0
jbe 0x42eeb6
mov ecx, 1
jmp 0x42f1d8
comisd xmm0, xmm1
jb 0x42eec4
or ecx, 0xffffffff
jmp 0x42f1d8
call fcn.004d4ad0
mov ecx, dword [esp + 0x48]
mov edi, edx
mov edx, dword [esp + 0x4c]
cmp edx, edi
jg 0x42ec24
jl 0x42ec38
cmp ecx, eax
jae 0x42eeed
or ecx, 0xffffffff
jmp 0x42f1d8
cmp edx, edi
jl 0x42ef05
jg 0x42ec24
cmp ecx, eax
jbe 0x42ef05
mov ecx, 1
jmp 0x42f1d8
call fcn.004d4b80
movsd xmm1, qword [ebx]
comisd xmm1, xmm0
jbe 0x42ef1c
or ecx, 0xffffffff
jmp 0x42f1d8
xor ecx, ecx
comisd xmm0, xmm1
seta cl
jmp 0x42f1d8
test al, 2
je 0x42f0a0
cmp esi, 0x80
jb 0x42ef4e
movzx edx, byte [ecx + 1]
test dl, dl
js 0x42efe5
and esi, 0x7f
shl esi, 7
or esi, edx
mov eax, esi
cmp esi, 0xc
jb 0x42f2b2
test al, 1
je 0x42f2a3
lea ecx, [esi - 0xc]
shr ecx, 1
mov dword [esp + 0x28], ecx
mov dword [esp + 0x54], ecx
lea eax, [ecx + edi]
cmp eax, dword [esp + 0x34]
ja 0x42f269
mov edx, dword [esp + 0x14]
mov edx, dword [edx]
movzx eax, word [edx + 8]
cmp eax, dword [esp + 0x18]
jle 0x42f269
mov eax, dword [esp + 0x18]
cmp dword [edx + eax*4 + 0x14], 0
je 0x42f027
mov al, byte [edx + 4]
lea ecx, [esp + 0x48]
mov byte [esp + 0x52], al
mov eax, dword [edx + 0xc]
mov dword [esp + 0x68], eax
mov eax, 2
mov word [esp + 0x50], ax
mov eax, dword [esp + 0x10]
add eax, edi
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x14]
add eax, 0xb
push eax
mov eax, dword [esp + 0x1c]
push dword [edx + eax*4 + 0x14]
mov edx, ebx
call fcn.0042e4a0
add esp, 8
mov ecx, eax
jmp 0x42f1d8
movzx eax, byte [ecx + 2]
shl esi, 0xe
or eax, esi
test al, al
js 0x42f006
mov esi, edx
and eax, 0x1fc07f
and esi, 0x7f
shl esi, 7
or esi, eax
jmp 0x42ef4e
lea edx, [esp + 0x38]
call fcn.00408d40
mov esi, dword [esp + 0x38]
xor eax, eax
cmp eax, dword [esp + 0x3c]
je 0x42ef4e
or esi, 0xffffffff
jmp 0x42ef61
mov edi, dword [ebx + 0xc]
cmp ecx, edi
mov edx, dword [ebx + 0x10]
cmovl edi, ecx
mov ecx, dword [esp + 0x10]
add ecx, dword [esp + 0x24]
sub edi, 4
jb 0x42f051
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x42f056
add ecx, 4
add edx, 4
sub edi, 4
jae 0x42f040
cmp edi, 0xfffffffc
je 0x42f08a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x42f083
cmp edi, 0xfffffffd
je 0x42f08a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x42f083
cmp edi, 0xfffffffe
je 0x42f08a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x42f083
cmp edi, 0xffffffff
je 0x42f08a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x42f08a
sbb ecx, ecx
or ecx, 1
jmp 0x42f08c
xor ecx, ecx
test ecx, ecx
jne 0x42ee15
mov ecx, dword [esp + 0x28]
sub ecx, dword [ebx + 0xc]
jmp 0x42f1d8
test al, 0x10
je 0x42f1d1
cmp esi, 0x80
jb 0x42f0f9
movzx edx, byte [ecx + 1]
test dl, dl
js 0x42f0c2
and esi, 0x7f
shl esi, 7
or esi, edx
jmp 0x42f0f9
movzx eax, byte [ecx + 2]
shl esi, 0xe
or eax, esi
test al, al
js 0x42f0e0
mov esi, edx
and eax, 0x1fc07f
and esi, 0x7f
shl esi, 7
or esi, eax
jmp 0x42f0f9
lea edx, [esp + 0x40]
call fcn.00408d40
mov esi, dword [esp + 0x40]
xor eax, eax
cmp eax, dword [esp + 0x44]
jne 0x42f2af
mov ecx, esi
mov dword [esp + 0x28], ecx
cmp esi, 0xc
jb 0x42f2b2
test cl, 1
jne 0x42f2b2
mov edx, dword [esp + 0x24]
lea edi, [ecx - 0xc]
shr edi, 1
lea eax, [edi + edx]
cmp eax, dword [esp + 0x34]
ja 0x42f2ba
movzx eax, word [ebx + 8]
test eax, 0x4000
je 0x42f158
xor eax, eax
test edi, edi
je 0x42f14f
add edx, dword [esp + 0x10]
nop dword [eax]
cmp byte [eax + edx], 0
jne 0x42ee10
inc eax
cmp eax, edi
jl 0x42f140
mov ecx, edi
sub ecx, dword [ebx]
jmp 0x42f1d8
mov esi, dword [ebx + 0xc]
cmp edi, esi
mov ecx, dword [esp + 0x10]
cmovl esi, edi
add ecx, edx
mov edx, dword [ebx + 0x10]
sub esi, 4
jb 0x42f181
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x42f186
add ecx, 4
add edx, 4
sub esi, 4
jae 0x42f170
cmp esi, 0xfffffffc
je 0x42f1ba
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x42f1b3
cmp esi, 0xfffffffd
je 0x42f1ba
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x42f1b3
cmp esi, 0xfffffffe
je 0x42f1ba
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x42f1b3
cmp esi, 0xffffffff
je 0x42f1ba
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x42f1ba
sbb ecx, ecx
or ecx, 1
jmp 0x42f1bc
xor ecx, ecx
mov eax, dword [esp + 0x28]
mov esi, eax
test ecx, ecx
jne 0x42ee15
mov ecx, edi
sub ecx, dword [ebx + 0xc]
jmp 0x42f1d8
xor ecx, ecx
test esi, esi
setne cl
test ecx, ecx
jne 0x42ee15
movsd xmm1, qword [0x4e7990]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
inc ecx
mov dword [esp + 0x18], ecx
movzx eax, word [eax + 8]
cmp ecx, eax
je 0x42f2f4
add ebx, 0x28
cmp esi, 0x80
jb 0x42f213
lea eax, [esi - 0xc]
shr eax, 1
jmp 0x42f21a
movzx eax, byte [esi + 0x4e2f10]
mov edi, dword [esp + 0x24]
xor ecx, ecx
add edi, eax
shr esi, 7
mov eax, esi
mov dword [esp + 0x24], edi
or eax, ecx
mov edx, 1
je 0x42f242
shrd esi, ecx, 7
inc edx
shr ecx, 7
mov eax, esi
or eax, ecx
jne 0x42f234
mov ecx, dword [esp + 0x20]
add ecx, edx
mov dword [esp + 0x20], ecx
cmp ecx, dword [esp + 0x1c]
jae 0x42f2f4
cmp edi, dword [esp + 0x34]
ja 0x42f2f4
mov edx, dword [esp + 0x10]
jmp 0x42eba0
push 0x4e1734
push 0x1473b
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.004072e0
mov eax, dword [esp + 0x28]
add esp, 0x14
mov byte [eax + 0xb], 0xb
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.004bf1a3
mov esp, ebp
pop ebp
ret
mov ecx, 1
mov esi, eax
jmp 0x42ee15
or esi, 0xffffffff
or ecx, 0xffffffff
jmp 0x42ee15
push 0x4e1734
push 0x14759
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.004072e0
mov eax, dword [esp + 0x28]
add esp, 0x14
mov byte [eax + 0xb], 0xb
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.004bf1a3
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x14]
mov byte [eax + 0xe], 1
movsx eax, byte [eax + 0xa]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.004bf1a3
mov esp, ebp
pop ebp
ret
mov edx, 1
and eax, 1
cmp eax, edx
je 0x42f320
neg ecx
pop edi
mov eax, ecx
mov ecx, dword [esp + 0x70]
pop esi
pop ebx
xor ecx, esp
call fcn.004bf1a3
mov esp, ebp
pop ebp
ret