Function at 0x43d330
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x28], edi
mov esi, dword [edi]
mov ecx, esi
mov dword [ebp - 8], esi
call fcn.00428818
mov ebx, eax
mov dword [ebp - 0x20], ebx
mov dword [edi + 0xc], ebx
test ebx, ebx
je 0x43dbac
mov edx, dword [ebp - 0x34]
lea eax, [ebp - 0x30]
push eax
mov eax, dword [ebp + 8]
mov ecx, edi
push eax
mov dword [edi + 0x48], 2
call fcn.0043567b
mov dword [ebp - 0x14], eax
pop ecx
pop ecx
test eax, eax
js 0x43dbac
imul ecx, eax, 0x18
lfence
add ecx, dword [esi + 8]
mov dword [ebp - 0x18], ecx
cmp eax, 1
jne 0x43d3a3
mov ecx, edi
call fcn.0043809c
test eax, eax
jne 0x43dbac
mov edx, dword [ebp - 0x30]
mov ecx, esi
call fcn.00435595
mov dword [ebp - 0x10], eax
test eax, eax
je 0x43dbac
cmp dword [ebp + 0x10], 0
je 0x43d3d6
push dword [ebp + 0xc]
push 0x6353a0
push esi
call fcn.0041b42f
mov esi, eax
add esp, 0xc
mov dword [ebp - 0xc], esi
jmp 0x43d3e5
mov edx, dword [ebp + 0xc]
mov ecx, esi
call fcn.00435595
mov esi, eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0x14], 0
jle 0x43d3f5
mov eax, dword [ebp - 0x18]
lfence
mov eax, dword [eax]
jmp 0x43d3f7
xor eax, eax
push eax
push esi
push dword [ebp - 0x10]
mov ecx, edi
mov dword [ebp - 0x1c], eax
push 0x13
pop edx
call fcn.00434c3e
add esp, 0xc
test eax, eax
jne 0x43db91
mov ecx, dword [ebp - 0x10]
mov edx, str.default_cache_size
call fcn.0041be74
test eax, eax
jne 0x43d57d
mov ecx, edi
call fcn.0043f04b
test eax, eax
jne 0x43db91
mov edx, dword [ebp - 0x14]
mov ecx, ebx
call fcn.004290e4
test esi, esi
jne 0x43d4dd
xor edx, edx
mov ecx, ebx
inc edx
call fcn.004295ec
push 0xfffffffffffffffe
push str.cache_size
push esi
xor edx, edx
mov ecx, ebx
call fcn.0042965a
add dword [edi + 0x48], 2
add esp, 0xc
mov ecx, ebx
push 0x630514
push 7
pop edx
call fcn.00428b68
pop ecx
push dword [ebp - 0x14]
mov edx, eax
mov ecx, ebx
call fcn.00428c39
add edx, 5
mov dword [esp], 0x7d0
mov ecx, ebx
call fcn.00428c39
pop ecx
mov esi, dword [ebp - 8]
mov edi, dword [ebp - 0xc]
push 0
push 1
push 0xe
pop edx
mov ecx, ebx
lfence
call fcn.004289ac
cmp byte [esi + 0x1c], 0
pop ecx
pop ecx
je 0x43db97
lfence
movzx eax, word [esi + 0xe]
and eax, 1
push eax
mov eax, dword [ebp - 0x18]
movzx edx, byte [eax + 9]
mov ecx, dword [eax + 4]
call fcn.0042233b
pop ecx
jmp 0x43db97
push esi
call fcn.004533cd
mov dword [ebp - 0x1c], eax
pop ecx
test eax, eax
jns 0x43d4f0
neg eax
mov dword [ebp - 0x1c], eax
mov esi, dword [ebp - 0x14]
xor edx, edx
push esi
mov ecx, edi
call fcn.0043817a
mov edx, dword [ebp - 0x1c]
pop ecx
push 1
push edx
push 0x30
pop edx
mov ecx, ebx
call fcn.004289ac
push 2
pop edi
push edi
push edi
push esi
push 0x6e
pop edx
mov ecx, ebx
call fcn.00428924
add esp, 0x14
mov ecx, ebx
push 0
push edi
push 0x7f
pop edx
call fcn.004289ac
mov esi, eax
mov ecx, ebx
mov eax, dword [ebp - 0x1c]
push 1
neg eax
push eax
push 0x30
pop edx
call fcn.004289ac
mov edx, esi
mov ecx, ebx
call fcn.00428cbe
push 1
push edi
push dword [ebp - 0x14]
mov ecx, ebx
push 4
pop edx
call fcn.00428924
mov edx, dword [ebp - 0x1c]
add esp, 0x1c
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 0x14]
mov dword [eax + 0x5c], edx
mov edx, dword [ecx + 0x14]
mov ecx, dword [ecx + 4]
mov edx, dword [edx + 0x5c]
call fcn.00422316
jmp 0x43d49a
mov ecx, dword [ebp - 0x10]
mov edx, str.page_size
call fcn.0041be74
test eax, eax
jne 0x43d5ea
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 4]
mov dword [ebp - 0x34], eax
test esi, esi
jne 0x43d5bc
test eax, eax
je 0x43d5a8
mov ecx, eax
call fcn.0042240d
jmp 0x43d5aa
xor eax, eax
mov edx, str.page_size
push eax
mov ecx, edi
call fcn.0043d23d
jmp 0x43d499
push esi
call fcn.004533cd
mov edi, dword [ebp - 8]
mov edx, eax
pop ecx
mov ecx, dword [ebp - 0x34]
push 0xffffffffffffffff
mov dword [edi + 0x24], eax
call fcn.0042238b
mov esi, edi
pop ecx
cmp eax, 7
jne 0x43d49d
mov byte [edi + 0x1e], 1
jmp 0x43d49d
mov ecx, dword [ebp - 0x10]
mov edx, str.max_page_count
call fcn.0041be74
test eax, eax
jne 0x43d626
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
xor eax, eax
mov dword [ebp - 0x34], ecx
test esi, esi
je 0x43d614
push esi
call fcn.004533cd
pop ecx
mov ecx, dword [ebp - 0x34]
test ecx, ecx
je 0x43d61f
mov edx, eax
call fcn.00422437
mov edx, str.max_page_count
jmp 0x43d5af
mov ecx, dword [ebp - 0x10]
mov edx, str.page_count
call fcn.0041be74
test eax, eax
jne 0x43d6aa
mov ecx, edi
call fcn.0044149c
mov dword [ebp - 0x34], eax
test eax, eax
je 0x43db91
mov ecx, edi
call fcn.0043f04b
test eax, eax
jne 0x43db91
mov edx, dword [ebp - 0x14]
mov ecx, edi
call fcn.00438107
inc dword [edi + 0x48]
mov esi, dword [edi + 0x48]
mov edi, dword [ebp - 0x34]
mov ecx, edi
push esi
push dword [ebp - 0x14]
push 0x11
pop edx
call fcn.004289ac
push 1
push esi
push 0x5a
pop edx
mov ecx, edi
call fcn.004289ac
xor edx, edx
mov ecx, edi
inc edx
call fcn.004295ec
push 0xfffffffffffffffe
push str.page_count
push 0
xor edx, edx
mov ecx, edi
call fcn.0042965a
add esp, 0x1c
jmp 0x43d49a
mov ecx, dword [ebp - 0x10]
mov edx, str.locking_mode
call fcn.0041be74
test eax, eax
jne 0x43d781
mov ecx, esi
call fcn.0043d107
mov ecx, dword [ebp + 8]
mov edx, eax
push 2
pop eax
cmp dword [ecx + 4], eax
jae 0x43d711
cmp edx, 0xffffffff
jne 0x43d6e1
mov esi, dword [ebp - 8]
movzx edi, byte [esi + 0x1f]
jmp 0x43d728
mov edi, dword [ebp - 8]
cmp dword [edi + 4], eax
jle 0x43d70e
push 0x30
pop esi
push 2
pop ebx
mov ecx, dword [edi + 8]
mov ecx, dword [esi + ecx + 4]
call fcn.004269e0
mov ecx, eax
call fcn.00420ee2
inc ebx
lea esi, [esi + 0x18]
cmp ebx, dword [edi + 4]
jl 0x43d6ef
mov ebx, dword [ebp - 0x20]
mov byte [edi + 0x1f], dl
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
call fcn.004269e0
mov ecx, eax
call fcn.00420ee2
mov esi, dword [ebp - 8]
mov edi, eax
xor edx, edx
mov ecx, ebx
inc edx
call fcn.004295ec
push 0xfffffffffffffffe
push str.locking_mode
push 0
xor edx, edx
mov ecx, ebx
call fcn.0042965a
add esp, 0xc
xor edx, edx
mov ecx, str.exclusive
cmp edi, 1
mov eax, str.normal
cmove eax, ecx
mov ecx, ebx
push edx
push eax
push edx
push 1
push edx
push 0x58
pop edx
call fcn.004289c1
add esp, 0x14
mov ecx, ebx
push 1
push 1
push 0x5a
pop edx
call fcn.004289ac
pop ecx
pop ecx
jmp 0x43d49d
mov ecx, dword [ebp - 0x10]
mov edx, str.journal_mode
call fcn.0041be74
test eax, eax
jne 0x43d894
or eax, 0xffffffff
test esi, esi
jne 0x43d7a4
mov edx, eax
mov dword [ebp - 0x14], edx
jmp 0x43d7d8
push esi
call fcn.00457a20
pop ecx
push 2
pop ebx
mov edi, eax
mov dword [ebp - 0x14], ebx
mov edx, dword [ebx*4 + 0x62fa90]
mov ecx, esi
push edi
call fcn.0041bebb
pop ecx
test eax, eax
je 0x43d7cc
sub ebx, 1
jns 0x43d7b3
mov dword [ebp - 0x14], ebx
or eax, 0xffffffff
mov ebx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp + 8]
cmp dword [ecx + 4], 2
jae 0x43d832
mov edi, dword [ebp - 8]
cmp edx, eax
jne 0x43d7ee
movzx esi, byte [edi + 0x20]
jmp 0x43d846
xor esi, esi
inc esi
cmp dword [edi + 4], esi
jle 0x43d82f
mov ebx, dword [ebp - 0x14]
push 0x18
pop ecx
mov dword [ebp - 0x2c], ecx
mov eax, dword [edi + 8]
mov eax, dword [ecx + eax + 4]
test eax, eax
je 0x43d81d
mov ecx, eax
call fcn.004269e0
mov edx, ebx
mov ecx, eax
call fcn.00420ef4
mov ecx, dword [ebp - 0x2c]
inc esi
add ecx, 0x18
mov dword [ebp - 0x2c], ecx
cmp esi, dword [edi + 4]
jl 0x43d7ff
mov ebx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x14]
mov byte [edi + 0x20], dl
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
call fcn.004269e0
mov ecx, eax
call fcn.00420ef4
mov esi, eax
xor edx, edx
mov ecx, ebx
inc edx
call fcn.004295ec
push 0xfffffffffffffffe
push str.journal_mode
xor edi, edi
xor edx, edx
push edi
mov ecx, ebx
call fcn.0042965a
add esp, 0xc
push 0xfffffffffffffffe
push dword [esi*4 + 0x62fa90]
push edi
push 1
push edi
push 0x58
pop edx
mov ecx, ebx
call fcn.004289c1
add esp, 0x14
push 1
push 1
push 0x5a
pop edx
mov ecx, ebx
call fcn.004289ac
pop ecx
jmp 0x43d499
mov ecx, dword [ebp - 0x10]
mov edx, str.journal_size_limit
call fcn.0041be74
test eax, eax
jne 0x43d8f0
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
call fcn.004269e0
mov dword [ebp - 0x34], eax
or eax, 0xffffffff
push 0xfffffffffffffffe
pop ecx
test esi, esi
je 0x43d8d1
push esi
call fcn.004533cd
pop ecx
or ecx, 0xffffffff
cmp eax, ecx
cmovl eax, ecx
cdq
mov ecx, eax
mov eax, edx
push eax
push ecx
mov ecx, dword [ebp - 0x34]
call fcn.00420f04
push eax
mov edx, str.journal_size_limit
mov ecx, edi
call fcn.0043d23d
add esp, 0xc
jmp 0x43d49a
mov ecx, dword [ebp - 0x10]
mov edx, str.auto_vacuum
call fcn.0041be74
test eax, eax
jne 0x43d9e1
mov eax, dword [ebp - 0x18]
mov ecx, edi
mov eax, dword [eax + 4]
mov dword [ebp - 0x2c], eax
call fcn.0043f04b
test eax, eax
jne 0x43db91
test esi, esi
jne 0x43d93d
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x43d931
mov ecx, eax
call fcn.004224a0
jmp 0x43d933
xor eax, eax
mov edx, str.auto_vacuum
jmp 0x43d5af
mov ecx, esi
call fcn.0043d136
mov ecx, eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x28], ecx
mov byte [eax + 0x21], cl
test ecx, ecx
js 0x43eaad
mov edx, ecx
mov ecx, dword [ebp - 0x2c]
call fcn.0042245e
test eax, eax
jne 0x43d49a
mov eax, dword [ebp - 0x28]
cmp eax, 1
je 0x43d97a
cmp eax, 2
jne 0x43d49a
push 0x630b88
push 6
pop edx
mov ecx, ebx
call fcn.00428b68
mov esi, dword [ebp - 0x14]
mov edi, eax
pop ecx
push esi
mov edx, edi
mov ecx, ebx
call fcn.00428c39
pop ecx
push esi
lea edx, [edi + 1]
mov ecx, ebx
call fcn.00428c39
pop ecx
lea esi, [edi + 4]
mov ecx, ebx
push esi
lea edx, [edi + 2]
call fcn.00428c5e
mov eax, dword [ebp - 0x28]
mov edx, esi
pop ecx
dec eax
mov ecx, ebx
push eax
call fcn.00428c39
mov esi, dword [ebp - 0x14]
lea edx, [edi + 5]
pop ecx
push esi
mov ecx, ebx
call fcn.00428c39
pop ecx
mov edx, esi
mov ecx, ebx
call fcn.004290e4
jmp 0x43d49a
mov ecx, dword [ebp - 0x10]
mov edx, str.incremental_vacuum
call fcn.0041be74
test eax, eax
jne 0x43da8e
mov ecx, edi
call fcn.0043f04b
test eax, eax
jne 0x43db91
test esi, esi
je 0x43da21
lea edx, [ebp - 0x34]
mov ecx, esi
call fcn.0041c397
test eax, eax
je 0x43da21
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x2c], eax
test eax, eax
jg 0x43da28
mov dword [ebp - 0x2c], SysReAllocString
mov esi, dword [ebp - 0x14]
xor edx, edx
push esi
mov ecx, edi
call fcn.0043817a
pop ecx
push 1
push dword [ebp - 0x2c]
mov ecx, ebx
push 0x30
pop edx
call fcn.004289ac
push esi
push 0x35
pop edx
mov ecx, ebx
call fcn.00428998
add esp, 0xc
mov ecx, ebx
mov esi, eax
push 1
push 0x5a
pop edx
call fcn.00428998
pop ecx
push 0xffffffffffffffff
push 1
push 0x2a
pop edx
mov ecx, ebx
call fcn.004289ac
push esi
push 1
push 0x7f
pop edx
mov ecx, ebx
call fcn.004289ac
add esp, 0x10
mov edx, esi
mov ecx, ebx
call fcn.00428cbe
jmp 0x43d49a
mov ecx, dword [ebp - 0x10]
mov edx, str.cache_size
call fcn.0041be74
test eax, eax
jne 0x43dadd
mov ecx, edi
call fcn.0043f04b
test eax, eax
jne 0x43db91
test esi, esi
jne 0x43dac5
mov eax, dword [ebp - 0x18]
mov edx, str.cache_size
mov eax, dword [eax + 0x14]
push dword [eax + 0x5c]
jmp 0x43d5b0
push esi
call fcn.004533cd
mov edx, eax
pop ecx
test edx, edx
jns 0x43d561
neg edx
jmp 0x43d561
mov ecx, dword [ebp - 0x10]
mov edx, str.temp_store
call fcn.0041be74
test eax, eax
jne 0x43db12
mov ecx, edi
test esi, esi
jne 0x43db06
mov eax, dword [ebp - 8]
mov edx, str.temp_store
movzx eax, byte [eax + 0x1d]
push eax
jmp 0x43d5b2
mov edx, esi
call fcn.0043d20c
jmp 0x43d49a
mov ecx, dword [ebp - 0x10]
mov edx, str.temp_store_directory
call fcn.0041be74
test eax, eax
jne 0x43dbf1
test esi, esi
jne 0x43db65
cmp dword [0x642c40], esi
je 0x43d49a
xor edx, edx
mov ecx, ebx
inc edx
call fcn.004295ec
push 0xfffffffffffffffe
push str.temp_store_directory
push esi
xor edx, edx
mov ecx, ebx
call fcn.0042965a
add esp, 0xc
push esi
push dword [0x642c40]
push esi
push 1
push esi
jmp 0x43d873
cmp byte [esi], 0
je 0x43dbb1
lea eax, [ebp - 0x34]
mov edx, esi
push eax
mov eax, dword [ebp - 8]
push 1
mov ecx, dword [eax]
call fcn.004195a9
cmp dword [ebp - 0x34], 0
pop ecx
pop ecx
jne 0x43dbb1
push str.not_a_writable_directory
push edi
call fcn.0041bdbd
pop ecx
pop ecx
mov edi, dword [ebp - 0xc]
mov esi, dword [ebp - 8]
push dword [ebp - 0x10]
push esi
call fcn.0041a0e3
push edi
push dword [ebp - 8]
call fcn.0041a0e3
add esp, 0x10
pop edi
pop esi
pop ebx
leave
ret
mov eax, dword [ebp - 8]
cmp byte [eax + 0x1d], 1
ja 0x43dbc1
mov ecx, edi
call fcn.0043d1c3
push dword [0x642c40]
call fcn.0041a090
cmp byte [esi], 0
pop ecx
je 0x43dbe5
mov edx, esi
xor ecx, ecx
call fcn.0041a387
mov dword [0x642c40], eax
jmp 0x43d49a
and dword [0x642c40], 0
jmp 0x43d49a
mov ecx, dword [ebp - 0x10]
mov edx, str.synchronous
call fcn.0041be74
mov ecx, edi
test eax, eax
jne 0x43dc50
call fcn.0043f04b
test eax, eax
jne 0x43db91
test esi, esi
jne 0x43dc23
mov eax, dword [ebp - 0x18]
mov edx, str.synchronous
movzx eax, byte [eax + 9]
dec eax
jmp 0x43d5af
mov eax, dword [ebp - 8]
cmp byte [eax + 0x1c], 0
jne 0x43dc3c
push str.Safety_level_may_not_be_changed_inside_a_transaction
push edi
call fcn.0041bdbd
jmp 0x43d88e
mov ecx, esi
call fcn.0043d09c
mov ecx, dword [ebp - 0x18]
inc al
mov byte [ecx + 9], al
jmp 0x43d49a
mov edx, dword [ebp - 0x10]
push esi
call fcn.0043d2a0
pop ecx
test eax, eax
jne 0x43d49a
mov ecx, dword [ebp - 0x10]
mov edx, str.table_info
call fcn.0041be74
test eax, eax
jne 0x43de3a
test esi, esi
je 0x43de3a
mov ecx, edi
call fcn.0043f04b
test eax, eax
jne 0x43db91
push dword [ebp - 0x1c]
mov ecx, dword [ebp - 8]
mov edx, esi
call fcn.0043507b
mov dword [ebp - 0x1c], eax
pop ecx
test eax, eax
je 0x43d49a
and dword [ebp - 0x20], 0
mov ecx, ebx
push 6
pop esi
mov edx, esi
call fcn.004295ec
push 0xfffffffffffffffe
mov dword [edi + 0x48], esi
xor edx, edx
pop esi
push esi
push 0x6354e4
push 0
mov ecx, ebx
call fcn.0042965a
add esp, 0xc
xor edx, edx
inc edx
mov ecx, ebx
push esi
push str.name
push 0
call fcn.0042965a
add esp, 0xc
mov ecx, ebx
push esi
push str.type
push 0
push 2
pop edx
call fcn.0042965a
add esp, 0xc
mov ecx, ebx
push esi
push str.notnull
push 0
push 3
pop edx
call fcn.0042965a
add esp, 0xc
mov ecx, ebx
push esi
push str.dflt_value
push 0
push 4
pop edx
call fcn.0042965a
add esp, 0xc
mov ecx, ebx
push esi
push 0x635504
push 0
push 5
pop edx
call fcn.0042965a
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, esi
mov ecx, edi
call fcn.00436796
mov edi, dword [esi + 0xc]
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
cmp dword [esi + 8], ecx
jle 0x43d49a
mov eax, dword [ebp - 0x1c]
push 0x58
pop esi
cmp byte [edi + 0x13], 0
je 0x43dd6b
inc dword [ebp - 0x20]
jmp 0x43de25
sub ecx, dword [ebp - 0x20]
push 1
push ecx
push 0x30
pop edx
mov ecx, ebx
call fcn.004289ac
xor eax, eax
mov edx, esi
push eax
push dword [edi]
mov ecx, ebx
push eax
push 2
push eax
call fcn.004289c1
add esp, 0x1c
mov eax, 0x633180
cmp dword [edi + 8], 0
mov edx, esi
cmovne eax, dword [edi + 8]
xor ecx, ecx
push ecx
push eax
push ecx
push 3
push ecx
mov ecx, ebx
call fcn.004289c1
movzx eax, byte [edi + 0x10]
add esp, 0x14
mov ecx, ebx
push 4
push eax
push 0x30
pop edx
call fcn.004289ac
mov eax, dword [edi + 4]
pop ecx
pop ecx
test eax, eax
je 0x43dded
mov ecx, dword [eax + 0x1c]
test ecx, ecx
je 0x43dded
mov eax, dword [eax + 0x20]
mov edx, esi
shr eax, 1
push eax
push ecx
push 0
push 5
push 0
mov ecx, ebx
call fcn.004289c1
add esp, 0x14
jmp 0x43ddfd
push 5
push 0
push 0x74
pop edx
mov ecx, ebx
call fcn.004289ac
pop ecx
pop ecx
movzx eax, byte [edi + 0x11]
mov ecx, ebx
push 6
push eax
push 0x30
pop edx
call fcn.004289ac
push 6
push 1
push 0x5a
pop edx
mov ecx, ebx
call fcn.004289ac
mov eax, dword [ebp - 0x1c]
add esp, 0x10
mov ecx, dword [ebp - 0x2c]
inc ecx
add edi, 0x14
mov dword [ebp - 0x2c], ecx
cmp ecx, dword [eax + 8]
jl 0x43dd5d
jmp 0x43d49a
mov ecx, dword [ebp - 0x10]
mov edx, str.index_info
call fcn.0041be74
test eax, eax
jne 0x43df4a
test esi, esi
je 0x43df4a
mov ecx, edi
call fcn.0043f04b
test eax, eax
jne 0x43db91
push dword [ebp - 0x1c]
mov ecx, dword [ebp - 8]
mov edx, esi
call fcn.00435169
mov dword [ebp - 0x28], eax
pop ecx
test eax, eax
je 0x43d49a
mov eax, dword [eax + 0x10]
mov ecx, ebx
push 3
pop esi
mov edx, esi
mov dword [ebp - 0x34], eax
call fcn.004295ec
push 0xfffffffffffffffe
mov dword [edi + 0x48], esi
xor edx, edx
push str.seqno
xor esi, esi
mov ecx, ebx
push esi
call fcn.0042965a
add esp, 0xc
xor edx, edx
inc edx
mov ecx, ebx
push 0xfffffffffffffffe
push 0x6354e4
push esi
call fcn.0042965a
add esp, 0xc
mov ecx, ebx
push 0xfffffffffffffffe
push str.name
push esi
push 2
pop edi
mov edx, edi
call fcn.0042965a
mov eax, dword [ebp - 0x28]
add esp, 0xc
mov ecx, esi
mov dword [ebp - 0x2c], esi
cmp dword [eax + 4], esi
jle 0x43d49a
mov eax, dword [eax + 8]
push 1
push ecx
push 0x30
mov esi, dword [eax + ecx*4]
mov ecx, ebx
pop edx
call fcn.004289ac
push edi
push esi
push 0x30
pop edx
mov ecx, ebx
call fcn.004289ac
mov eax, dword [ebp - 0x34]
xor edx, edx
imul ecx, esi, 0x14
push edx
mov eax, dword [eax + 0xc]
push dword [ecx + eax]
mov ecx, ebx
push edx
push 3
push edx
push 0x58
pop edx
call fcn.004289c1
add esp, 0x24
mov ecx, ebx
push 3
push 1
push 0x5a
pop edx
call fcn.004289ac
mov eax, dword [ebp - 0x28]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x2c]
inc ecx
mov dword [ebp - 0x2c], ecx
cmp ecx, dword [eax + 4]
jl 0x43dee7
jmp 0x43d49a
mov ecx, dword [ebp - 0x10]
mov edx, str.index_list
call fcn.0041be74
test eax, eax
jne 0x43e05b
test esi, esi
je 0x43e05b
mov ecx, edi
call fcn.0043f04b
test eax, eax
jne 0x43db91
push dword [ebp - 0x1c]
mov ecx, dword [ebp - 8]
mov edx, esi
call fcn.0043507b
mov esi, eax
pop ecx
test esi, esi
je 0x43d49a
mov ecx, edi
call fcn.0044149c
mov ebx, eax
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x34], eax
test eax, eax
je 0x43e3b8
and dword [ebp - 0x20], 0
mov ecx, ebx
push 3
pop esi
mov edx, esi
call fcn.004295ec
push 0xfffffffffffffffe
mov dword [edi + 0x48], esi
xor edx, edx
push 0x635528
xor esi, esi
mov ecx, ebx
push esi
call fcn.0042965a
add esp, 0xc
xor edx, edx
inc edx
mov ecx, ebx
push 0xfffffffffffffffe
push str.name
push esi
call fcn.0042965a
add esp, 0xc
mov ecx, ebx
push 0xfffffffffffffffe
push str.unique
push esi
push 2
pop esi
mov edx, esi
call fcn.0042965a
mov edi, dword [ebp - 0x34]
add esp, 0xc
mov eax, dword [ebp - 0x20]
push 1
push eax
push 0x30
pop edx
mov ecx, ebx
call fcn.004289ac
xor eax, eax
mov ecx, ebx
push eax
push dword [edi]
push eax
push esi
push eax
push 0x58
pop edx
call fcn.004289c1
add esp, 0x1c
xor eax, eax
cmp byte [edi + 0x18], al
mov ecx, ebx
setne al
push 3
push eax
push 0x30
pop edx
call fcn.004289ac
push 3
push 1
push 0x5a
pop edx
mov ecx, ebx
call fcn.004289ac
mov eax, dword [ebp - 0x20]
add esp, 0x10
mov edi, dword [edi + 0x20]
inc eax
mov dword [ebp - 0x20], eax
test edi, edi
jne 0x43e000
jmp 0x43e3b8
mov ecx, dword [ebp - 0x10]
mov edx, str.database_list
call fcn.0041be74
test eax, eax
jne 0x43e167
mov ecx, edi
call fcn.0043f04b
test eax, eax
jne 0x43db91
push 3
pop esi
mov edx, esi
mov ecx, ebx
call fcn.004295ec
push 0xfffffffffffffffe
mov dword [edi + 0x48], esi
xor edx, edx
push 0x635528
xor edi, edi
mov ecx, ebx
push edi
call fcn.0042965a
add esp, 0xc
xor edx, edx
inc edx
mov ecx, ebx
push 0xfffffffffffffffe
push str.name
push edi
call fcn.0042965a
add esp, 0xc
mov ecx, ebx
push 0xfffffffffffffffe
push str.file
push edi
push 2
pop esi
mov edx, esi
call fcn.0042965a
mov edx, edi
add esp, 0xc
mov edi, dword [ebp - 8]
mov dword [ebp - 0x2c], edx
cmp dword [edi + 4], edx
jle 0x43d49a
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
mov eax, dword [edi + 8]
cmp dword [eax + ecx + 4], 0
je 0x43e153
push 1
push edx
push 0x30
pop edx
mov ecx, ebx
call fcn.004289ac
mov eax, dword [edi + 8]
xor edx, edx
mov ecx, dword [ebp - 0x1c]
push edx
push dword [eax + ecx]
mov ecx, ebx
push edx
push esi
push edx
push 0x58
pop edx
call fcn.004289c1
mov eax, dword [ebp - 0x1c]
add esp, 0x1c
mov ecx, dword [edi + 8]
xor edx, edx
push edx
mov ecx, dword [ecx + eax + 4]
call fcn.0042748e
push eax
push edx
push 3
push edx
push 0x58
pop edx
mov ecx, ebx
call fcn.004289c1
add esp, 0x14
mov ecx, ebx
push 3
push 1
push 0x5a
pop edx
call fcn.004289ac
mov edx, dword [ebp - 0x2c]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x1c]
inc edx
add ecx, 0x18
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x1c], ecx
cmp edx, dword [edi + 4]
jl 0x43e0e6
jmp 0x43d49a
mov ecx, dword [ebp - 0x10]
mov edx, str.collation_list
call fcn.0041be74
test eax, eax
jne 0x43e211
and dword [ebp - 0x20], eax
mov ecx, ebx
push 2
pop esi
mov edx, esi
call fcn.004295ec
push 0xfffffffffffffffe
push 0x635528
push 0
xor edx, edx
mov dword [edi + 0x48], esi
mov ecx, ebx
call fcn.0042965a
add esp, 0xc
xor edx, edx
inc edx
mov ecx, ebx
push 0xfffffffffffffffe
push str.name
push 0
call fcn.0042965a
mov eax, dword [ebp - 8]
add esp, 0xc
mov edi, dword [eax + 0x14c]
test edi, edi
je 0x43eaad
mov esi, dword [edi + 8]
mov ecx, ebx
push 1
push dword [ebp - 0x20]
push 0x30
pop edx
call fcn.004289ac
inc dword [ebp - 0x20]
xor eax, eax
push eax
push dword [esi]
mov ecx, ebx
push eax
push 2
pop esi
push esi
push eax
push 0x58
pop edx
call fcn.004289c1
add esp, 0x1c
mov ecx, ebx
push esi
push 1
push 0x5a
pop edx
call fcn.004289ac
mov edi, dword [edi]
pop ecx
pop ecx
test edi, edi
jne 0x43e1ca
jmp 0x43d49a
mov ecx, dword [ebp - 0x10]
mov edx, str.foreign_key_list
call fcn.0041be74
test eax, eax
jne 0x43e3c5
test esi, esi
je 0x43e3c5
mov ecx, edi
call fcn.0043f04b
test eax, eax
jne 0x43db91
push dword [ebp - 0x1c]
mov ecx, dword [ebp - 8]
mov edx, esi
call fcn.0043507b
mov esi, eax
mov dword [ebp - 0x34], esi
pop ecx
test esi, esi
je 0x43d49a
mov ecx, edi
call fcn.0044149c
mov ebx, eax
mov eax, dword [esi + 0x28]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x43e3b8
and dword [ebp - 0x20], 0
mov ecx, ebx
push 5
pop esi
mov edx, esi
call fcn.004295ec
push 0xfffffffffffffffe
mov dword [edi + 0x48], esi
xor edx, edx
pop esi
push esi
push 0x635568
xor edi, edi
mov ecx, ebx
push edi
call fcn.0042965a
add esp, 0xc
xor edx, edx
inc edx
mov ecx, ebx
push esi
push 0x635528
push edi
call fcn.0042965a
add esp, 0xc
mov ecx, ebx
push esi
push str.table
push edi
push 2
pop edi
mov edx, edi
call fcn.0042965a
add esp, 0xc
mov ecx, ebx
push esi
push str.from
push 0
push 3
pop edx
call fcn.0042965a
add esp, 0xc
mov ecx, ebx
push esi
push 0x635574
push 0
push 4
pop edx
call fcn.0042965a
mov eax, dword [ebp - 0x1c]
add esp, 0xc
xor ecx, ecx
mov dword [ebp - 0x14], ecx
cmp dword [eax + 0x10], ecx
jle 0x43e3a7
mov eax, dword [eax + 0x14]
push 1
push dword [ebp - 0x20]
mov esi, dword [eax + ecx*8 + 4]
mov ecx, ebx
push 0x30
pop edx
call fcn.004289ac
push edi
push dword [ebp - 0x14]
mov ecx, ebx
push 0x30
pop edx
call fcn.004289ac
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
push ecx
push dword [eax + 8]
push ecx
push 3
push ecx
push 0x58
pop edx
mov ecx, ebx
call fcn.004289c1
mov eax, dword [ebp - 0x1c]
add esp, 0x24
mov ecx, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [eax + 0x14]
push edx
imul ecx, dword [eax + ecx*8], 0x14
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 0xc]
push dword [ecx + eax]
mov ecx, ebx
push edx
push 4
push edx
push 0x58
pop edx
call fcn.004289c1
add esp, 0x14
xor eax, eax
test esi, esi
mov ecx, ebx
push eax
push esi
push eax
push 5
push eax
push 0x74
pop edx
push 0x58
pop eax
cmovne edx, eax
call fcn.004289c1
add esp, 0x14
mov ecx, ebx
push 5
push 1
push 0x5a
pop edx
call fcn.004289ac
mov eax, dword [ebp - 0x1c]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x14]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, dword [eax + 0x10]
jl 0x43e2ff
mov eax, dword [eax + 4]
inc dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x43e2f1
test ebx, ebx
je 0x43db91
jmp 0x43d49a
mov ecx, dword [ebp - 0x10]
mov edx, str.case_sensitive_like
call fcn.0041be74
test eax, eax
jne 0x43e3f4
test esi, esi
je 0x43d49a
mov ecx, esi
call fcn.0043d0fe
mov ecx, dword [ebp - 8]
mov edx, eax
call fcn.0043aa33
jmp 0x43d49a
mov ecx, dword [ebp - 0x10]
mov edx, str.integrity_check
call fcn.0041be74
test eax, eax
je 0x43e649
mov ecx, dword [ebp - 0x10]
mov edx, str.quick_check
call fcn.0041be74
test eax, eax
je 0x43e649
mov ecx, dword [ebp - 0x10]
mov edx, str.encoding
call fcn.0041be74
test eax, eax
jne 0x43e52e
test esi, esi
jne 0x43e4b5
mov ecx, edi
call fcn.0043f04b
test eax, eax
jne 0x43db91
xor edx, edx
mov ecx, ebx
inc edx
call fcn.004295ec
push 0xfffffffffffffffe
push str.encoding
push esi
xor edx, edx
mov ecx, ebx
call fcn.0042965a
add esp, 0xc
mov ecx, ebx
push 1
push esi
push 0x58
pop edx
call fcn.004289ac
pop ecx
pop ecx
mov ecx, 0x630450
cmp dword [str.UTF_8], esi
je 0x43d880
mov eax, dword [edi]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x14]
mov al, byte [eax + 0x59]
cmp byte [ecx + 4], al
je 0x43e4a0
add ecx, 8
cmp dword [ecx], esi
jne 0x43e48f
jmp 0x43d880
push 0xfffffffffffffffe
push dword [ecx]
or edx, 0xffffffff
mov ecx, ebx
call fcn.00428d97
pop ecx
pop ecx
jmp 0x43d880
mov eax, dword [ebp - 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x14]
mov al, byte [eax + 0x5a]
and al, 5
cmp al, 1
je 0x43d49a
mov eax, dword [str.UTF_8]
mov edx, 0x630450
mov dword [ebp - 0x20], edx
jmp 0x43e4f2
mov edx, eax
mov ecx, esi
call fcn.0041be74
test eax, eax
je 0x43e4f8
mov eax, dword [ebp - 0x20]
add eax, 8
mov dword [ebp - 0x20], eax
mov eax, dword [eax]
test eax, eax
jne 0x43e4da
jmp 0x43e51d
mov edx, dword [ebp - 0x20]
push 2
mov cl, byte [edx + 4]
movzx eax, cl
test cl, cl
pop ecx
cmovne ecx, eax
mov eax, dword [edi]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x14]
mov byte [eax + 0x59], cl
cmp dword [edx], 0
jne 0x43d49a
push esi
push str.unsupported_encoding:__s
push edi
call fcn.0041bdbd
jmp 0x43d8e8
mov edi, dword [ebp - 0x10]
mov edx, str.schema_version
mov ecx, edi
call fcn.0041be74
test eax, eax
je 0x43e565
mov edx, str.user_version
mov ecx, edi
call fcn.0041be74
test eax, eax
je 0x43e565
mov edx, str.freelist_count
mov ecx, edi
call fcn.0041be74
test eax, eax
jne 0x43d49a
mov edx, dword [ebp - 0x14]
mov ecx, ebx
call fcn.004290e4
mov al, byte [edi]
cmp al, 0x46
je 0x43e593
cmp al, 0x53
je 0x43e58a
cmp al, 0x66
je 0x43e593
cmp al, 0x73
je 0x43e58a
mov dword [ebp - 0x1c], 5
jmp 0x43e58e
and dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x14]
jmp 0x43e5a3
or eax, 0xffffffff
mov dword [ebp - 0x1c], 1
sub eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
test esi, esi
je 0x43e604
test eax, eax
js 0x43e604
push 0x63040c
push 3
pop edx
mov ecx, ebx
lfence
call fcn.00428b68
pop ecx
push dword [ebp - 0x14]
mov esi, eax
mov ecx, ebx
mov edx, esi
call fcn.00428c39
mov edi, dword [ebp - 0xc]
pop ecx
push edi
call fcn.004533cd
pop ecx
push eax
lea edx, [esi + 1]
mov ecx, ebx
call fcn.00428c39
pop ecx
push dword [ebp - 0x14]
lea edx, [esi + 2]
mov ecx, ebx
call fcn.00428c39
pop ecx
push dword [ebp - 0x1c]
mov ecx, ebx
call fcn.00428c5e
mov esi, dword [ebp - 8]
pop ecx
jmp 0x43d4a0
push 0x6307c8
push 2
pop edx
mov ecx, ebx
call fcn.00428b68
pop ecx
push dword [ebp - 0x14]
mov edx, eax
mov ecx, ebx
call fcn.00428c39
pop ecx
push dword [ebp - 0x1c]
mov ecx, ebx
call fcn.00428c83
pop ecx
xor edx, edx
mov ecx, ebx
inc edx
call fcn.004295ec
push 0xfffffffffffffff7
push edi
push 0
xor edx, edx
mov ecx, ebx
call fcn.0042965a
jmp 0x43d8e8
mov eax, dword [ebp - 0x10]
mov ecx, edi
mov al, byte [eax]
mov byte [ebp - 1], al
call fcn.0043f04b
test eax, eax
jne 0x43db91
xor edx, edx
mov dword [edi + 0x48], 6
inc edx
mov ecx, ebx
call fcn.004295ec
push 0xfffffffffffffffe
push str.integrity_check
push 0
xor edx, edx
mov ecx, ebx
call fcn.0042965a
add esp, 0xc
push 0x64
pop eax
mov dword [ebp - 0x34], eax
test esi, esi
je 0x43e6a2
push esi
call fcn.004533cd
pop ecx
push 0x64
test eax, eax
pop ecx
cmovle eax, ecx
mov dword [ebp - 0x34], eax
push 1
push eax
push 0x30
pop edx
mov ecx, ebx
call fcn.004289ac
mov eax, dword [ebp - 8]
pop ecx
pop ecx
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
cmp dword [eax + 4], ecx
jle 0x43ea6b
and dword [ebp - 0x14], ecx
xor eax, eax
mov edx, ecx
mov ecx, edi
mov dword [ebp - 0x1c], eax
call fcn.00438107
push 1
push 0x7f
pop edx
mov ecx, ebx
call fcn.00428998
pop ecx
push 0
push 0
push 0x27
pop edx
mov ecx, ebx
mov esi, eax
call fcn.004289ac
pop ecx
pop ecx
mov edx, esi
mov ecx, ebx
call fcn.00428cbe
mov esi, dword [ebp - 8]
mov ecx, dword [ebp - 0x14]
mov eax, dword [esi + 8]
mov eax, dword [eax + ecx + 0x14]
mov dword [ebp - 0x30], eax
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x24], eax
test eax, eax
je 0x43ea54
mov edi, dword [ebp - 0x1c]
mov esi, dword [eax + 8]
mov ecx, ebx
lea eax, [edi + 2]
push eax
push dword [esi + 0x18]
push 0x30
pop edx
call fcn.004289ac
mov esi, dword [esi + 0x14]
jmp 0x43e749
lea eax, [edi + 2]
mov ecx, ebx
push eax
push dword [esi + 0x14]
push 0x30
pop edx
call fcn.004289ac
mov esi, dword [esi + 0x20]
inc edi
pop ecx
pop ecx
test esi, esi
jne 0x43e735
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x43e71c
mov dword [ebp - 0x1c], edi
test edi, edi
mov edi, dword [ebp - 0x28]
je 0x43ea54
mov eax, dword [ebp - 0x1c]
lea ecx, [eax + 4]
cmp dword [edi + 0x48], ecx
jge 0x43e778
mov dword [edi + 0x48], ecx
push 1
push eax
push 2
pop esi
push esi
push 0x12
pop edx
mov ecx, ebx
call fcn.00428924
mov dl, byte [ebp - 0x2c]
add esp, 0xc
mov ecx, ebx
call fcn.00428ca8
push esi
push 0x41
pop edx
call fcn.00428998
mov edx, dword [ebp - 0x14]
mov esi, eax
mov eax, dword [ebp - 8]
pop ecx
push 0xffffffffffffffff
mov ecx, dword [eax + 8]
push ecx
push dword [ecx + edx]
push str._in_database__s__n
push eax
call fcn.0041b42f
add esp, 0x10
mov ecx, ebx
push eax
push 0
push 3
push 0
push 0x58
pop edx
call fcn.004289c1
add esp, 0x14
mov ecx, ebx
push 1
push 4
push 2
push 0x75
pop edx
call fcn.00428924
add esp, 0xc
mov ecx, ebx
push 2
push 3
push 4
push 0x53
pop edx
call fcn.00428924
add esp, 0xc
mov ecx, ebx
push 1
push 2
push 0x5a
pop edx
call fcn.004289ac
pop ecx
pop ecx
mov edx, esi
mov ecx, ebx
call fcn.00428cbe
mov ecx, dword [ebp - 0x30]
mov eax, dword [ecx + 0x10]
jmp 0x43ea49
cmp byte [ebp - 1], 0x71
je 0x43ea54
mov ecx, dword [eax + 8]
mov dword [ebp - 0x1c], ecx
cmp dword [ecx + 0x14], 0
je 0x43ea44
push 1
push 0x7f
pop edx
mov ecx, ebx
call fcn.00428998
pop ecx
push 0
push 0
push 0x27
pop edx
mov ecx, ebx
mov esi, eax
call fcn.004289ac
mov edx, esi
mov ecx, ebx
call fcn.00428cbe
mov edx, dword [ebp - 0x1c]
mov ecx, edi
push 0xd
push 1
call fcn.0043c4e3
push 2
pop esi
push esi
push 0
push 0x30
pop edx
mov ecx, ebx
call fcn.004289ac
push 0
push 1
push 0x77
pop edx
mov ecx, ebx
call fcn.004289ac
push 1
push esi
push 0x2a
pop edx
mov ecx, ebx
mov dword [ebp - 0x3c], eax
call fcn.004289ac
mov eax, dword [ebp - 0x1c]
add esp, 0x28
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x43e94f
mov dword [ebp - 0x30], esi
push 1
push 3
push 1
mov edx, eax
mov ecx, edi
call fcn.004391d1
add esp, 0xc
mov ecx, ebx
push 3
push 0
push esi
push 0x7e
pop edx
call fcn.00428924
add esp, 0xc
mov ecx, ebx
mov edi, eax
push 0x630498
push 0xb
pop edx
call fcn.00428b68
pop ecx
mov esi, eax
mov ecx, ebx
push 0xfffffffffffffffe
push 0x6355c0
lea edx, [esi + 1]
call fcn.00428d97
push 0xfffffffffffffffe
push str._missing_from_index
lea edx, [esi + 3]
mov ecx, ebx
call fcn.00428d97
mov eax, dword [ebp - 0x20]
lea edx, [esi + 4]
push 0xfffffffffffffffe
mov ecx, ebx
push dword [eax]
call fcn.00428d97
add esp, 0x18
lea edx, [esi + 9]
mov ecx, ebx
call fcn.00428cbe
mov edx, edi
mov ecx, ebx
call fcn.00428cbe
mov eax, dword [ebp - 0x20]
mov esi, dword [ebp - 0x30]
mov edi, dword [ebp - 0x28]
inc esi
mov dword [ebp - 0x30], esi
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x43e8b0
push 2
pop esi
mov edi, dword [ebp - 0x3c]
mov ecx, ebx
lea eax, [edi + 1]
push eax
push 1
push 0x6a
pop edx
call fcn.004289ac
pop ecx
pop ecx
mov edx, edi
mov ecx, ebx
call fcn.00428cbe
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ecx + 0x14]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x43ea41
mov ecx, esi
mov dword [ebp - 0x1c], esi
cmp dword [eax + 0x14], 0
je 0x43ea2f
push 1
push 0x7f
pop edx
mov ecx, ebx
call fcn.00428998
pop ecx
push 0
push 0
push 0x27
pop edx
mov ecx, ebx
mov esi, eax
call fcn.004289ac
mov edx, esi
mov ecx, ebx
call fcn.00428cbe
push 0x6322e4
push 0xa
pop edx
mov ecx, ebx
call fcn.00428b68
add esp, 0xc
mov edi, eax
mov ecx, ebx
push dword [ebp - 0x1c]
lea edx, [edi + 1]
call fcn.00428c39
pop ecx
lea esi, [edi + 4]
mov ecx, ebx
push esi
call fcn.00428c5e
pop ecx
push dword [ebp - 0x1c]
lea edx, [edi + 3]
mov ecx, ebx
call fcn.00428c39
pop ecx
lea eax, [edi + 2]
mov ecx, ebx
push eax
call fcn.00428c5e
pop ecx
mov edx, esi
mov ecx, ebx
call fcn.00428cbe
push 0xfffffffffffffffe
push str.wrong__of_entries_in_index
lea edx, [edi + 6]
mov ecx, ebx
call fcn.00428d97
mov eax, dword [ebp - 0x20]
lea edx, [edi + 7]
push 0xfffffffffffffffe
mov ecx, ebx
push dword [eax]
call fcn.00428d97
mov eax, dword [ebp - 0x20]
add esp, 0x10
mov ecx, dword [ebp - 0x1c]
mov eax, dword [eax + 0x20]
inc ecx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], ecx
test eax, eax
jne 0x43e983
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov edi, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x43e81d
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 8]
inc ecx
add dword [ebp - 0x14], 0x18
mov dword [ebp - 0x2c], ecx
cmp ecx, dword [eax + 4]
jl 0x43e6c5
push 0x6304d0
push 4
pop edx
mov ecx, ebx
call fcn.00428b68
mov esi, eax
mov eax, dword [ebp - 0x34]
pop ecx
neg eax
mov edx, esi
push eax
mov ecx, ebx
call fcn.00428c5e
pop ecx
lea edx, [esi + 1]
mov ecx, ebx
call fcn.00428cbe
push 0xfffffffffffffffe
push 0x635600
lea edx, [esi + 2]
mov ecx, ebx
call fcn.00428d97
jmp 0x43d88e
mov esi, eax
jmp 0x43d49d