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

Disassembly:
sub esp, 0x20
push ebx
mov ebx, dword [esp + 0x28]
xor edx, edx
push ebp
push esi
push edi
movsx eax, word [ebx + 0x4c]
mov esi, dword [ebx + 4]
mov dword [esp + 0x10], edx
mov dword [esp + 0x20], esi
mov ebp, dword [ebx + eax*4 + 0x78]
mov dword [esp + 0x28], ebp
cmp word [ebx + 0x2c], dx
jne 0x41e78f
movzx ecx, word [ebx + eax*2 + 0x4e]
mov eax, dword [ebp + 0x40]
movzx edx, byte [eax + ecx*2 + 1]
lea ecx, [eax + ecx*2]
lea eax, [ebx + 0x18]
push eax
movzx eax, byte [ecx]
shl eax, 8
or edx, eax
movzx eax, word [ebp + 0x14]
and edx, eax
add edx, dword [ebp + 0x38]
push edx
push ebp
call fcn.00423fc0
or byte [ebx + 0x48], 2
add esp, 0xc
xor edx, edx
mov eax, dword [ebx + 0x20]
movzx edi, word [ebx + 0x28]
mov ecx, dword [ebp + 0x38]
add ecx, dword [esi + 0x24]
mov dword [esp + 0x18], eax
add eax, edi
cmp eax, ecx
jbe 0x41e7cc
push 0x4f408c
push 0xdfc6
push str.database_corruption_at_line__d_of___.10s_
push 0xb
call fcn.0041e160
add esp, 0x10
mov eax, 0xb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x3c]
cmp ebp, edi
jae 0x41e82e
lea eax, [esi + ebp]
cmp eax, edi
jbe 0x41e7e3
sub edi, ebp
jmp 0x41e7e5
mov edi, esi
mov eax, dword [esp + 0x28]
push dword [eax + 0x44]
mov eax, dword [esp + 0x48]
and eax, 1
push eax
mov eax, dword [esp + 0x20]
push edi
push dword [esp + 0x4c]
add eax, ebp
push eax
call fcn.0042ac70
mov edx, eax
sub esi, edi
mov eax, dword [esp + 0x54]
add esp, 0x14
add eax, edi
mov dword [esp + 0x10], edx
xor ebp, ebp
mov dword [esp + 0x1c], eax
mov dword [esp + 0x34], esi
test edx, edx
je 0x41e83c
pop edi
pop esi
pop ebp
mov eax, edx
pop ebx
add esp, 0x20
ret
mov eax, dword [esp + 0x40]
sub ebp, edi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x34], esi
test esi, esi
je 0x41e824
mov eax, dword [esp + 0x20]
movzx esi, word [ebx + 0x28]
movzx edi, word [ebx + 0x28]
mov ecx, dword [eax + 0x24]
mov eax, dword [esp + 0x18]
add ecx, 0xfffffffc
mov dword [esp + 0x14], ecx
movzx edi, byte [edi + eax]
movzx eax, byte [esi + eax + 1]
shl edi, 8
or edi, eax
mov eax, dword [esp + 0x18]
shl edi, 8
movzx eax, byte [esi + eax + 2]
or edi, eax
mov eax, dword [esp + 0x18]
shl edi, 8
movzx eax, byte [esi + eax + 3]
mov esi, dword [esp + 0x34]
or edi, eax
cmp dword [esp + 0x44], 2
mov dword [esp + 0x18], edi
je 0x41e905
test byte [ebx + 0x48], 4
jne 0x41e90b
movzx edx, word [ebx + 0x28]
mov eax, dword [ebx + 0x24]
sub eax, edx
xor edx, edx
dec eax
add eax, ecx
div ecx
mov dword [esp + 0x24], eax
cmp eax, dword [ebx + 0x40]
jle 0x41e8e8
lea ecx, [eax*8]
push 0
push ecx
push dword [ebx + 0x14]
call fcn.00469e90
mov ecx, eax
add esp, 0xc
test ecx, ecx
jne 0x41e8d8
mov edx, 7
mov dword [esp + 0x10], edx
jmp 0x41e901
mov eax, dword [esp + 0x24]
add eax, eax
mov dword [ebx + 0x14], ecx
mov dword [ebx + 0x40], eax
mov eax, dword [esp + 0x24]
shl eax, 2
push eax
push 0
push dword [ebx + 0x14]
call fcn.004c20c0
mov edx, dword [esp + 0x1c]
add esp, 0xc
or byte [ebx + 0x48], 4
mov ecx, dword [esp + 0x14]
test byte [ebx + 0x48], 4
je 0x41e92d
xor edx, edx
mov eax, ebp
div ecx
mov ecx, dword [ebx + 0x14]
mov ecx, dword [ecx + eax*4]
test ecx, ecx
je 0x41e929
mov edi, ecx
mov ebp, edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x18], edi
jmp 0x41e92f
mov edx, dword [esp + 0x10]
xor eax, eax
test edx, edx
jne 0x41e824
lea ecx, [eax*4]
mov dword [esp + 0x24], ecx
test esi, esi
je 0x41e824
test edi, edi
je 0x41ea68
test byte [ebx + 0x48], 4
je 0x41e95e
mov eax, dword [ebx + 0x14]
mov dword [ecx + eax], edi
cmp ebp, dword [esp + 0x14]
jb 0x41e9a5
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + ecx + 4]
test eax, eax
je 0x41e97e
sub ebp, dword [esp + 0x14]
mov edi, eax
mov dword [esp + 0x18], edi
jmp 0x41ea4f
lea eax, [esp + 0x18]
push eax
push 0
push edi
push dword [esp + 0x2c]
call fcn.00435870
mov edi, dword [esp + 0x28]
add esp, 0x10
mov ecx, dword [esp + 0x24]
mov edx, eax
sub ebp, dword [esp + 0x14]
jmp 0x41ea4f
lea eax, [esi + ebp]
mov esi, dword [esp + 0x14]
sub esi, ebp
cmp eax, dword [esp + 0x14]
mov eax, dword [esp + 0x44]
cmovbe esi, dword [esp + 0x34]
add eax, eax
not eax
mov dword [esp + 0x28], esi
and eax, 2
push eax
lea eax, [esp + 0x30]
push eax
mov eax, dword [esp + 0x28]
push edi
push dword [eax]
call fcn.00462d80
add esp, 0x10
mov dword [esp + 0x10], eax
test eax, eax
jne 0x41ea3b
mov esi, dword [esp + 0x2c]
push esi
mov ecx, dword [esi + 4]
movzx edi, byte [ecx]
movzx eax, byte [ecx + 1]
shl edi, 8
or edi, eax
movzx eax, byte [ecx + 2]
shl edi, 8
or edi, eax
movzx eax, byte [ecx + 3]
shl edi, 8
or edi, eax
mov eax, dword [esp + 0x48]
and eax, 1
mov dword [esp + 0x1c], edi
push eax
push dword [esp + 0x30]
lea eax, [ecx + 4]
push dword [esp + 0x28]
add eax, ebp
push eax
call fcn.0042ac70
push esi
mov dword [esp + 0x28], eax
call fcn.00464ce0
mov esi, dword [esp + 0x40]
add esp, 0x18
xor ebp, ebp
sub dword [esp + 0x34], esi
add dword [esp + 0x1c], esi
mov esi, dword [esp + 0x34]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
add ecx, 4
mov dword [esp + 0x24], ecx
test edx, edx
je 0x41e942
pop edi
pop esi
pop ebp
mov eax, edx
pop ebx
add esp, 0x20
ret
test edx, edx
jne 0x41e824
test esi, esi
je 0x41e824
push 0x4f408c
push 0xe061
push str.database_corruption_at_line__d_of___.10s_
push 0xb
call fcn.0041e160
add esp, 0x10
mov eax, 0xb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret