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

Disassembly:
sub esp, 0x40
push ebx
push ebp
mov ebp, dword [esp + 0x5c]
mov dword [esp + 0x2c], ebp
add ebp, 1
mov dword [esp + 0x40], ebp
add ebp, 1
mov dword [esp + 0x20], ebp
add ebp, 1
mov dword [esp + 0x34], ebp
add ebp, 1
mov dword [esp + 0x28], ebp
add ebp, 1
push esi
mov esi, dword [esp + 0x50]
mov eax, dword [esi]
mov ebx, ebp
add ebp, 1
push edi
mov edi, dword [esi + 8]
mov dword [esp + 0x38], ebp
add ebp, 1
test edi, edi
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], 0xffffffff
jne 0x4356d2
call fcn.00421a40
mov edi, eax
test edi, edi
mov dword [esi + 8], eax
je 0x435ccf
push 0x94
call fcn.00421ba0
add esp, 4
mov esi, dword [esp + 0x58]
test esi, esi
je 0x435ccf
cmp dword [esi + 0x14], 0
je 0x435ccf
mov edx, dword [esi]
mov eax, 7
mov ecx, str.sqlite_
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x64]
mov edx, dword [edx]
cmp edx, dword [ecx]
jne 0x435716
add dword [esp + 0x64], 4
sub eax, 4
add ecx, 4
cmp eax, 4
jae 0x4356f8
test eax, eax
je 0x43578f
mov edx, dword [esp + 0x64]
movzx esi, byte [ecx]
movzx edx, byte [edx]
sub edx, esi
jne 0x435779
add dword [esp + 0x64], 1
sub eax, 1
add ecx, 1
test eax, eax
je 0x43578b
mov edx, dword [esp + 0x64]
movzx esi, byte [ecx]
movzx edx, byte [edx]
sub edx, esi
jne 0x435779
add dword [esp + 0x64], 1
sub eax, 1
add ecx, 1
test eax, eax
je 0x43578b
mov edx, dword [esp + 0x64]
movzx esi, byte [ecx]
movzx edx, byte [edx]
sub edx, esi
jne 0x435779
mov edx, dword [esp + 0x64]
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x43578b
movzx eax, byte [ecx]
movzx edx, byte [edx]
sub edx, eax
je 0x43578b
test edx, edx
mov esi, dword [esp + 0x58]
mov eax, 1
jg 0x435791
or eax, 0xffffffff
jmp 0x435791
mov esi, dword [esp + 0x58]
xor eax, eax
test eax, eax
je 0x435ccf
mov eax, dword [esi + 0x44]
test eax, eax
mov dword [esp + 0x14], 0xfff0bdc0
je 0x4357d6
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x14]
test ecx, ecx
mov dword [esp + 0x14], 0
jle 0x4357d6
mov eax, dword [eax + 0x10]
add eax, 0xc
mov edx, dword [esi + 0x44]
cmp dword [eax], edx
je 0x4357d6
add dword [esp + 0x14], 1
add eax, 0x10
cmp dword [esp + 0x14], ecx
jl 0x4357c1
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
mov eax, dword [edx + 0x10]
shl ecx, 4
mov ecx, dword [ecx + eax]
mov eax, dword [esi]
push ecx
push 0
push eax
mov eax, dword [esp + 0x60]
push 0x1c
call fcn.00437030
add esp, 0x10
test eax, eax
jne 0x435ccf
mov edx, dword [esi]
mov ecx, dword [esp + 0x14]
push edx
push eax
mov eax, dword [esi + 0x14]
push eax
mov eax, dword [esp + 0x60]
push ecx
call fcn.004370c0
mov ecx, dword [esp + 0x64]
mov eax, dword [ecx + 0x48]
mov dword [esp + 0x2c], eax
add eax, 1
mov dword [ecx + 0x48], eax
mov edx, dword [esi]
mov eax, dword [esp + 0x44]
push 0
push edx
push 0
push eax
push 0
push 0x5e
mov eax, edi
call fcn.00421ca0
mov eax, dword [esi + 0x10]
add esp, 0x28
test eax, eax
mov dword [esp + 0x18], eax
je 0x435be8
jmp 0x435859
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x5c]
test ecx, ecx
mov dword [esp + 0x40], 0
je 0x435871
cmp ecx, eax
jne 0x435bd9
mov eax, dword [eax + 0x24]
mov esi, dword [esp + 0x24]
lea ecx, [eax*4]
mov dword [esp + 0x64], eax
call fcn.00406f20
test eax, eax
mov dword [esp + 0x2c], eax
je 0x435bd1
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x54]
push esi
push ecx
call fcn.0043be10
mov edx, dword [esp + 0x6c]
lea ecx, [ebp + edx*2 + 1]
mov edx, dword [esp + 0x5c]
add esp, 8
cmp ecx, dword [edx + 0x4c]
jle 0x4358ba
mov dword [edx + 0x4c], ecx
mov ecx, dword [esi + 0x28]
mov edx, dword [esp + 0x1c]
push 0xfffffffffffffff0
push eax
mov eax, dword [esp + 0x1c]
push eax
push ecx
push edx
push 0x27
mov eax, edi
call fcn.00421ca0
mov eax, dword [esi]
mov ecx, dword [esp + 0x60]
push 0
push eax
push 0
push ecx
push 0
push 0x5e
mov eax, edi
call fcn.00421ca0
mov eax, dword [esp + 0x94]
add esp, 0x30
xor esi, esi
test eax, eax
jl 0x43591a
lea edx, [esi + ebp]
push edx
push 0
push 7
mov eax, edi
call fcn.00421c40
add esi, 1
add esp, 0xc
cmp esi, dword [esp + 0x64]
jle 0x4358fb
mov eax, dword [esp + 0x64]
xor esi, esi
test eax, eax
jle 0x435946
lea eax, [eax + ebp + 1]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x44]
add ecx, esi
push ecx
push 0
push 0xa
mov eax, edi
call fcn.00421c40
add esi, 1
add esp, 0xc
cmp esi, dword [esp + 0x64]
jl 0x435928
mov eax, edi
call fcn.00421ea0
mov edx, dword [esp + 0x1c]
push eax
push edx
mov dword [esp + 0x4c], eax
push 0x48
mov eax, edi
call fcn.00421c40
mov eax, dword [edi + 0x1c]
add esp, 0xc
push 1
mov dword [esp + 0x50], eax
push ebp
push 0x14
mov eax, edi
call fcn.00421c40
xor esi, esi
add esp, 0xc
cmp dword [esp + 0x64], esi
jle 0x435a12
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x1c]
push ecx
push esi
push edx
push 0x1d
mov eax, edi
call fcn.00421b40
add esp, 0x10
test esi, esi
jne 0x4359b4
lea eax, [ebp + 1]
push eax
push 0x1c
mov eax, edi
call fcn.00421bf0
add esp, 8
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x54]
mov edx, dword [ecx + 0x20]
push eax
mov eax, dword [edx + esi*4]
call fcn.00438970
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x40]
add esp, 4
push 0xfffffffffffffffc
push eax
lea eax, [ecx + ebp + 1]
add eax, esi
push eax
push 0
push edx
push 0x4b
mov eax, edi
call fcn.00421ca0
mov ecx, dword [esp + 0x44]
mov dword [ecx + esi*4], eax
mov eax, dword [edi + 4]
add esp, 0x18
test eax, eax
je 0x435a05
mov ecx, dword [edi + 0x1c]
lea edx, [ecx + ecx*4]
mov byte [eax + edx*4 - 0x11], 0x80
add esi, 1
cmp esi, dword [esp + 0x64]
jl 0x435985
mov eax, dword [esp + 0x44]
push eax
push 0
push 1
mov eax, edi
call fcn.00421c40
xor esi, esi
add esp, 0xc
cmp dword [esp + 0x64], esi
jle 0x435a86
lea ecx, [ecx]
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx + esi*4]
mov edx, edi
call fcn.004220d0
test esi, esi
jne 0x435a4d
mov eax, dword [esp + 0x40]
mov edx, edi
call fcn.004220d0
push 1
lea edx, [esi + ebp + 1]
push edx
push 0x14
mov eax, edi
call fcn.00421c40
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x28]
lea eax, [eax + ebp + 1]
add esp, 0xc
add eax, esi
push eax
push esi
push ecx
push 0x1d
mov eax, edi
call fcn.00421b40
add esi, 1
add esp, 0x10
cmp esi, dword [esp + 0x64]
jl 0x435a30
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x24]
call fcn.00406d00
mov edx, dword [esp + 0x44]
mov ecx, edi
call fcn.00421f00
mov edx, dword [esp + 0x4c]
mov esi, dword [esp + 0x1c]
push edx
push esi
push 0x5f
mov eax, edi
call fcn.00421c40
add esp, 0xc
push esi
push 0x2d
mov eax, edi
call fcn.00421bf0
mov eax, dword [esp + 0x30]
push eax
push ebp
push 0xf
mov eax, edi
call fcn.00421c40
add esp, 0x14
cmp dword [esp + 0x20], 0
jge 0x435ae8
push ebp
push 0x1c
mov eax, edi
call fcn.00421bf0
add esp, 8
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x64]
test eax, eax
jle 0x435b76
lea esi, [ebp + 1]
mov dword [esp + 0x64], eax
jmp 0x435b00
push 0
push 0x475500
push 0
push ebx
push 0
push 0x5e
mov eax, edi
call fcn.00421ca0
mov eax, dword [esp + 0x40]
push eax
push eax
push ebx
push 0x5b
mov eax, edi
call fcn.00421b40
push ebx
push esi
push ebp
push 0x56
mov eax, edi
call fcn.00421b40
push 0xffffffffffffffff
push ebx
push 0x14
mov eax, edi
call fcn.00421c40
add esp, 0x44
push ebx
push ebx
push esi
push 0x59
mov eax, edi
call fcn.00421b40
push ebx
push 0x90
mov eax, edi
call fcn.00421bf0
mov eax, dword [esp + 0x40]
push eax
push eax
push ebx
push 0x5b
mov eax, edi
call fcn.00421b40
add esp, 0x28
add esi, 1
sub dword [esp + 0x64], 1
jne 0x435b00
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
push 0
push 0x475504
push ecx
push 3
push edx
push 0x1f
mov eax, edi
call fcn.00421ca0
mov eax, dword [esp + 0x50]
mov esi, dword [esp + 0x78]
push eax
push esi
push 0x38
mov eax, edi
call fcn.00421c40
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x54]
add esp, 0x24
push ecx
push edx
push esi
push 0x39
mov eax, edi
call fcn.00421b40
mov eax, dword [edi + 4]
add esp, 0x10
test eax, eax
je 0x435bd1
mov ecx, dword [edi + 0x1c]
lea ecx, [ecx + ecx*4]
mov byte [eax + ecx*4 - 0x11], 8
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x58]
mov eax, dword [eax + 0x14]
test eax, eax
mov dword [esp + 0x18], eax
jne 0x435855
cmp dword [esi + 0x10], 0
jne 0x435c30
mov edx, dword [esp + 0x14]
mov eax, dword [esi + 0x14]
mov esi, dword [esp + 0x1c]
push edx
push eax
push esi
push 0x27
mov eax, edi
call fcn.00421b40
mov ebx, dword [esp + 0x38]
push ebx
push esi
push 0x20
mov eax, edi
call fcn.00421c40
add esp, 0x1c
push esi
push 0x2d
mov eax, edi
call fcn.00421bf0
push ebx
push 0x1c
mov eax, edi
call fcn.00421bf0
add esp, 0x10
jmp 0x435c47
mov eax, dword [esp + 0x20]
mov edx, edi
call fcn.004220d0
push 1
mov eax, edi
call fcn.00421ba0
add esp, 4
mov ecx, dword [esp + 0x48]
push ecx
mov dword [esp + 0x24], eax
push 0
push 0xa
mov eax, edi
call fcn.00421c40
mov ebx, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
add esp, 0xc
push 0
push 0x475504
push ebx
push 3
push edx
push 0x1f
mov eax, edi
call fcn.00421ca0
mov ebp, dword [esp + 0x50]
mov esi, dword [esp + 0x78]
push ebp
push esi
push 0x38
mov eax, edi
call fcn.00421c40
add esp, 0x24
push ebp
push ebx
push esi
push 0x39
mov eax, edi
call fcn.00421b40
mov eax, dword [edi + 4]
add esp, 0x10
test eax, eax
je 0x435cb1
mov ecx, dword [edi + 0x1c]
lea ecx, [ecx + ecx*4]
mov byte [eax + ecx*4 - 0x11], 8
mov eax, dword [esp + 0x54]
cmp dword [eax + 0x4c], ebx
jge 0x435cbd
mov dword [eax + 0x4c], ebx
mov eax, dword [esp + 0x20]
mov edx, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
jmp fcn.004220d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret