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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2c
push ebx
push esi
push edi
mov edi, edx
mov esi, ecx
mov dword [esp + 0x20], edi
mov dword [esp + 0x10], esi
test edi, edi
jne 0x42a1ec
cmp byte [esi], 1
jne 0x42a1e2
mov cl, byte [esi + 1]
test cl, 2
je 0x42a1e2
mov edx, dword [esi + 0x18]
mov edi, dword [ebp + 8]
mov eax, dword [esi + 0x1c]
mov ebx, dword [ebp + 0xc]
cmp edx, edi
jne 0x42a14b
cmp eax, ebx
jne 0x42a14d
mov eax, dword [ebp + 0x14]
mov dword [eax], 0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, ebx
jg 0x42a1e2
jl 0x42a15d
cmp edx, edi
jae 0x42a1e2
test cl, 8
jne 0x42a261
add edx, 1
adc eax, 0
cmp edx, edi
jne 0x42a1e2
cmp eax, ebx
jne 0x42a1e2
cmp dword [esi + 0x40], 0
jne 0x42a1e2
mov eax, dword [ebp + 0x14]
and cl, 0xf9
mov byte [esi + 1], cl
mov ecx, dword [esi + 0x74]
mov dword [eax], 0
xor eax, eax
mov word [esi + 0x2a], ax
movzx eax, word [esi + 0x46]
mov edx, eax
inc eax
mov word [esi + 0x46], ax
cmp ax, word [ecx + 0x16]
jb 0x42a1b0
mov ecx, esi
mov word [esi + 0x46], dx
call fcn.0042a7b0
jmp 0x42a1bd
cmp byte [ecx + 8], 0
jne 0x42a1cd
mov ecx, esi
call fcn.00429ee0
test eax, eax
je 0x42a1cd
cmp eax, 0x65
je 0x42a1e2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00429450
cmp dword [esi + 0x18], edi
jne 0x42a1e2
cmp dword [esi + 0x1c], ebx
je 0x42a142
mov dword [esp + 0x14], 0
jmp 0x42a24d
mov edx, dword [edi]
cmp word [edx + 8], 0xd
ja 0x42a241
mov eax, dword [edi + 4]
movzx ebx, word [eax + 8]
mov eax, dword [edx + 0x10]
mov cl, byte [eax]
test cl, cl
setne al
test cl, cl
lea eax, [eax*2 - 1]
mov byte [edi + 0xc], al
sete al
lea eax, [eax*2 - 1]
mov byte [edi + 0xd], al
test bl, 4
je 0x42a22e
mov dword [esp + 0x14], 0x439420
jmp 0x42a249
test bl, 0x19
jne 0x42a241
cmp dword [edx + 0x14], 0
mov dword [esp + 0x14], 0x439650
je 0x42a249
mov dword [esp + 0x14], 0x439400
mov byte [edi + 0xb], 0
mov ecx, esi
call fcn.00429c60
test eax, eax
je 0x42a273
cmp eax, 0x10
jne 0x42a6d3
mov eax, dword [ebp + 0x14]
mov dword [eax], 0xffffffff
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, 1
lea edi, [esi + 0x74]
sub ecx, dword [ebp + 0x10]
mov dword [esp + 0x2c], ecx
mov esi, dword [edi]
xor eax, eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x18], esi
movzx ebx, word [esi + 0x16]
dec ebx
mov edi, ebx
mov dword [esp + 0x28], ebx
sar edi, cl
cmp dword [esp + 0x14], 0
mov word [eax + 0x46], di
jne 0x42a390
mov cl, byte [esi + 3]
mov byte [esp + 0xf], cl
mov eax, dword [esi + 0x40]
movzx edx, word [esi + 0x18]
mov ax, word [eax + edi*2]
mov ch, al
mov cl, ah
movzx eax, dx
movzx ecx, cx
and ecx, eax
add ecx, dword [esi + 0x44]
cmp byte [esp + 0xf], 0
je 0x42a2ef
cmp byte [ecx], 0x80
jb 0x42a2ee
mov eax, dword [esi + 0x3c]
nop
inc ecx
cmp ecx, eax
jae 0x42a58a
cmp byte [ecx], 0x80
jae 0x42a2e0
inc ecx
lea edx, [esp + 0x30]
call fcn.004141b0
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
cmp ecx, dword [ebp + 0xc]
jg 0x42a346
jl 0x42a30e
mov edx, dword [ebp + 8]
cmp eax, edx
jae 0x42a349
lea edx, [edi + 1]
mov dword [esp + 0x1c], edx
cmp edx, ebx
jle 0x42a35f
or ebx, 0xffffffff
cmp byte [esi + 8], 0
jne 0x42a606
mov ebx, dword [esp + 0x10]
movzx eax, word [esi + 0x16]
cmp edx, eax
jl 0x42a50b
movzx ecx, byte [esi + 9]
mov eax, dword [esi + 0x38]
mov edx, dword [ecx + eax + 8]
jmp 0x42a525
mov edx, dword [ebp + 8]
cmp ecx, dword [ebp + 0xc]
jl 0x42a370
jg 0x42a354
cmp eax, edx
jbe 0x42a370
mov edx, dword [esp + 0x1c]
lea ebx, [edi - 1]
cmp edx, ebx
jg 0x42a369
lea edi, [ebx + edx]
sar edi, 1
jmp 0x42a2b5
mov ebx, 1
jmp 0x42a31c
mov ebx, dword [esp + 0x10]
mov word [ebx + 0x46], di
cmp byte [esi + 8], 0
jne 0x42a5b4
mov edx, edi
mov dword [esp + 0x1c], edx
jmp 0x42a32a
mov eax, dword [esi + 0x40]
mov ebx, dword [esp + 0x18]
mov ax, word [eax + edi*2]
mov ch, al
mov cl, ah
movzx eax, word [esi + 0x18]
movzx ecx, cx
and ecx, eax
movzx eax, byte [ebx + 0xb]
add ecx, dword [esi + 0x44]
movzx edx, byte [ecx]
lea esi, [ecx + 1]
cmp edx, eax
ja 0x42a3cd
push dword [esp + 0x20]
push esi
push edx
call dword [esp + 0x20]
add esp, 0xc
mov ebx, eax
jmp 0x42a4d3
mov al, byte [esi]
test al, al
js 0x42a405
mov esi, dword [esp + 0x18]
and edx, 0x7f
shl edx, 7
movzx eax, al
add edx, eax
movzx eax, word [esi + 0xe]
cmp edx, eax
ja 0x42a401
push dword [esp + 0x20]
lea eax, [ecx + 2]
push eax
push edx
call dword [esp + 0x20]
add esp, 0xc
mov ebx, eax
jmp 0x42a4d7
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
movzx eax, byte [ebx + 0xa]
add esi, 0x18
sub ecx, eax
mov eax, dword [ebx + 0x50]
push esi
push ecx
push ebx
call eax
mov ebx, dword [esi]
add esp, 0xc
cmp ebx, 2
jl 0x42a6f9
lea eax, [ebx + 0x12]
cdq
push edx
push eax
call fcn.0040fd60
mov esi, eax
add esp, 8
test esi, esi
je 0x42a6e3
mov eax, dword [esp + 0x10]
xor edx, edx
push 0
push esi
push ebx
mov ecx, eax
mov word [eax + 0x46], di
call fcn.00429710
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov dword [esp + 0x24], eax
and byte [ecx + 1], 0xfb
test eax, eax
jne 0x42a676
push dword [esp + 0x20]
push esi
push ebx
call dword [esp + 0x20]
add esp, 0xc
mov ebx, eax
cmp dword [0x4d9a98], 0
je 0x42a4c9
mov eax, dword [0x4defd8]
test eax, eax
je 0x42a497
push eax
call dword [0x4d9af4]
add esp, 4
push esi
call dword [0x4d9ad0]
sub dword [0x4dede0], eax
add esp, 4
dec dword [0x4dee04]
push esi
call dword [0x4d9ac8]
mov eax, dword [0x4defd8]
add esp, 4
test eax, eax
je 0x42a4d3
push eax
call dword [0x4d9afc]
jmp 0x42a4d0
push esi
call dword [0x4d9ac8]
add esp, 4
mov esi, dword [esp + 0x18]
test ebx, ebx
jns 0x42a4e8
mov eax, dword [esp + 0x28]
lea edx, [edi + 1]
mov dword [esp + 0x1c], edx
jmp 0x42a4f9
jle 0x42a626
mov edx, dword [esp + 0x1c]
lea eax, [edi - 1]
mov dword [esp + 0x28], eax
cmp edx, eax
jg 0x42a31c
lea edi, [eax + edx]
sar edi, 1
jmp 0x42a390
mov eax, dword [esi + 0x40]
mov ax, word [eax + edx*2]
mov ch, al
mov cl, ah
movzx eax, word [esi + 0x18]
movzx ecx, cx
and ecx, eax
mov eax, dword [esi + 0x38]
mov edx, dword [ecx + eax]
mov eax, dword [esp + 0x1c]
mov esi, dword [ebx + 0xc]
movzx ecx, ax
mov al, byte [ebx + 0x44]
mov word [ebx + 0x46], cx
cmp al, 0x13
jge 0x42a5d6
and byte [ebx + 1], 0xf9
xor edi, edi
movsx eax, al
mov word [ebx + 0x2a], di
lea edi, [ebx + 0x74]
bswap edx
mov word [ebx + eax*2 + 0x48], cx
movsx ecx, byte [ebx + 0x44]
mov eax, dword [edi]
mov dword [ebx + ecx*4 + 0x78], eax
xor eax, eax
inc byte [ebx + 0x44]
mov ecx, esi
mov word [ebx + 0x46], ax
movzx eax, byte [ebx + 2]
push eax
push ebx
push edi
call fcn.00426250
add esp, 0xc
test eax, eax
jne 0x42a6cd
mov ecx, dword [esp + 0x2c]
jmp 0x42a282
push 0x4d6ad4
push 0xfdc8
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.00412760
add esp, 0x14
mov eax, 0xb
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
or byte [ebx + 1], 2
mov dword [ebx + 0x18], eax
xor eax, eax
mov word [ebx + 0x2a], ax
mov eax, dword [ebp + 0x14]
mov dword [ebx + 0x1c], ecx
mov dword [eax], 0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x4d6ad4
push 0xfc2d
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.00412760
add esp, 0x14
mov eax, 0xb
xor ecx, ecx
mov word [ebx + 0x2a], cx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x10]
mov word [eax + 0x46], di
mov eax, dword [ebp + 0x14]
mov dword [eax], ebx
xor eax, eax
mov ebx, dword [esp + 0x10]
xor ecx, ecx
mov word [ebx + 0x2a], cx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
mov dword [eax], 0
xor eax, eax
mov word [ebx + 0x46], di
cmp byte [ecx + 0xb], al
je 0x42a6cd
push 0x4d6ad4
push 0xfe31
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.00412760
add esp, 0x14
mov eax, 0xb
xor ecx, ecx
mov word [ebx + 0x2a], cx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [0x4d9a98], 0
je 0x42a6da
mov eax, dword [0x4defd8]
test eax, eax
je 0x42a692
push eax
call dword [0x4d9af4]
add esp, 4
push esi
call dword [0x4d9ad0]
sub dword [0x4dede0], eax
add esp, 4
dec dword [0x4dee04]
push esi
call dword [0x4d9ac8]
mov eax, dword [0x4defd8]
add esp, 4
test eax, eax
je 0x42a6c5
push eax
call dword [0x4d9afc]
add esp, 4
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x10]
xor ecx, ecx
mov word [ebx + 0x2a], cx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push esi
call dword [0x4d9ac8]
jmp 0x42a6c2
mov ebx, dword [esp + 0x10]
xor ecx, ecx
mov eax, 7
mov word [ebx + 0x2a], cx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x4d6ad4
push 0xfe12
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.00412760
mov ebx, dword [esp + 0x24]
add esp, 0x14
xor ecx, ecx
mov eax, 0xb
pop edi
pop esi
mov word [ebx + 0x2a], cx
pop ebx
mov esp, ebp
pop ebp
ret