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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1c
push ebx
push esi
mov esi, ecx
push edi
mov edi, edx
mov dword [esp + 0x14], esi
cmp byte [esi], 0
jne 0x4359f3
mov cl, byte [esi + 1]
test cl, 2
je 0x4359f3
mov edx, dword [esi + 0x20]
mov ebx, dword [ebp + 8]
mov eax, dword [esi + 0x24]
cmp edx, ebx
jne 0x43595d
cmp eax, dword [ebp + 0xc]
jne 0x435960
mov eax, dword [ebp + 0x10]
mov dword [eax], 0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, dword [ebp + 0xc]
jg 0x4359f3
jl 0x435970
cmp edx, ebx
jae 0x4359f3
test cl, 8
jne 0x435a07
add edx, 1
adc eax, 0
cmp edx, ebx
jne 0x4359f3
cmp eax, dword [ebp + 0xc]
jne 0x4359f3
mov eax, dword [ebp + 0x10]
and cl, 0xf9
mov byte [esi + 1], cl
mov ecx, dword [esi + 0x74]
mov dword [eax], 0
xor eax, eax
mov word [esi + 0x32], ax
movzx eax, word [esi + 0x46]
mov edx, eax
inc eax
mov word [esi + 0x46], ax
cmp ax, word [ecx + 0x18]
jb 0x4359be
mov ecx, esi
mov word [esi + 0x46], dx
call fcn.00436250
jmp 0x4359cb
cmp byte [ecx + 8], 0
jne 0x4359db
mov ecx, esi
call fcn.00435710
test eax, eax
je 0x4359db
cmp eax, 0x65
je 0x4359f3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00434e40
cmp dword [esi + 0x20], ebx
jne 0x4359f3
mov eax, dword [ebp + 0xc]
cmp dword [esi + 0x24], eax
je 0x435c0d
mov ecx, esi
call fcn.00435540
test eax, eax
je 0x435a19
cmp eax, 0x10
jne 0x435c0f
mov eax, dword [ebp + 0x10]
mov dword [eax], 0xffffffff
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 1
lea ebx, [esi + 0x74]
sub eax, edi
mov dword [esp + 0x1c], eax
mov edx, dword [ebx]
mov ecx, eax
xor ebx, ebx
mov dword [esp + 0x10], edx
movzx edi, word [edx + 0x18]
mov eax, dword [edx + 0x40]
dec edi
mov esi, edi
mov dword [esp + 0x18], eax
sar esi, cl
mov cl, byte [edx + 2]
mov byte [esp + 0xf], cl
mov ax, word [eax + esi*2]
mov ch, al
mov cl, ah
movzx eax, word [edx + 0x1a]
movzx ecx, cx
and ecx, eax
add ecx, dword [edx + 0x44]
cmp byte [esp + 0xf], 0
je 0x435a7f
cmp byte [ecx], 0x80
jb 0x435a7e
mov eax, dword [edx + 0x3c]
nop dword [eax + eax]
inc ecx
cmp ecx, eax
jae 0x435b9a
cmp byte [ecx], 0x80
jae 0x435a70
inc ecx
lea edx, [esp + 0x20]
call fcn.0041d7f0
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
cmp ecx, dword [ebp + 0xc]
jg 0x435aaa
jl 0x435a9e
mov edx, dword [ebp + 8]
cmp eax, edx
jae 0x435aad
lea ebx, [esi + 1]
cmp ebx, edi
jle 0x435abf
or eax, 0xffffffff
jmp 0x435ad6
mov edx, dword [ebp + 8]
cmp ecx, dword [ebp + 0xc]
jl 0x435afc
jg 0x435ab8
cmp eax, edx
jbe 0x435afc
lea edi, [esi - 1]
cmp ebx, edi
jg 0x435ad1
mov edx, dword [esp + 0x10]
lea esi, [edi + ebx]
mov eax, dword [esp + 0x18]
sar esi, 1
jmp 0x435a48
mov eax, 1
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
cmp byte [edx + 8], 0
je 0x435b14
mov ecx, dword [ebp + 0x10]
mov word [edi + 0x46], si
mov dword [ecx], eax
xor eax, eax
xor ecx, ecx
mov word [edi + 0x32], cx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov word [edi + 0x46], si
cmp byte [edx + 8], 0
jne 0x435bf4
mov ebx, esi
movzx eax, word [edx + 0x18]
cmp ebx, eax
jl 0x435b29
movzx ecx, byte [edx + 9]
mov eax, dword [edx + 0x38]
mov edx, dword [ecx + eax + 8]
jmp 0x435b43
mov eax, dword [edx + 0x40]
mov ax, word [eax + ebx*2]
mov ch, al
mov cl, ah
movzx eax, word [edx + 0x1a]
movzx ecx, cx
and ecx, eax
mov eax, dword [edx + 0x38]
mov edx, dword [ecx + eax]
mov al, byte [edi + 0x44]
movzx ecx, bx
mov word [edi + 0x46], cx
cmp al, 0x13
jge 0x435bc4
and byte [edi + 1], 0xf9
lea ebx, [edi + 0x74]
movsx eax, al
xor esi, esi
mov word [edi + 0x32], si
bswap edx
mov word [edi + eax*2 + 0x48], cx
movsx ecx, byte [edi + 0x44]
mov eax, dword [ebx]
mov dword [edi + ecx*4 + 0x78], eax
xor eax, eax
mov ecx, dword [edi + 0x14]
inc byte [edi + 0x44]
mov word [edi + 0x46], ax
movzx eax, byte [edi + 2]
push eax
push edi
push ebx
call fcn.00431c70
add esp, 0xc
test eax, eax
jne 0x435be7
mov eax, dword [esp + 0x1c]
jmp 0x435a27
push 0x50c3cc
push 0x11fff
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.0041bb20
add esp, 0x14
mov eax, 0xb
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x50c3cc
push 0x11e76
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.0041bb20
add esp, 0x14
mov eax, 0xb
xor ecx, ecx
mov word [edi + 0x32], cx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
or byte [edi + 1], 2
mov dword [edi + 0x20], eax
xor eax, eax
mov word [edi + 0x32], ax
mov eax, dword [ebp + 0x10]
mov dword [edi + 0x24], ecx
mov dword [eax], 0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret