Function at 0x42cb43
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x100
push ebx
push esi
mov esi, dword [ebp + 8]
mov ecx, dword [esi + 4]
mov dword [ebp - 0xfc], ecx
mov ecx, dword [esi]
mov edx, dword [ecx + 8]
mov edx, dword [edx + 0xc]
mov dl, byte [edx + 0x49]
xor eax, eax
cmp dword [esi + 0x5c], 7
mov byte [ebp - 0xe5], dl
mov edx, dword [esi + 8]
push edi
mov dword [ebp - 0x10], eax
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xf8], eax
je 0x4300df
mov dword [esi + 0x5c], eax
mov dword [esi + 0x14], eax
mov dword [ecx + 0x1a0], eax
mov eax, dword [ecx + 0xe0]
test eax, eax
jne 0x430f91
mov eax, dword [esi + 0x58]
mov dword [ebp - 0x10], eax
cmp byte [ecx + 0x1e], 0
jne 0x4300df
mov edi, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x20]
imul edi, edi, 0x14
add edi, dword [ebp - 0xfc]
test byte [edi + 2], 2
mov dword [ebp - 0xec], edi
je 0x42cbf4
mov eax, dword [edi + 8]
imul eax, eax, 0x28
add eax, ebx
mov dword [ebp - 0x14], eax
call fcn.00410d1d
mov eax, dword [ebp - 0x14]
mov word [eax + 0x1c], 4
movzx eax, byte [edi]
dec eax
cmp eax, 0x8f
ja case.0x42cc0a.17
movzx eax, byte [eax + 0x4311a0]
jmp dword [eax*4 + 0x431004]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0xe0]
test eax, eax
jne 0x430f91
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0x10], edi
jmp case.0x42cc0a.17
mov ecx, dword [edi + 4]
mov eax, dword [ebp - 0x10]
imul ecx, ecx, 0x28
cdq
add ecx, ebx
mov word [ecx + 0x1c], 4
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov eax, dword [edi + 8]
dec eax
mov dword [ebp - 0x10], eax
jmp case.0x42cc0a.17
mov eax, dword [edi + 4]
imul eax, eax, 0x28
mov eax, dword [eax + ebx + 0x10]
jmp 0x42cc4a
mov edi, dword [edi + 4]
imul edi, edi, 0x28
add edi, ebx
mov eax, dword [edi + 0x10]
mov word [edi + 0x1c], 4
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0x10]
cdq
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], edx
mov eax, dword [ebp - 0xe4]
jmp 0x42cc4a
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
test byte [eax + ebx + 0x1c], 1
je case.0x42cc0a.17
cmp dword [edi + 4], 0
jne 0x430e1c
lea ecx, [esi + 0xd0]
mov eax, dword [ecx]
test eax, eax
je 0x430e1c
mov edx, dword [eax + 0x3c]
dec dword [esi + 0xd8]
mov dword [ecx], edx
mov ecx, dword [esi + 0x6c]
mov edx, dword [ebp - 0xc]
add dword [edx + 0x40], ecx
mov dword [edx + 0x3c], ecx
call fcn.0040a695
cmp dword [edi + 8], 4
mov dword [ebp - 0x10], eax
jne 0x42cce5
mov ecx, dword [esi + 4]
imul eax, eax, 0x14
mov eax, dword [eax + ecx + 8]
dec eax
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0xfc], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x20], eax
jmp case.0x42cc0a.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x14]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.0x42cc0a.17
mov edi, dword [edi + 0x10]
mov ecx, dword [edi]
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x10], ecx
mov ecx, dword [edi + 4]
mov dword [eax + 0x14], ecx
jmp case.0x42cc0a.17
mov ecx, dword [edi + 0x10]
mov byte [edi], 9
call fcn.0040bc7b
mov ecx, dword [ebp - 0xc]
mov dword [edi + 4], eax
cmp eax, dword [ecx + 0x48]
jg 0x430fad
mov eax, dword [ebp - 0x14]
mov word [eax + 0x1c], 0xa02
mov ecx, dword [edi + 0x10]
mov dword [eax + 4], ecx
mov ecx, dword [edi + 4]
mov dword [eax + 0x18], ecx
mov cl, byte [ebp - 0xe5]
mov byte [eax + 0x1f], cl
jmp case.0x42cc0a.17
mov eax, dword [ebp - 0x14]
mov word [eax + 0x1c], 1
jmp case.0x42cc0a.17
mov ecx, dword [edi + 4]
push 0
push dword [edi + 0x10]
mov edi, dword [ebp - 0x14]
xor eax, eax
mov edx, edi
call fcn.004167e4
pop ecx
pop ecx
mov al, byte [ebp - 0xe5]
mov byte [edi + 0x1f], al
jmp case.0x42cc0a.17
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x48]
imul eax, eax, 0x28
lea edi, [eax + ecx - 0x28]
mov ecx, edi
mov dword [ebp - 0xe4], edi
call fcn.0040a803
test eax, eax
jne 0x430fad
push 0x800
push edi
mov ebx, dword [ebp - 0x14]
call fcn.0041224a
pop ecx
pop ecx
jmp case.0x42cc0a.17
mov edx, dword [edi + 0xc]
mov dword [ebp - 0xe0], edx
mov eax, dword [edi + 4]
mov dword [ebp - 0xdc], eax
imul eax, eax, 0x28
mov ecx, dword [edi + 8]
mov dword [ebp - 0xd8], ecx
imul ecx, ecx, 0x28
add ecx, ebx
add eax, ebx
test edx, edx
mov dword [ebp - 0x18], eax
mov edi, ecx
mov dword [ebp - 0x14], ecx
je 0x42ce33
dec dword [ebp - 0xe0]
mov eax, dword [edi + 0x24]
mov ebx, dword [ebp - 0x18]
mov dword [ebp - 0xe4], eax
and dword [edi + 0x24], 0
mov eax, edi
call fcn.00413532
mov eax, dword [ebp - 0xe4]
add dword [ebp - 0x18], 0x28
mov ecx, ebx
mov dword [ecx + 0x24], eax
add edi, 0x28
cmp dword [ebp - 0xe0], 0
jne 0x42cdf8
mov dword [ebp - 0x14], edi
dec dword [ebp - 0xe0]
jmp case.0x42cc0a.17
mov eax, dword [edi + 4]
mov ebx, dword [edi + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0x20]
imul ebx, ebx, 0x28
add ebx, dword [ebp - 0x20]
push 0x1000
push eax
mov dword [ebp - 0x14], ebx
call fcn.0041224a
test word [ebx + 0x1c], 0x1000
pop ecx
pop ecx
je case.0x42cc0a.17
mov eax, ebx
call fcn.004169b2
test eax, eax
jne 0x4300df
jmp case.0x42cc0a.17
mov ebx, dword [edi + 8]
mov eax, dword [edi + 4]
imul ebx, ebx, 0x28
add ebx, dword [ebp - 0x20]
imul eax, eax, 0x28
add eax, dword [ebp - 0x20]
push 0x1000
mov dword [ebp - 0x14], ebx
push eax
jmp 0x42cdbb
push 0
mov eax, esi
call fcn.00417b5d
test eax, eax
pop ecx
mov dword [ebp - 8], eax
jne case.0x42cc0a.17
push 1
mov ebx, esi
call fcn.004273b1
xor ebx, ebx
cmp eax, ebx
pop ecx
mov dword [ebp - 8], eax
jne case.0x42cc0a.17
mov eax, dword [esi + 0x54]
mov ecx, dword [ebp - 0x20]
inc eax
inc eax
or eax, 1
mov dword [esi + 0x54], eax
mov eax, dword [edi + 4]
imul eax, eax, 0x28
add eax, ecx
mov dword [esi + 0x14], eax
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xe0], ebx
cmp dword [edi + 8], ebx
jle 0x42cf55
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xe4]
imul eax, eax, 0x28
add eax, ecx
test word [eax + 0x1c], 0x1000
je 0x42cf1c
call fcn.004169b2
test eax, eax
jne 0x4300df
mov eax, dword [ebp - 0xe0]
imul eax, eax, 0x28
add eax, dword [ebp - 0xe4]
call fcn.0041691f
mov ecx, dword [ebp - 0xe0]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xe4]
call fcn.0040a356
inc dword [ebp - 0xe0]
mov eax, dword [ebp - 0xe0]
cmp eax, dword [edi + 8]
jl 0x42cef6
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x1e], bl
jne 0x4300df
mov eax, dword [ebp - 0x10]
inc eax
push 0x64
mov dword [esi + 0x58], eax
pop eax
jmp 0x430fff
mov eax, dword [edi + 4]
mov ecx, dword [edi + 8]
imul eax, eax, 0x28
mov edi, dword [edi + 0xc]
imul ecx, ecx, 0x28
imul edi, edi, 0x28
add eax, ebx
add ecx, ebx
mov dword [ebp - 0x18], eax
movzx eax, word [eax + 0x1c]
mov dword [ebp - 0x1c], ecx
mov cl, byte [ecx + 0x1c]
add edi, ebx
or cl, al
test cl, 1
mov dword [ebp - 0x14], edi
je 0x42cfa9
call fcn.00410ce0
jmp case.0x42cc0a.17
test ax, 0x4000
je 0x42cfb9
mov eax, dword [ebp - 0x18]
call fcn.00416965
jmp 0x42cfbb
xor eax, eax
test eax, eax
jne 0x4300df
mov ebx, dword [ebp - 0x1c]
test word [ebx + 0x1c], 0x4000
je 0x42cfd7
mov eax, ebx
call fcn.00416965
jmp 0x42cfd9
xor eax, eax
test eax, eax
jne 0x4300df
mov eax, dword [ebp - 0x18]
test byte [eax + 0x1c], 0x12
jne 0x42cff7
call fcn.0041a5f1
test eax, eax
jne 0x4300df
test byte [ebx + 0x1c], 0x12
jne 0x42d00c
mov eax, ebx
call fcn.0041a5f1
test eax, eax
jne 0x4300df
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x18]
add eax, dword [ebx + 0x18]
cdq
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xe0], edx
mov eax, dword [eax + 0x48]
cdq
cmp dword [ebp - 0xe0], edx
jg 0x430fad
jl 0x42d043
cmp dword [ebp - 0xe4], eax
ja 0x430fad
mov ax, word [edi + 0x1c]
and ax, 0xbf02
or ax, 2
mov word [edi + 0x1c], ax
xor eax, eax
cmp edi, ebx
sete al
push eax
mov eax, dword [ebp - 0xe4]
add eax, 2
call fcn.004157b6
test eax, eax
pop ecx
jne 0x4300df
cmp edi, ebx
je 0x42d087
push dword [ebx + 0x18]
push dword [ebx + 4]
push dword [edi + 4]
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x18]
push dword [eax + 0x18]
push dword [eax + 4]
mov eax, dword [edi + 4]
add eax, dword [ebx + 0x18]
push eax
call sub.msvcrt.dll_memcpy
mov ecx, dword [ebp - 0xe4]
mov eax, dword [edi + 4]
mov byte [ecx + eax], 0
mov ecx, dword [ebp - 0xe4]
mov eax, dword [edi + 4]
mov byte [ecx + eax + 1], 0
add esp, 0xc
or word [edi + 0x1c], 0x200
mov eax, dword [ebp - 0xe4]
mov dword [edi + 0x18], eax
jmp 0x42cd82
mov ebx, dword [edi + 4]
imul ebx, ebx, 0x28
add ebx, dword [ebp - 0x20]
mov esi, ebx
call fcn.0040ebdd
mov esi, dword [edi + 8]
imul esi, esi, 0x28
add esi, dword [ebp - 0x20]
mov dword [ebp - 0x1c], esi
call fcn.0040ebdd
mov esi, dword [edi + 0xc]
mov ecx, dword [ebp - 0x1c]
imul esi, esi, 0x28
movzx eax, word [ebx + 0x1c]
movzx ecx, word [ecx + 0x1c]
add esi, dword [ebp - 0x20]
or eax, ecx
test al, 1
mov dword [ebp - 0x14], esi
mov dword [ebp - 0xe4], eax
jne 0x42d316
mov al, byte [ebx + 0x1c]
mov ecx, dword [ebp - 0x1c]
and al, byte [ecx + 0x1c]
test al, 4
je 0x42d262
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xdc], eax
mov ebx, dword [ebx + 0x14]
mov dword [ebp - 0xd8], ebx
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xd4], edx
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0xd0], ecx
movzx ecx, byte [edi]
sub ecx, 0x56
je 0x42d21c
dec ecx
je 0x42d20e
dec ecx
je 0x42d1ed
dec ecx
mov ecx, eax
je 0x42d1a1
or ecx, ebx
je 0x42d316
mov ecx, eax
and ecx, ebx
cmp ecx, 0xffffffff
jne 0x42d18c
xor eax, eax
inc eax
xor ebx, ebx
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd8], ebx
push ebx
push eax
push dword [ebp - 0xd0]
push dword [ebp - 0xd4]
call fcn.00451560
jmp 0x42d200
or ecx, ebx
je 0x42d316
mov ecx, eax
and ecx, ebx
cmp ecx, 0xffffffff
jne 0x42d1d8
cmp dword [ebp - 0xd4], 0
jne 0x42d1d8
cmp dword [ebp - 0xd0], 0x80000000
jne 0x42d1d8
xor eax, eax
inc eax
xor ebx, ebx
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd8], ebx
push ebx
push eax
push dword [ebp - 0xd0]
push dword [ebp - 0xd4]
call fcn.00451620
jmp 0x42d200
push ebx
push eax
push dword [ebp - 0xd0]
push dword [ebp - 0xd4]
call fcn.00451520
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd0], edx
jmp 0x42d228
sub dword [ebp - 0xd4], eax
sbb dword [ebp - 0xd0], ebx
jmp 0x42d228
add dword [ebp - 0xd4], eax
adc dword [ebp - 0xd0], ebx
mov eax, dword [ebp - 0xd4]
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0xd0]
mov dword [esi + 0x14], eax
mov ax, word [esi + 0x1c]
and ax, 0xbf04
or ax, 4
mov word [esi + 0x1c], ax
mov esi, dword [ebp + 8]
inc dword [ebp - 0x10]
cmp dword [ebp - 8], 0
jne 0x430fc6
mov ecx, dword [ebp - 0xc]
jmp 0x42cbb6
mov edx, ebx
call fcn.0040ec4b
mov dword [ebp - 0xc8], edx
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0xcc], eax
call fcn.0040ec4b
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], edx
movzx eax, byte [edi]
sub eax, 0x56
je 0x42d36c
dec eax
je 0x42d356
dec eax
je 0x42d33c
dec eax
mov eax, dword [ebp - 0xcc]
je 0x42d30e
mov edi, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xd4], edi
mov edi, eax
or edi, ecx
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0xd0], edx
je 0x42d316
and eax, ecx
cmp eax, 0xffffffff
jne 0x42d2ee
and dword [ebp - 0xd8], 0
mov dword [ebp - 0xdc], 1
push dword [ebp - 0xd8]
push dword [ebp - 0xdc]
push edx
push dword [ebp - 0xc4]
call fcn.00451560
mov dword [ebp - 0xc4], eax
jmp 0x42d380
or eax, dword [ebp - 0xc8]
jne 0x42d322
mov edi, esi
call fcn.00410ce0
jmp 0x42d24a
push dword [ebp - 0xc8]
push dword [ebp - 0xcc]
push edx
push dword [ebp - 0xc4]
call fcn.00451620
jmp 0x42d306
push dword [ebp - 0xc8]
push dword [ebp - 0xcc]
push edx
push dword [ebp - 0xc4]
call fcn.00451520
jmp 0x42d306
mov eax, dword [ebp - 0xcc]
sub dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0xc8]
sbb edx, eax
jmp 0x42d380
mov eax, dword [ebp - 0xcc]
add dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0xc8]
adc edx, eax
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0xc0], edx
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0xc0]
jmp 0x42d237
movzx ecx, byte [edi + 3]
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], ecx
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, ebx
mov dword [ebp - 0x14], eax
mov eax, dword [edi + 8]
and dword [ebp - 0xe4], 0
imul eax, eax, 0x28
add eax, ebx
test ecx, ecx
mov dword [ebp - 0xe0], eax
jle 0x42d429
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0xe4]
mov dword [ecx + edx*4], eax
mov eax, dword [ebp - 0xe0]
test word [eax + 0x1c], 0x1000
je 0x42d3fb
call fcn.004169b2
test eax, eax
jne 0x4300df
mov ecx, dword [ebp - 0xe0]
call fcn.0040a356
inc dword [ebp - 0xe4]
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xe4]
add eax, 0x28
cmp ecx, dword [ebp - 0x98]
mov dword [ebp - 0xe0], eax
jl 0x42d3d1
cmp byte [edi + 1], 0xfb
mov eax, dword [edi + 0x10]
jne 0x42d43b
and dword [ebp - 0xd8], 0
jmp 0x42d443
mov dword [ebp - 0xd8], eax
mov eax, dword [eax]
mov ebx, dword [ebp - 0x14]
and dword [ebp - 0xb4], 0
and dword [ebp - 0xb0], 0
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xd4], eax
lea eax, [ebp - 0xd4]
mov word [ebp - 0xb8], 1
call fcn.00413532
mov eax, dword [ebp - 0xb8]
and dword [ebp - 0xa8], 0
and ax, 0xbf01
or ax, 1
mov word [ebp - 0xb8], ax
mov eax, dword [ebp - 0xdc]
test byte [eax + 3], 8
je 0x42d4a8
mov ecx, dword [edi - 4]
mov dword [ebp - 0xa4], ecx
push dword [ebp - 0x9c]
lea ecx, [ebp - 0xdc]
push dword [ebp - 0x98]
push ecx
call dword [eax + 0xc]
mov ebx, dword [ebp - 0xc]
add esp, 0xc
cmp byte [ebx + 0x1e], 0
jne 0x430eac
cmp dword [ebp - 0xd8], 0
je 0x42d4f9
push dword [edi + 4]
mov edi, dword [ebp - 0xd8]
call fcn.0040a652
mov eax, dword [ebp - 0xec]
pop ecx
mov ecx, dword [ebp - 0xd8]
mov dword [eax + 0x10], ecx
mov byte [eax + 1], 0xf9
cmp dword [ebp - 0xa8], 0
je 0x42d52b
lea eax, [ebp - 0xd4]
push 1
push eax
call fcn.0041cc9c
push eax
push 0x45863c
push ebx
lea edi, [esi + 0x38]
call fcn.00416d22
mov eax, dword [ebp - 0xa8]
add esp, 0x14
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x14]
lea ebx, [ebp - 0xd4]
call fcn.00413532
mov ecx, dword [ebp - 0x14]
call fcn.0040a803
test eax, eax
jne 0x430fad
jmp case.0x42cc0a.17
mov ecx, dword [edi + 0xc]
mov edx, dword [edi + 8]
imul ecx, ecx, 0x28
mov eax, dword [edi + 4]
imul edx, edx, 0x28
imul eax, eax, 0x28
add ecx, ebx
add edx, ebx
add eax, ebx
mov dword [ebp - 0x14], ecx
mov cl, byte [edx + 0x1c]
or cl, byte [eax + 0x1c]
mov dword [ebp - 0x18], eax
test cl, 1
je 0x42d57f
mov edi, dword [ebp - 0x14]
jmp 0x42cf9f
call fcn.0040ec9c
mov dword [ebp - 0xe0], edx
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0xe4], eax
call fcn.0040ec9c
mov ecx, eax
mov dword [ebp - 0xdc], ecx
mov dword [ebp - 0xd8], edx
movzx eax, byte [edi]
sub eax, 0x52
je 0x42d5e8
dec eax
je 0x42d5da
mov edx, dword [ebp - 0xe0]
dec eax
mov eax, dword [ebp - 0xe4]
je 0x42d5c7
call fcn.00451910
jmp 0x42d5cc
call fcn.00451500
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xe0], edx
jmp 0x42d5f4
or dword [ebp - 0xe4], ecx
or dword [ebp - 0xe0], edx
jmp 0x42d5f4
and dword [ebp - 0xe4], ecx
and dword [ebp - 0xe0], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xe4]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0xe0]
mov dword [eax + 0x14], ecx
mov cx, word [eax + 0x1c]
and cx, 0xbf04
or cx, 4
mov word [eax + 0x1c], cx
jmp case.0x42cc0a.17
mov esi, dword [edi + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0x20]
call fcn.0040ffec
mov eax, dword [edi + 8]
cdq
add dword [esi + 0x10], eax
adc dword [esi + 0x14], edx
jmp 0x42d24a
mov eax, dword [edi + 4]
imul eax, eax, 0x28
add eax, ebx
push 0x63
mov dword [ebp - 0x18], eax
call fcn.0041cbd9
mov eax, dword [ebp - 0x18]
movzx eax, word [eax + 0x1c]
test al, 4
pop ecx
jne 0x42d671
mov edi, dword [edi + 8]
test edi, edi
jne 0x42cc25
mov dword [ebp - 8], 0x14
jmp 0x430f53
mov ecx, dword [ebp - 0x18]
and ax, 0xbf04
or ax, 4
mov word [ecx + 0x1c], ax
jmp case.0x42cc0a.17
mov edi, dword [edi + 4]
imul edi, edi, 0x28
add edi, ebx
test byte [edi + 0x1c], 1
jne case.0x42cc0a.17
mov esi, edi
call fcn.0040ffec
jmp 0x42d24a
mov ecx, dword [edi + 4]
mov eax, dword [edi + 0xc]
imul ecx, ecx, 0x28
imul eax, eax, 0x28
add ecx, ebx
mov dx, word [ecx + 0x1c]
add eax, ebx
mov word [ebp - 0xde], dx
mov dx, word [eax + 0x1c]
mov dword [ebp - 0x1c], eax
mov word [ebp - 0xdc], dx
movzx eax, word [eax + 0x1c]
movzx edx, word [ecx + 0x1c]
mov dword [ebp - 0xf0], eax
or al, dl
test al, 1
mov al, byte [edi + 3]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0xec], edx
je 0x42d735
test al, al
jns 0x42d708
movzx edx, word [ecx + 0x1c]
mov eax, dword [ebp - 0xf0]
and al, dl
and al, 1
neg al
sbb eax, eax
inc eax
jmp 0x42d79f
test al, 0x10
je 0x42d728
mov edi, dword [edi + 8]
imul edi, edi, 0x28
add edi, ebx
mov dword [ebp - 0x14], edi
mov ax, word [edi + 0x1c]
and ax, 0xbf01
or ax, 1
jmp 0x42d9f6
test al, 8
je case.0x42cc0a.17
jmp 0x42cc22
and al, 0x67
mov byte [ebp - 0xe0], al
je 0x42d76d
push dword [ebp - 0xe0]
mov eax, dword [ebp - 0x18]
call fcn.0041cbd9
mov eax, dword [ebp - 0x1c]
pop ecx
push dword [ebp - 0xe0]
call fcn.0041cbd9
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x1e], 0
pop ecx
jne 0x4300df
mov ecx, dword [ebp - 0x18]
test word [ecx + 0x1c], 0x4000
je 0x42d77d
mov eax, dword [ebp - 0x18]
call fcn.00416965
mov eax, dword [ebp - 0x1c]
test word [eax + 0x1c], 0x4000
je 0x42d78d
call fcn.00416965
push dword [ebp - 0x18]
mov eax, dword [edi + 0x10]
mov edx, dword [ebp - 0x1c]
call fcn.0041cd11
pop ecx
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0xe4], eax
movzx edx, byte [edi]
sub edx, 0x4b
je 0x42d7e6
dec edx
je 0x42d7dd
dec edx
je 0x42d7d4
dec edx
je 0x42d7cb
dec edx
je 0x42d7c2
xor edx, edx
test eax, eax
setge dl
jmp 0x42d7ed
xor edx, edx
test eax, eax
setl dl
jmp 0x42d7ed
xor edx, edx
test eax, eax
setle dl
jmp 0x42d7ed
xor edx, edx
test eax, eax
setg dl
jmp 0x42d7ed
xor edx, edx
test eax, eax
sete dl
jmp 0x42d7ed
xor edx, edx
test eax, eax
setne dl
mov dword [ebp - 0xe4], edx
test byte [edi + 3], 0x10
je 0x42d823
mov edi, dword [edi + 8]
imul edi, edi, 0x28
add edi, ebx
mov ax, word [edi + 0x1c]
and ax, 0xbf04
or ax, 4
mov word [edi + 0x1c], ax
mov eax, dword [ebp - 0xe4]
cdq
mov dword [ebp - 0x14], edi
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], edx
jmp 0x42d833
cmp dword [ebp - 0xe4], 0
je 0x42d833
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0x10], edi
mov al, byte [ebp - 0xde]
mov byte [ecx + 0x1c], al
mov al, byte [ebp - 0xdc]
mov ecx, dword [ebp - 0x1c]
mov byte [ecx + 0x1c], al
jmp case.0x42cc0a.17
mov eax, dword [edi + 0x10]
mov dword [ebp - 0xf8], eax
jmp case.0x42cc0a.17
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xe4], eax
mov edx, dword [edi + 0x10]
mov dword [ebp - 0xd4], edx
mov ecx, dword [edi + 4]
mov dword [ebp - 0xdc], ecx
mov ecx, dword [edi + 8]
mov dword [ebp - 0xd8], ecx
xor ecx, ecx
test eax, eax
mov dword [ebp - 0xe0], ecx
jle 0x42d919
mov ebx, dword [ebp - 0xf8]
jmp 0x42d89d
mov edx, dword [ebp - 0xd4]
test ebx, ebx
je 0x42d8a6
mov edi, dword [ebx + ecx*4]
jmp 0x42d8a8
mov edi, ecx
mov dword [ebp - 0xd0], edi
mov eax, dword [edx + ecx*4 + 0xc]
mov dword [ebp - 0xcc], eax
mov edx, dword [edx + 8]
movzx ecx, byte [edx + ecx]
mov dword [ebp - 0xc8], ecx
mov ecx, dword [ebp - 0xd8]
add ecx, edi
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x20]
push ecx
mov ecx, dword [ebp - 0xdc]
lea edx, [edi + ecx]
imul edx, edx, 0x28
add edx, dword [ebp - 0x20]
call fcn.0041cd11
test eax, eax
pop ecx
mov dword [ebp - 0xf4], eax
jne 0x42d90a
mov ecx, dword [ebp - 0xe0]
inc ecx
cmp ecx, dword [ebp - 0xe4]
mov dword [ebp - 0xe0], ecx
jl 0x42d897
jmp 0x42d919
cmp dword [ebp - 0xc8], 0
je 0x42d919
neg dword [ebp - 0xf4]
and dword [ebp - 0xf8], 0
jmp case.0x42cc0a.17
cmp dword [ebp - 0xf4], 0
jge 0x42d936
mov edi, dword [edi + 4]
jmp 0x42cc25
je 0x42cc22
mov edi, dword [edi + 0xc]
jmp 0x42cc25
mov edx, dword [edi + 4]
imul edx, edx, 0x28
add edx, ebx
test byte [edx + 0x1c], 1
je 0x42d957
push 2
pop eax
jmp 0x42d967
call fcn.0040ec9c
or eax, edx
je 0x42d965
xor eax, eax
inc eax
jmp 0x42d967
xor eax, eax
mov dword [ebp - 0xe4], eax
mov edx, dword [edi + 8]
imul edx, edx, 0x28
add edx, ebx
test byte [edx + 0x1c], 1
je 0x42d987
mov dword [ebp - 0xe0], 2
jmp 0x42d9a9
call fcn.0040ec9c
or eax, edx
mov eax, dword [ebp - 0xe4]
je 0x42d9a2
mov dword [ebp - 0xe0], 1
jmp 0x42d9a9
and dword [ebp - 0xe0], 0
mov ecx, dword [ebp - 0xe0]
imul eax, eax, 3
cmp byte [edi], 0x45
jne 0x42d9c1
movzx eax, byte [eax + ecx + 0x455a10]
jmp 0x42d9c9
movzx eax, byte [eax + ecx + 0x455a1c]
mov dword [ebp - 0xe4], eax
mov edi, dword [edi + 0xc]
imul edi, edi, 0x28
add edi, ebx
cmp eax, 2
mov dword [ebp - 0x14], edi
je 0x42d717
cdq
mov dword [edi + 0x10], eax
mov ax, word [edi + 0x1c]
and ax, 0xbf04
mov dword [edi + 0x14], edx
or ax, 4
mov word [edi + 0x1c], ax
jmp case.0x42cc0a.17
mov edx, dword [edi + 4]
mov edi, dword [edi + 8]
imul edx, edx, 0x28
imul edi, edi, 0x28
add edx, ebx
add edi, ebx
test byte [edx + 0x1c], 1
mov dword [ebp - 0x14], edi
jne 0x42cf9f
call fcn.0040ec9c
or eax, edx
jne 0x42da28
inc eax
jmp 0x42da2a
xor eax, eax
cdq
push edx
push eax
mov esi, edi
call fcn.00413598
pop ecx
pop ecx
jmp 0x42d24a
mov edx, dword [edi + 4]
mov edi, dword [edi + 8]
imul edx, edx, 0x28
imul edi, edi, 0x28
add edx, ebx
add edi, ebx
test byte [edx + 0x1c], 1
mov dword [ebp - 0x14], edi
jne 0x42cf9f
call fcn.0040ec9c
not eax
not edx
jmp 0x42da2b
mov edx, dword [edi + 4]
imul edx, edx, 0x28
add edx, ebx
xor ebx, ebx
inc ebx
test byte [edx + 0x1c], bl
je 0x42da78
mov eax, dword [edi + 0xc]
jmp 0x42daa0
call fcn.0040ec9c
or eax, edx
je 0x42da89
mov dword [ebp - 0xe4], ebx
jmp 0x42da90
and dword [ebp - 0xe4], 0
cmp byte [edi], 0x1b
jne 0x42daa6
xor eax, eax
cmp dword [ebp - 0xe4], eax
sete al
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 0
jmp 0x42d72a
mov eax, dword [edi + 4]
imul eax, eax, 0x28
test byte [eax + ebx + 0x1c], 1
jmp 0x42d72a
mov eax, dword [edi + 4]
imul eax, eax, 0x28
test byte [eax + ebx + 0x1c], 1
jne case.0x42cc0a.17
jmp 0x42cc22
mov eax, dword [edi + 4]
mov ebx, dword [ebp - 0xec]
mov dword [ebp - 0xd4], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0xd0], eax
xor eax, eax
xor edx, edx
mov dword [ebp - 0xcc], edx
push 0xa
pop ecx
lea edi, [ebp - 0xa4]
rep stosd dword es:[edi], eax
mov eax, dword [ebx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x20]
mov dword [ebp - 0xa8], eax
mov cx, word [eax + 0x1c]
and cx, 0xbf01
or cx, 1
mov word [eax + 0x1c], cx
mov ecx, dword [ebp - 0xd4]
mov eax, dword [esi + 0x44]
mov dword [ebp - 0xc8], edx
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xcc], eax
mov ecx, dword [eax]
cmp ecx, edx
mov dword [ebp - 0xc4], ecx
je 0x42dbe4
mov esi, eax
call fcn.004281da
test eax, eax
mov dword [ebp - 8], eax
jne 0x430f50
mov eax, dword [ebp - 0xcc]
cmp byte [eax + 0x1c], 0
je 0x42db77
and dword [ebp - 0xe4], 0
jmp 0x42d24a
mov ecx, dword [eax + 0x4c]
mov edx, dword [ebp + 8]
cmp ecx, dword [edx + 0x54]
jne 0x42db9b
mov ecx, dword [eax + 0x50]
mov dword [ebp - 0xe4], ecx
mov ecx, dword [eax + 0x5c]
mov dword [ebp - 0xc8], ecx
mov esi, edx
jmp 0x42dc24
cmp byte [eax + 0x1f], 0
je 0x42dbc3
mov eax, dword [ebp - 0xc4]
lea edi, [ebp - 0xdc]
call fcn.00412324
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xe4], eax
jmp 0x42dbd9
lea eax, [ebp - 0xe4]
push eax
mov eax, dword [ebp - 0xc4]
call fcn.0041230f
pop ecx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xcc]
mov esi, dword [ebp + 8]
jmp 0x42dc24
mov ecx, dword [eax + 0x10]
cmp ecx, edx
jle 0x42dc1e
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x64], ecx
mov edi, dword [ecx + 0x18]
mov dword [ebp - 0xe4], edi
mov ecx, dword [ecx + 4]
mov dword [ebp - 0xc8], ecx
test byte [ebx + 3], 0x20
je 0x42dc10
xor ecx, ecx
jmp 0x42dc13
mov ecx, dword [esi + 0x54]
mov dword [eax + 0x4c], ecx
mov eax, dword [ebp - 0xcc]
jmp 0x42dc24
mov dword [ebp - 0xe4], edx
mov ecx, dword [ebp - 0xe4]
test ecx, ecx
je case.0x42cc0a.17
mov edx, dword [ebp - 0xc]
cmp ecx, dword [edx + 0x48]
ja 0x430fad
mov edx, dword [eax + 0x14]
mov dword [ebp - 0xb8], edx
mov ecx, dword [eax + 0x54]
mov dword [ebp - 0xc0], ecx
mov edi, dword [eax + 0x4c]
cmp edi, dword [esi + 0x54]
jne 0x42dc66
mov eax, dword [eax + 0x58]
mov dword [ebp - 0xbc], eax
jmp 0x42de93
and dword [ebp - 0x68], 0
lea ecx, [ecx + edx*4]
mov dword [ebp - 0xbc], ecx
mov dword [eax + 0x58], ecx
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xe4]
mov dword [eax + 0x50], ecx
mov eax, dword [esi + 0x54]
mov ecx, dword [ebp - 0xcc]
mov dword [ecx + 0x4c], eax
mov eax, dword [ebp - 0xc8]
test eax, eax
je 0x42dca3
mov dword [ebp - 0xac], eax
jmp 0x42dcf2
mov eax, dword [ebp - 0xcc]
cmp byte [eax + 0x1f], 0
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 0xc4]
je 0x42dcc0
call fcn.004122f6
jmp 0x42dcc5
call fcn.004122dc
pop ecx
mov ecx, dword [ebp - 0xe4]
cmp ecx, dword [ebp - 0x68]
mov dword [ebp - 0xac], eax
ja 0x42dce8
mov ecx, dword [ebp - 0xcc]
mov dword [ebp - 0xc8], eax
mov dword [ecx + 0x5c], eax
jmp 0x42dcf2
mov eax, dword [ebp - 0xcc]
and dword [eax + 0x5c], 0
mov ecx, dword [ebp - 0xac]
mov al, byte [ecx]
cmp al, 0x80
jae 0x42dd09
movzx eax, al
mov dword [ebp - 0x74], eax
xor eax, eax
inc eax
jmp 0x42dd14
lea edi, [ebp - 0x74]
call fcn.0040de8f
movzx eax, al
cmp dword [ebp - 0x74], 0x18003
movzx eax, al
mov dword [ebp - 0x6c], eax
jbe 0x42dd2d
push 0xf58b
jmp 0x42e006
mov ecx, dword [ebp - 0xb8]
imul ecx, ecx, 5
add ecx, 3
cmp ecx, dword [ebp - 0x74]
mov dword [ebp - 0xb4], ecx
jle 0x42dd4d
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0xb4], ecx
xor edi, edi
cmp dword [ebp - 0xc8], edi
jne 0x42ddad
cmp dword [ebp - 0x68], ecx
jge 0x42ddad
mov eax, dword [ebp - 0xcc]
mov word [ebp - 0x88], di
mov dword [ebp - 0xa4], edi
movzx eax, byte [eax + 0x1f]
push eax
push edi
push dword [ebp - 0xc4]
lea eax, [ebp - 0xa4]
mov esi, ecx
call fcn.004282dc
mov esi, dword [ebp + 8]
add esp, 0xc
cmp eax, edi
mov dword [ebp - 8], eax
jne case.0x42cc0a.17
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0xb4]
mov dword [ebp - 0xac], eax
jmp 0x42ddb3
mov eax, dword [ebp - 0xac]
add ecx, eax
mov dword [ebp - 0x78], ecx
mov ecx, dword [ebp - 0x6c]
add eax, ecx
xor ecx, ecx
cmp dword [ebp - 0xb8], edi
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0xb0], ecx
jle 0x42de4b
jmp 0x42ddd5
mov eax, dword [ebp - 0x7c]
cmp eax, dword [ebp - 0x78]
mov eax, dword [ebp - 0xbc]
jae 0x42dee6
mov edx, dword [ebp - 0x74]
mov dword [eax + ecx*4], edx
mov ecx, dword [ebp - 0x7c]
mov al, byte [ecx]
cmp al, 0x80
mov edx, dword [ebp - 0xc0]
jae 0x42de0a
mov ecx, dword [ebp - 0xb0]
movzx eax, al
mov dword [edx + ecx*4], eax
xor eax, eax
inc eax
jmp 0x42de1b
mov eax, dword [ebp - 0xb0]
lea edi, [edx + eax*4]
call fcn.0040de8f
movzx eax, al
mov ecx, dword [ebp - 0xb0]
movzx eax, al
add dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + ecx*4]
call fcn.0040a578
add dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], eax
mov dword [ebp - 0x70], eax
jae 0x42def0
mov eax, dword [ebp - 0x78]
inc eax
mov dword [ebp - 0x7c], eax
lea eax, [ebp - 0xa4]
push eax
call fcn.00412282
pop ecx
mov ecx, dword [ebp - 0x7c]
cmp ecx, dword [ebp - 0x78]
mov word [ebp - 0x88], 1
ja 0x42e001
mov eax, dword [ebp - 0x74]
cmp eax, dword [ebp - 0xe4]
ja 0x42e001
cmp ecx, dword [ebp - 0x78]
jne 0x42de8d
cmp eax, dword [ebp - 0xe4]
jne 0x42e001
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xbc]
shl eax, 2
cmp dword [eax + edx], 0
je 0x42dfa0
cmp dword [ebp - 0xc8], 0
je 0x42df08
mov eax, dword [ebp - 0xa8]
call fcn.00410d1d
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xc0]
shl eax, 2
mov ecx, dword [eax + ecx]
add ecx, dword [ebp - 0xc8]
mov eax, dword [eax + edx]
jmp 0x42df81
and dword [eax + ecx*4], 0
mov ecx, dword [ebp - 0xb0]
inc ecx
cmp ecx, dword [ebp - 0xb8]
mov dword [ebp - 0xb0], ecx
jl 0x42ddd2
jmp 0x42de4b
mov eax, dword [eax + ecx]
call fcn.0040a578
mov ebx, dword [ebp - 0xa8]
mov dword [ebp - 0xb4], eax
lea eax, [ebp - 0xa4]
call fcn.00413532
mov eax, dword [ebp - 0xcc]
movzx eax, byte [eax + 0x1f]
mov ecx, dword [ebp - 0xd0]
mov esi, dword [ebp - 0xb4]
push eax
mov eax, dword [ebp - 0xbc]
push dword [eax + ecx*4]
lea eax, [ebp - 0xa4]
push dword [ebp - 0xc4]
call fcn.004282dc
add esp, 0xc
test eax, eax
mov dword [ebp - 8], eax
jne 0x42d24a
mov ecx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0xac], ecx
mov eax, dword [eax + edx*4]
mov esi, dword [ebp - 0xa8]
call fcn.0040a3ec
mov eax, dword [ebp - 0xa8]
mov cl, byte [ebp - 0xe5]
mov esi, dword [ebp + 8]
mov byte [eax + 0x1f], cl
jmp 0x42dfbb
cmp byte [ebx + 1], 0xf8
jne 0x42dfbb
push 0x800
push dword [ebx + 0x10]
mov ebx, dword [ebp - 0xa8]
call fcn.0041224a
pop ecx
pop ecx
cmp dword [ebp - 0x80], 0
je 0x42dff4
mov eax, dword [ebp - 0xa8]
and word [eax + 0x1c], 0xe7ff
mov eax, dword [ebp - 0xa8]
or word [eax + 0x1c], 0x200
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0xa0]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0xa8]
mov dword [ecx + 0x24], eax
mov eax, dword [ebp - 0xa8]
call fcn.004169b2
jmp 0x42e00c
push 0xf5d5
call fcn.00417ee3
pop ecx
mov dword [ebp - 8], eax
jmp case.0x42cc0a.17
mov eax, dword [edi + 0x10]
mov dword [ebp - 0xe4], eax
mov edi, dword [edi + 4]
imul edi, edi, 0x28
add edi, ebx
jmp 0x42e053
inc dword [ebp - 0xe4]
test word [edi + 0x1c], 0x4000
je 0x42e03c
mov eax, edi
call fcn.00416965
push dword [ebp - 0xe0]
mov eax, edi
call fcn.0041cbd9
mov eax, dword [ebp - 0xe4]
pop ecx
add edi, 0x28
mov al, byte [eax]
test al, al
mov byte [ebp - 0xe0], al
jne 0x42e027
inc dword [ebp - 0xe4]
jmp case.0x42cc0a.17
xor eax, eax
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0xb0], eax
imul eax, eax, 0x28
mov ecx, dword [edi + 0x10]
movzx edx, byte [esi + 0x66]
add eax, ebx
mov dword [ebp - 0xac], ecx
mov ecx, eax
mov dword [ebp - 0xb8], ecx
mov eax, dword [edi + 8]
mov dword [ebp - 0xb0], eax
imul eax, eax, 0x28
lea eax, [eax + ecx - 0x28]
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xa8], edx
mov edi, dword [edi + 0xc]
imul edi, edi, 0x28
add edi, ebx
mov dword [ebp - 0x14], edi
mov ebx, ecx
cmp ecx, eax
jmp 0x42e19b
cmp dword [ebp - 0xac], 0
je 0x42e113
mov eax, ebx
sub eax, dword [ebp - 0xb8]
push 0x28
cdq
pop ecx
idiv ecx
mov ecx, dword [ebp - 0xac]
movzx eax, byte [eax + ecx]
push eax
mov eax, ebx
call fcn.0041cbd9
mov ebx, dword [ebp - 0xe0]
pop ecx
test word [ebx + 0x1c], 0x4000
je 0x42e12e
cmp dword [ebx + 0x18], 0
jle 0x42e12e
mov eax, ebx
call fcn.00416965
mov ebx, dword [ebp - 0xe0]
push dword [ebp - 0xa8]
mov edx, ebx
call fcn.0040a58b
pop ecx
mov dword [ebp - 0xbc], eax
call fcn.0040a578
mov dword [ebp - 0xa0], eax
cdq
add dword [ebp - 0xdc], eax
push 0
push dword [ebp - 0xbc]
adc dword [ebp - 0xd8], edx
call fcn.0040b884
add dword [ebp - 0xd4], eax
test word [ebx + 0x1c], 0x4000
pop ecx
pop ecx
je 0x42e182
mov eax, dword [ebx + 0x10]
add dword [ebp - 0xc4], eax
jmp 0x42e192
cmp dword [ebp - 0xa0], 0
je 0x42e192
and dword [ebp - 0xc4], 0
add ebx, 0x28
cmp ebx, dword [ebp - 0xb4]
mov dword [ebp - 0xe0], ebx
jbe 0x42e0e3
mov eax, dword [ebp - 0xd4]
cdq
push edx
push eax
call fcn.0040b884
mov ebx, eax
add dword [ebp - 0xd4], ebx
mov eax, dword [ebp - 0xd4]
cdq
push edx
push eax
mov dword [ebp - 0xc0], ebx
call fcn.0040b884
add esp, 0x10
cmp ebx, eax
jge 0x42e1de
inc dword [ebp - 0xd4]
mov eax, dword [ebp - 0xc4]
cdq
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xd4]
mov ecx, edx
cdq
mov ebx, eax
mov eax, dword [ebp - 0xf0]
sub ebx, eax
mov eax, ecx
mov ecx, edx
sbb ecx, eax
add ebx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xc]
adc ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xcc], ebx
mov dword [ebp - 0xc8], ecx
mov eax, dword [eax + 0x48]
cdq
cmp ecx, edx
jg 0x430fad
jl 0x42e235
cmp ebx, eax
ja 0x430fad
push 0
mov eax, ebx
call fcn.004157b6
test eax, eax
pop ecx
jne 0x4300df
mov ecx, dword [ebp - 0xd4]
mov eax, dword [edi + 4]
mov ebx, 0x80
cmp ecx, ebx
mov dword [ebp - 0xe4], eax
jae 0x42e266
mov byte [eax], cl
xor eax, eax
inc eax
jmp 0x42e26b
call fcn.0040def1
movzx eax, al
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xe0], eax
jmp 0x42e2d7
push dword [ebp - 0xa8]
mov edx, dword [ebp - 0xe0]
call fcn.0040a58b
mov edx, dword [ebp - 0xa4]
pop ecx
mov ecx, eax
cmp ecx, ebx
mov dword [ebp - 0xbc], ecx
jae 0x42e2b4
mov ecx, dword [ebp - 0xe4]
mov byte [edx + ecx], al
xor eax, eax
inc eax
jmp 0x42e2c1
mov eax, dword [ebp - 0xe4]
add eax, edx
call fcn.0040def1
movzx eax, al
add dword [ebp - 0xa4], eax
add dword [ebp - 0xe0], 0x28
mov eax, dword [ebp - 0xe0]
cmp eax, dword [ebp - 0xb4]
jbe 0x42e282
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xe0], eax
jmp 0x42e32b
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xcc]
push dword [ebp - 0xa8]
sub ecx, eax
push ecx
mov ecx, dword [ebp - 0xe4]
lea ebx, [eax + ecx]
mov eax, dword [ebp - 0xe0]
call fcn.0040cf19
add dword [ebp - 0xa4], eax
add dword [ebp - 0xe0], 0x28
mov eax, dword [ebp - 0xe0]
pop ecx
pop ecx
cmp eax, dword [ebp - 0xb4]
jbe 0x42e2ed
mov eax, dword [ebp - 0xcc]
and dword [edi + 0x20], 0
mov dword [edi + 0x18], eax
mov word [edi + 0x1c], 0x410
mov eax, dword [ebp - 0xc4]
test eax, eax
je 0x42e359
mov dword [edi + 0x10], eax
mov word [edi + 0x1c], 0x4410
mov byte [edi + 0x1f], 1
jmp case.0x42cc0a.17
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov eax, dword [eax]
test eax, eax
mov dword [ebp - 0xdc], eax
je 0x42e389
lea ecx, [ebp - 0xe4]
push ecx
call fcn.004259dd
pop ecx
mov dword [ebp - 8], eax
jmp 0x42e397
and dword [ebp - 0xe4], 0
and dword [ebp - 0xe0], 0
mov ecx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0xe0]
jmp 0x42cd19
mov eax, dword [edi + 4]
mov dword [ebp - 0xe4], eax
mov ebx, dword [edi + 0x10]
test eax, eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xe0], ebx
jne 0x42e48b
cmp dword [eax + 0x90], 0
jle 0x42e3e9
push str.cannot_open_savepoint___SQL_statements_in_progress
push eax
lea edi, [esi + 0x38]
call fcn.00416d22
pop ecx
pop ecx
jmp 0x42e695
mov ecx, ebx
call fcn.0040bc7b
mov esi, dword [ebp - 0xc]
mov dword [ebp - 0xdc], eax
add eax, 0x19
push eax
call fcn.00411592
test eax, eax
pop ecx
mov dword [ebp - 0xd8], eax
je 0x42d24a
lea ecx, [eax + 0x18]
mov dword [eax], ecx
mov eax, dword [ebp - 0xdc]
inc eax
push eax
push dword [ebp - 0xe0]
mov eax, dword [ebp - 0xd8]
push dword [eax]
call sub.msvcrt.dll_memcpy
mov eax, esi
add esp, 0xc
cmp byte [eax + 0x1c], 0
je 0x42e449
mov byte [eax + 0x1c], 0
mov byte [eax + 0x1d4], 1
jmp 0x42e44f
inc dword [eax + 0x1cc]
mov esi, dword [ebp - 0xd8]
lea ecx, [eax + 0x1c8]
mov edx, dword [ecx]
mov dword [esi + 0x10], edx
mov edx, dword [ebp - 0xd8]
mov dword [ecx], edx
mov ecx, dword [eax + 0x1d8]
mov edx, dword [ebp - 0xd8]
mov dword [edx + 8], ecx
mov eax, dword [eax + 0x1dc]
mov ecx, dword [ebp - 0xd8]
mov dword [ecx + 0xc], eax
jmp 0x42d24a
and dword [ebp - 0xcc], 0
mov edi, dword [eax + 0x1c8]
test edi, edi
mov dword [ebp - 0xd4], edi
je 0x42e4c6
mov ecx, dword [edi]
mov edx, ebx
call fcn.0040bbe5
test eax, eax
je 0x42e4c2
inc dword [ebp - 0xcc]
mov edi, dword [edi + 0x10]
test edi, edi
mov dword [ebp - 0xd4], edi
jne 0x42e4a2
test edi, edi
jne 0x42e4df
push ebx
push str.no_such_savepoint:__s
push dword [ebp - 0xc]
lea edi, [esi + 0x38]
call fcn.00416d22
add esp, 0xc
jmp 0x42e72c
mov ebx, dword [ebp - 0xc]
xor eax, eax
cmp dword [ebx + 0x90], eax
jg 0x42e66e
cmp dword [ebp - 0xe4], 2
jne 0x42e506
cmp dword [ebx + 0x8c], 1
jg 0x42e677
cmp dword [edi + 0x10], eax
jne 0x42e55b
cmp byte [ebx + 0x1d4], 0
je 0x42e55b
xor ecx, ecx
inc ecx
cmp dword [ebp - 0xe4], ecx
mov dword [ebp - 0x1c], ecx
jne 0x42e55e
push ecx
mov eax, esi
call fcn.00417b5d
test eax, eax
pop ecx
jne 0x430fff
mov edi, esi
mov byte [ebx + 0x1c], 1
call fcn.0042908b
push 5
pop ecx
cmp eax, ecx
je 0x430ebe
mov byte [ebx + 0x1d4], 0
mov eax, dword [esi + 0x5c]
mov dword [ebp - 8], eax
jmp 0x42e614
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebx + 0x1cc]
sub ecx, dword [ebp - 0xcc]
mov dword [ebp - 0xc8], eax
dec ecx
mov dword [ebp - 0xcc], ecx
cmp dword [ebx + 4], eax
jle 0x42e5c3
jmp 0x42e584
mov ecx, dword [ebp - 0xcc]
push ecx
push dword [ebp - 0xe4]
mov ecx, ebx
mov ecx, dword [ecx + 8]
shl eax, 4
mov eax, dword [eax + ecx + 4]
call fcn.004267ab
test eax, eax
pop ecx
pop ecx
mov dword [ebp - 8], eax
jne 0x430f53
mov eax, dword [ebp - 0xc8]
inc eax
mov ecx, ebx
mov dword [ebp - 0xc8], eax
cmp eax, dword [ecx + 4]
jl 0x42e57e
mov edi, dword [ebp - 0xd4]
cmp dword [ebp - 0xe4], 2
jne 0x42e61a
test word [ebx + 0xc], 0x200
je 0x42e61a
mov eax, ebx
call fcn.0040a3cc
xor eax, eax
call fcn.004151bc
or dword [ebx + 0xc], 0x200
jmp 0x42e614
mov eax, dword [ebx + 0x1c8]
mov dword [ebp - 0xd0], eax
mov eax, dword [eax + 0x10]
mov dword [ebx + 0x1c8], eax
push dword [ebp - 0xd0]
push ebx
call fcn.0040f7f3
dec dword [ebx + 0x1cc]
pop ecx
pop ecx
mov edi, dword [ebp - 0xd4]
cmp dword [ebx + 0x1c8], edi
jne 0x42e5eb
cmp dword [ebp - 0xe4], 1
jne 0x42e657
mov eax, dword [edi + 0x10]
mov dword [ebx + 0x1c8], eax
push dword [ebp - 0xd4]
push ebx
call fcn.0040f7f3
cmp dword [ebp - 0x1c], 0
pop ecx
pop ecx
jne case.0x42cc0a.17
dec dword [ebx + 0x1cc]
jmp case.0x42cc0a.17
mov eax, dword [edi + 8]
mov dword [ebx + 0x1d8], eax
mov eax, dword [edi + 0xc]
mov dword [ebx + 0x1dc], eax
jmp case.0x42cc0a.17
cmp dword [ebp - 0xe4], 2
jne 0x42e67e
mov eax, str.rollback
jmp 0x42e683
mov eax, str.release
push eax
push str.cannot__s_savepoint___SQL_statements_in_progress
push ebx
lea edi, [esi + 0x38]
call fcn.00416d22
add esp, 0xc
mov dword [ebp - 8], 5
jmp case.0x42cc0a.17
mov ecx, dword [edi + 4]
test ecx, ecx
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xe4], ecx
mov edi, dword [edi + 8]
mov dword [ebp - 0xe0], edi
je 0x42e6df
cmp byte [eax + 0x1c], 0
jne 0x42e6df
xor edx, edx
inc edx
test edi, edi
mov dword [ebp - 0xdc], edx
je 0x42e6fd
cmp dword [eax + 0x8c], edx
jle 0x42e6e6
push str.cannot_rollback_transaction___SQL_statements_in_progress
jmp 0x42e3d9
and dword [ebp - 0xdc], 0
movzx eax, byte [eax + 0x1c]
cmp ecx, eax
jne 0x430ed2
test ecx, ecx
jne 0x42e710
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x42e71e
cmp dword [eax + 0x90], 0
jle 0x42e6e6
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x42e3d9
test edi, edi
mov eax, str.cannot_rollback___no_transaction_is_active
jne 0x42e71e
mov eax, str.cannot_commit___no_transaction_is_active
push eax
push dword [ebp - 0xc]
lea edi, [esi + 0x38]
call fcn.00416d22
pop ecx
pop ecx
mov dword [ebp - 8], 1
jmp case.0x42cc0a.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 8]
shl eax, 4
mov eax, dword [eax + ecx + 4]
test eax, eax
mov dword [ebp - 0xe4], eax
je case.0x42cc0a.17
push dword [edi + 8]
push eax
call fcn.00427c3b
pop ecx
pop ecx
mov dword [ebp - 8], eax
push 5
pop eax
cmp dword [ebp - 8], eax
je 0x430f34
xor eax, eax
cmp dword [ebp - 8], eax
jne 0x430f53
cmp dword [edi + 8], eax
je case.0x42cc0a.17
cmp byte [esi + 0x68], al
je case.0x42cc0a.17
mov edi, dword [ebp - 0xc]
cmp byte [edi + 0x1c], al
je 0x42e7a2
cmp dword [edi + 0x8c], 1
jle case.0x42cc0a.17
cmp dword [esi + 0x74], eax
jne 0x42e7bc
mov ecx, dword [edi + 0x1cc]
lea eax, [edi + 0x1d0]
inc dword [eax]
mov eax, dword [eax]
add ecx, eax
mov dword [esi + 0x74], ecx
push dword [esi + 0x74]
mov eax, dword [ebp - 0xe4]
call fcn.00414967
mov dword [ebp - 8], eax
mov eax, dword [edi + 0x1d8]
mov dword [esi + 0xc0], eax
mov eax, dword [edi + 0x1dc]
pop ecx
mov dword [esi + 0xc4], eax
jmp case.0x42cc0a.17
mov eax, dword [edi + 4]
mov dword [ebp - 0xe0], eax
mov edi, dword [edi + 0xc]
lea ecx, [ebp - 0xe4]
push ecx
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0xdc], edi
mov ecx, dword [ecx + 8]
shl eax, 4
mov eax, dword [eax + ecx + 4]
call fcn.0040d05b
mov eax, dword [ebp - 0xe4]
pop ecx
jmp 0x42ccfc
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xc]
shl eax, 4
add eax, dword [ecx + 8]
mov dword [ebp - 0xe4], eax
mov esi, dword [edi + 0xc]
imul esi, esi, 0x28
add esi, dword [ebp - 0x20]
call fcn.0040ffec
push dword [esi + 0x10]
mov eax, dword [ebp - 0xe4]
push dword [edi + 8]
mov eax, dword [eax + 4]
call fcn.00420fea
mov dword [ebp - 8], eax
mov eax, dword [edi + 8]
cmp eax, 1
pop ecx
pop ecx
jne 0x42e87d
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 0xc]
mov ecx, dword [esi + 0x10]
mov dword [eax], ecx
mov eax, dword [ebp - 0xc]
or dword [eax + 0xc], 0x200
jmp 0x42e891
cmp eax, 2
jne 0x42e891
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 0xc]
mov cl, byte [esi + 0x10]
mov byte [eax + 0x48], cl
cmp dword [edi + 4], 1
jne 0x42d24a
mov eax, dword [ebp - 0xc]
call fcn.0040a3cc
mov eax, dword [ebp + 8]
mov byte [eax + 0x64], 0
mov esi, eax
jmp case.0x42cc0a.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 8]
shl eax, 4
mov eax, dword [eax + ecx + 4]
test eax, eax
mov dword [ebp - 0xe0], eax
je 0x42e8e3
lea ecx, [ebp - 0xe4]
xor edi, edi
push ecx
inc edi
call fcn.0040d05b
mov edi, dword [ebp - 0xec]
pop ecx
jmp 0x42e8ea
and dword [ebp - 0xe4], 0
mov eax, dword [ebp - 0xe4]
cmp eax, dword [edi + 8]
je case.0x42cc0a.17
push dword [esi + 0x38]
mov ebx, dword [ebp - 0xc]
push ebx
call fcn.0040f7f3
push str.database_schema_has_changed
mov edx, ebx
call fcn.00412b47
mov dword [esi + 0x38], eax
mov edi, dword [edi + 4]
mov ecx, dword [ebx + 8]
mov eax, edi
shl eax, 4
mov eax, dword [eax + ecx + 0xc]
mov eax, dword [eax]
add esp, 0xc
cmp eax, dword [ebp - 0xe4]
je 0x42e937
mov eax, edi
call fcn.004151bc
mov eax, dword [ebp - 0xc]
call fcn.0040a3cc
mov dword [ebp - 8], 0x11
jmp case.0x42cc0a.17
cmp byte [esi + 0x64], 0
je 0x42e95d
mov dword [ebp - 8], 4
jmp case.0x42cc0a.17
mov ebx, dword [ebp - 0xc]
xor ecx, ecx
mov dword [ebp - 0xe4], ecx
mov dword [ebp - 0xe0], ecx
mov edx, dword [edi + 8]
mov dword [ebp - 0xdc], edx
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xd8], eax
shl eax, 4
add eax, dword [ebx + 8]
mov dword [ebp - 0xc8], eax
mov ebx, dword [eax + 4]
mov dword [ebp - 0xd0], ebx
cmp byte [edi], 0x27
jne 0x42e9b4
mov dword [ebp - 0xd4], 1
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x48]
cmp al, byte [esi + 0x66]
jae 0x42e9bb
mov byte [esi + 0x66], al
jmp 0x42e9bb
and dword [ebp - 0xd4], 0
cmp byte [edi + 3], 0
je 0x42e9e9
imul edx, edx, 0x28
add edx, dword [ebp - 0x20]
mov esi, edx
call fcn.0040ffec
mov esi, dword [esi + 0x10]
cmp esi, 2
mov dword [ebp - 0xdc], esi
jl 0x430f42
mov ecx, dword [ebp - 0xe4]
mov esi, dword [ebp + 8]
mov al, byte [edi + 1]
cmp al, 0xfa
jne 0x42ea14
mov eax, dword [edi + 0x10]
mov ecx, dword [esi]
mov dword [ebp - 0xe0], eax
mov ecx, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov cl, byte [ecx + 0x49]
mov byte [eax + 4], cl
mov eax, dword [ebp - 0xe0]
movzx ecx, word [eax + 6]
inc ecx
jmp 0x42ea1b
cmp al, 0xf2
jne 0x42ea21
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0xe4], ecx
mov edx, dword [edi + 4]
push 1
push dword [ebp - 0xd8]
mov eax, esi
push ecx
call fcn.0042811f
add esp, 0xc
test eax, eax
mov dword [ebp - 0xcc], eax
je 0x4300df
mov byte [eax + 0x1c], 1
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x20], 1
mov eax, dword [ebp - 0xcc]
push dword [ebp - 0xe0]
mov eax, dword [eax]
mov edx, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xd0]
call fcn.0040d083
cmp eax, 0x10
mov edx, dword [ebp - 0xe0]
pop ecx
mov ecx, dword [ebp - 0xcc]
mov dword [ebp - 8], eax
mov dword [ecx + 8], edx
jne 0x42ea9d
mov eax, dword [ebp - 0xcc]
and dword [eax], 0
and dword [ebp - 8], 0
cmp byte [edi + 1], 0xfa
mov ecx, dword [ebp - 0xcc]
setne al
mov byte [ecx + 0x1e], al
mov eax, dword [ebp - 0xcc]
cmp byte [eax + 0x1e], 0
sete cl
mov byte [eax + 0x1f], cl
jmp 0x42d24a
mov edx, dword [edi + 4]
push 1
push 0xffffffffffffffff
push dword [edi + 8]
mov eax, esi
call fcn.0042811f
add esp, 0xc
test eax, eax
mov dword [ebp - 0xe4], eax
je 0x4300df
mov byte [eax + 0x1c], 1
movzx eax, byte [edi + 3]
or eax, 9
push 0x41e
push eax
mov eax, dword [ebp - 0xe4]
add eax, 4
push eax
mov eax, dword [ebp - 0xc]
push 0
call fcn.00427d8b
add esp, 0x10
test eax, eax
mov dword [ebp - 8], eax
jne 0x42ec69
mov eax, dword [ebp - 0xe4]
push 1
push dword [eax + 4]
call fcn.00427c3b
test eax, eax
pop ecx
pop ecx
mov dword [ebp - 8], eax
jne 0x42ec69
cmp dword [edi + 0x10], eax
je 0x42ec02
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 4]
lea ecx, [ebp - 0x100]
push ecx
push 2
pop ecx
call fcn.00423279
test eax, eax
pop ecx
mov dword [ebp - 8], eax
jne 0x42ebf6
mov ecx, dword [ebp - 0xe4]
mov edx, dword [edi + 0x10]
mov eax, dword [ecx]
mov dword [ebp - 0xf0], edx
mov edx, dword [ecx + 4]
mov ecx, dword [edx + 4]
cmp byte [ecx + 0x10], 0
je 0x42eb83
push 8
pop eax
jmp 0x42ebd0
mov ebx, dword [ebp - 0x100]
cmp ebx, 1
jne 0x42eb98
cmp dword [ecx + 0x2c], 0
jne 0x42eb98
push 0x10
jmp 0x42eb80
or word [eax + 0x5a], 0xffff
mov dword [eax + 0x14], ebx
mov ebx, dword [ebp - 0xf0]
mov dword [eax + 0x10], ebx
mov dword [eax], edx
mov dword [eax + 4], ecx
mov byte [eax + 0x50], 1
mov edx, dword [ecx + 8]
test edx, edx
mov dword [eax + 8], edx
je 0x42ebbf
mov dword [edx + 0xc], eax
mov dword [ecx + 8], eax
and dword [eax + 0x18], 0
and dword [eax + 0x1c], 0
mov byte [eax + 0x53], 0
xor eax, eax
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 8], eax
mov eax, dword [edi + 0x10]
mov dword [ecx + 8], eax
mov eax, dword [esi]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0xe4]
mov ecx, dword [ecx + 8]
mov al, byte [eax + 0x49]
mov byte [ecx + 4], al
mov eax, dword [ebp - 0xe4]
mov byte [eax + 0x1e], 0
jmp 0x42ec69
mov ebx, dword [ebp - 0xe4]
mov edx, dword [ebx + 4]
mov ecx, dword [edx + 4]
cmp byte [ecx + 0x10], 0
mov eax, dword [ebx]
je 0x42ec1b
push 8
pop eax
jmp 0x42ec62
cmp dword [ecx + 0x2c], 0
jne 0x42ec25
push 0x10
jmp 0x42ec18
or word [eax + 0x5a], 0xffff
and dword [eax + 0x10], 0
mov dword [eax + 0x14], 1
mov dword [eax], edx
mov dword [eax + 4], ecx
mov byte [eax + 0x50], 1
mov edx, dword [ecx + 8]
test edx, edx
mov dword [eax + 8], edx
je 0x42ec4b
mov dword [edx + 0xc], eax
mov dword [ecx + 8], eax
and dword [eax + 0x18], 0
and dword [eax + 0x1c], 0
mov byte [eax + 0x53], 0
mov ebx, dword [ebp - 0xe4]
xor eax, eax
mov dword [ebp - 8], eax
mov byte [ebx + 0x1e], 1
cmp byte [edi + 3], 0x10
mov ecx, dword [ebp - 0xe4]
setne al
mov byte [ecx + 0x20], al
mov eax, dword [ebp - 0xe4]
cmp byte [eax + 0x1e], 0
sete cl
jmp 0x42cd56
mov edx, dword [edi + 4]
push 0
push 0xffffffffffffffff
push dword [edi + 0xc]
mov eax, esi
call fcn.0042811f
add esp, 0xc
test eax, eax
mov dword [ebp - 0xe4], eax
je 0x4300df
mov byte [eax + 0x1c], 1
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 0xe4]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xe4]
mov byte [eax + 0x1e], 1
mov eax, dword [ebp - 0xe4]
mov byte [eax + 0x1f], 0
jmp case.0x42cc0a.17
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov ebx, esi
call fcn.004277f8
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
and dword [ecx + eax*4], 0
jmp case.0x42cc0a.17
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xdc], eax
cmp dword [eax], 0
je 0x42cc22
movzx ecx, byte [edi]
mov dword [ebp - 0xe0], ecx
mov byte [eax + 0x1c], 0
mov ecx, dword [ebp - 0xdc]
cmp byte [ecx + 0x1e], 0
je 0x42eeef
mov esi, dword [edi + 0xc]
imul esi, esi, 0x28
add esi, dword [ebp - 0x20]
call fcn.0040ebdd
mov edx, esi
call fcn.0040ec9c
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xb0], edx
mov byte [eax + 0x19], 0
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x42ee7f
test al, 8
jne 0x42ed71
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0x10], edi
jmp 0x42d24a
xor ebx, ebx
cmp dword [ebp - 0xb4], ebx
jne 0x42ee20
mov eax, 0x80000000
cmp dword [ebp - 0xb0], eax
jne 0x42ee20
mov ecx, dword [esi + 0xc]
cmp ecx, eax
mov edx, dword [esi + 8]
jl 0x42edaa
jg 0x42eda0
cmp edx, ebx
jb 0x42edaa
cmp ecx, ebx
jl 0x42ee20
jg 0x42edaa
cmp edx, ebx
jbe 0x42ee20
mov dword [ebp - 0xe4], 1
cmp dword [esi + 0xc], ebx
jg 0x42edde
jl 0x42edc0
cmp dword [esi + 8], ebx
jae 0x42edde
cmp dword [ebp - 0xe0], 0x2e
jl 0x42ed65
mov eax, dword [ebp - 0xdc]
mov esi, dword [eax]
lea edi, [ebp - 0xe4]
call fcn.00425ec6
jmp 0x42edfe
cmp dword [ebp - 0xe0], 0x2d
jg 0x42ed65
mov eax, dword [ebp - 0xdc]
mov esi, dword [eax]
lea edi, [ebp - 0xe4]
call fcn.00425e89
cmp eax, ebx
mov dword [ebp - 8], eax
jne 0x430f50
cmp dword [ebp - 0xe4], ebx
je 0x42d24a
mov edi, dword [ebp - 0xec]
jmp 0x42ed65
cmp dword [ebp - 0xe0], 0x2c
je 0x42ee5a
cmp dword [ebp - 0xe0], 0x2e
je 0x42ee5a
mov eax, dword [esi + 0xc]
cmp eax, dword [ebp - 0xb0]
jg 0x42ee7f
jl 0x42ee4a
mov eax, dword [esi + 8]
cmp eax, dword [ebp - 0xb4]
jae 0x42ee7f
add dword [ebp - 0xb4], 0xffffffff
adc dword [ebp - 0xb0], 0xffffffff
jmp 0x42ee7f
mov eax, dword [esi + 0xc]
cmp eax, dword [ebp - 0xb0]
jl 0x42ee7f
jg 0x42ee72
mov eax, dword [esi + 8]
cmp eax, dword [ebp - 0xb4]
jbe 0x42ee7f
add dword [ebp - 0xb4], 1
adc dword [ebp - 0xb0], ebx
lea eax, [ebp - 0xe4]
push eax
mov eax, dword [ebp - 0xdc]
mov ebx, dword [eax]
push 0
push dword [ebp - 0xb0]
push dword [ebp - 0xb4]
push 0
call fcn.00425bba
add esp, 0x14
test eax, eax
mov dword [ebp - 8], eax
jne 0x430f50
mov esi, dword [ebp + 8]
xor ebx, ebx
cmp dword [ebp - 0xe4], ebx
jne 0x42ef78
mov eax, dword [ebp - 0xdc]
mov byte [eax + 0x19], 1
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xdc]
mov dword [ecx + 0x40], eax
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xdc]
mov dword [ecx + 0x44], eax
jmp 0x42ef78
mov eax, dword [edi + 0x10]
mov dword [ebp - 0xbc], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0xd4], eax
mov ax, word [ebp - 0xbc]
mov word [ebp - 0xd0], ax
movzx eax, byte [ebp - 0xe0]
and eax, 1
shl eax, 3
mov word [ebp - 0xce], ax
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, ebx
mov dword [ebp - 0xc4], eax
test word [eax + 0x1c], 0x4000
je 0x42ef44
call fcn.00416965
mov ecx, dword [ebp - 0xdc]
mov ebx, dword [ecx]
lea eax, [ebp - 0xe4]
push eax
xor eax, eax
push eax
push eax
push eax
lea eax, [ebp - 0xd4]
push eax
call fcn.00425bba
add esp, 0x14
test eax, eax
mov dword [ebp - 8], eax
jne 0x430f53
mov eax, dword [ebp - 0xdc]
mov byte [eax + 0x19], 0
xor ebx, ebx
mov eax, dword [ebp - 0xdc]
mov byte [eax + 0x1d], bl
mov eax, dword [ebp - 0xdc]
mov dword [eax + 0x4c], ebx
cmp dword [ebp - 0xe0], 0x2e
jl 0x42efc7
cmp dword [ebp - 0xe4], ebx
jl 0x42efb1
jne 0x42efa6
cmp dword [ebp - 0xe0], 0x2f
je 0x42efb1
mov dword [ebp - 0xe4], ebx
jmp case.0x42cc0a.17
lea eax, [ebp - 0xe4]
push eax
mov eax, dword [ebp - 0xdc]
push dword [eax]
call fcn.00427adc
jmp 0x42f007
cmp dword [ebp - 0xe4], ebx
jg 0x42eff3
jne 0x42efda
cmp dword [ebp - 0xe0], 0x2c
je 0x42eff3
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax]
xor ecx, ecx
cmp byte [eax + 0x53], 1
setne cl
mov dword [ebp - 0xe4], ecx
jmp 0x42f01f
lea eax, [ebp - 0xe4]
push eax
mov eax, dword [ebp - 0xdc]
push dword [eax]
call fcn.004279e2
cmp eax, ebx
pop ecx
mov dword [ebp - 8], eax
pop ecx
jne 0x430f53
mov eax, dword [ebp - 0xdc]
xor ebx, ebx
mov byte [eax + 0x19], bl
cmp dword [ebp - 0xe4], ebx
jmp 0x42d72a
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xe4], eax
cmp dword [eax], 0
je case.0x42cc0a.17
mov byte [eax + 0x1c], 0
mov edi, dword [edi + 8]
imul edi, edi, 0x28
add edi, ebx
mov edx, edi
call fcn.0040ec9c
mov ecx, dword [ebp - 0xe4]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 0xe4]
mov dword [eax + 0x3c], edx
mov eax, dword [ebp - 0xe4]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xe4]
mov byte [eax + 0x1d], 1
jmp case.0x42cc0a.17
mov ecx, dword [esi + 0x44]
xor edx, edx
mov dword [ebp - 0xe4], edx
mov eax, dword [edi + 4]
mov ecx, dword [ecx + eax*4]
mov dword [ebp - 0xe0], ecx
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, ebx
cmp dword [ecx], edx
je 0x42f175
cmp dword [edi + 0x10], edx
jle 0x42f0dd
mov edx, dword [ecx + 8]
mov dword [ebp - 0xd4], edx
mov dx, word [edi + 0x10]
mov dword [ebp - 0xc4], eax
lea eax, [ebp - 0xd4]
mov word [ebp - 0xd0], dx
mov word [ebp - 0xce], 0x10
mov dword [ebp - 0xd8], eax
jmp 0x42f111
push dword [eax + 4]
mov ebx, dword [ecx + 8]
push dword [eax + 0x18]
mov edx, 0x97
lea eax, [ebp - 0xbc]
call fcn.00411efa
test eax, eax
pop ecx
pop ecx
mov dword [ebp - 0xd8], eax
je 0x4300df
or word [eax + 6], 0x10
mov ecx, dword [ebp - 0xe0]
mov ebx, dword [ecx]
lea eax, [ebp - 0xdc]
push eax
xor eax, eax
push eax
push eax
push eax
push dword [ebp - 0xd8]
call fcn.00425bba
add esp, 0x14
cmp dword [edi + 0x10], 0
mov dword [ebp - 8], eax
jne 0x42f144
mov esi, dword [ebp - 0xd8]
call fcn.00413446
mov esi, dword [ebp + 8]
cmp dword [ebp - 8], 0
jne case.0x42cc0a.17
xor ecx, ecx
xor eax, eax
cmp dword [ebp - 0xdc], eax
sete cl
xor edx, edx
mov dword [ebp - 0xe4], ecx
mov ecx, dword [ebp - 0xe0]
mov byte [ecx + 0x1d], al
mov ecx, dword [ebp - 0xe0]
mov dword [ecx + 0x4c], eax
cmp byte [edi], 0x32
jne 0x42f185
cmp dword [ebp - 0xe4], edx
jmp 0x42d72a
cmp dword [ebp - 0xe4], edx
jmp 0x42dacd
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
mov ecx, dword [esi + 0x44]
add eax, ebx
mov dword [ebp - 0x1c], eax
mov eax, dword [edi + 0x10]
imul eax, eax, 0x28
add eax, ebx
mov dword [ebp - 0xd4], eax
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xe0], eax
xor edx, edx
mov dword [eax + 0x48], edx
mov eax, dword [ebp - 0xe0]
mov dword [eax + 0x4c], edx
mov eax, dword [ebp - 0xe0]
mov ecx, dword [eax]
mov dword [ebp - 0xdc], ecx
mov ecx, dword [eax + 8]
mov cx, word [ecx + 6]
mov word [ebp - 0xe4], dx
cmp cx, dx
mov edx, dword [ebp - 0xd4]
mov word [ebp - 0xd8], cx
jbe 0x42f225
movzx ebx, word [ebp - 0xe4]
imul ebx, ebx, 0x28
test byte [ebx + edx + 0x1c], 1
jne 0x42f217
inc word [ebp - 0xe4]
cmp word [ebp - 0xe4], cx
jb 0x42f1f4
jmp 0x42f225
mov ecx, dword [edi + 8]
dec ecx
and dword [ebp - 0xdc], 0
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0xdc], 0
je case.0x42cc0a.17
mov eax, dword [eax + 8]
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xd8]
inc eax
mov word [ebp - 0xc8], ax
mov word [ebp - 0xc6], 0x20
mov dword [ebp - 0xbc], edx
call fcn.0040ffec
mov eax, dword [esi + 0x10]
mov ebx, dword [ebp - 0xdc]
mov dword [ebp - 0xb4], eax
mov eax, dword [esi + 0x14]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xe0]
add eax, 0x48
push eax
xor eax, eax
push eax
push eax
push eax
lea eax, [ebp - 0xcc]
push eax
call fcn.00425bba
add esp, 0x14
test byte [ebp - 0xc6], 0x20
mov dword [ebp - 8], eax
jne 0x42ed65
mov ecx, dword [ebp - 0xc4]
cmp ecx, dword [ebp - 0xb4]
jne 0x42f2c6
mov eax, dword [ebp - 0xc0]
cmp eax, dword [ebp - 0xb0]
je 0x42ed65
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0xc0]
mov dword [eax + 0x14], ecx
jmp 0x42d24a
mov eax, dword [edi + 0xc]
mov ecx, dword [esi + 0x44]
imul eax, eax, 0x28
add eax, ebx
mov dword [ebp - 0x1c], eax
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xe4], eax
mov ebx, dword [eax]
test ebx, ebx
mov dword [ebp - 0xe0], ebx
je 0x42f3a1
and dword [ebp - 0xdc], 0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x10]
lea edx, [ebp - 0xdc]
push edx
mov dword [ebp - 0xd4], ecx
mov eax, dword [eax + 0x14]
push 0
push eax
push ecx
push 0
mov dword [ebp - 0xd0], eax
call fcn.00425bba
mov edx, dword [ebp - 0xe4]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x10]
mov dword [edx + 0x40], ecx
mov ecx, dword [ebp - 0xe4]
mov eax, dword [eax + 0x14]
mov dword [ecx + 0x44], eax
mov edx, dword [ebp - 0xe4]
xor eax, eax
add esp, 0x14
cmp dword [ebp - 0xdc], eax
sete cl
mov byte [edx + 0x19], cl
mov ecx, dword [ebp - 0xe4]
mov byte [ecx + 0x1c], al
mov ecx, dword [ebp - 0xe4]
mov dword [ecx + 0x4c], eax
mov ecx, dword [ebp - 0xe4]
mov byte [ecx + 0x1d], al
mov ecx, dword [ebp - 0xdc]
cmp ecx, eax
je 0x42f393
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0x10], edi
mov eax, dword [ebp - 0xe4]
mov dword [eax + 0x48], ecx
jmp case.0x42cc0a.17
mov edi, dword [edi + 8]
dec edi
and dword [eax + 0x48], 0
mov dword [ebp - 0x10], edi
jmp case.0x42cc0a.17
mov ecx, dword [esi + 0x44]
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov edx, dword [eax + 0x30]
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x10], edx
mov eax, dword [eax + 0x34]
mov dword [ecx + 0x14], eax
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
add dword [eax + 0x30], 1
adc dword [eax + 0x34], 0
jmp case.0x42cc0a.17
mov edx, dword [esi + 0x44]
xor ecx, ecx
mov dword [ebp - 0xe4], ecx
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0xd8], ecx
mov eax, dword [edi + 4]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xdc], eax
cmp dword [eax], ecx
je 0x42e397
mov dword [ebp - 0xd4], ecx
cmp byte [eax + 0x1b], cl
jne 0x42f501
mov ecx, dword [eax]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0xe4], edx
mov ecx, dword [ecx + 0x1c]
or edx, ecx
mov dword [ebp - 0xe0], ecx
jne 0x42f4ba
mov esi, dword [eax]
lea edi, [ebp - 0xd8]
call fcn.00425e89
test eax, eax
mov dword [ebp - 8], eax
jne 0x430f50
cmp dword [ebp - 0xd8], 0
mov eax, dword [ebp - 0xdc]
je 0x42f472
mov esi, dword [ebp + 8]
xor ecx, ecx
inc ecx
xor edx, edx
mov dword [ebp - 0xe4], ecx
mov dword [ebp - 0xe0], edx
jmp 0x42f4d9
mov eax, dword [eax]
lea edi, [ebp - 0xe4]
call fcn.00412324
cmp dword [ebp - 0xe4], 0xffffffff
mov dword [ebp - 8], eax
jne 0x42f4a3
cmp dword [ebp - 0xe0], 0x7fffffff
jne 0x42f4a3
mov eax, dword [ebp - 0xdc]
mov byte [eax + 0x1b], 1
jmp 0x42f4b1
add dword [ebp - 0xe4], 1
adc dword [ebp - 0xe0], 0
mov esi, dword [ebp + 8]
mov eax, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xe0]
cmp edx, 0x7fffffff
jg 0x42f4e1
jl 0x42f4d3
cmp dword [ebp - 0xe4], 0xffffffff
jae 0x42f4e1
mov ecx, dword [ebp - 0xe4]
add ecx, 1
adc edx, 0
jmp 0x42f4e5
xor ecx, ecx
xor edx, edx
push edx
push ecx
mov ecx, dword [eax]
call fcn.0040a951
mov eax, dword [ebp - 0xdc]
add esp, 8
cmp byte [eax + 0x1b], 0
je 0x42f5fc
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x30]
mov ecx, dword [ecx + 0x34]
push 0
pop ebx
and ecx, 0x3fffffff
add edx, 1
lea edi, [ebp - 0xd8]
push edi
adc ecx, ebx
push ebx
push ecx
push edx
mov dword [ebp - 0xe4], edx
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0xd4], ebx
push ebx
mov ebx, dword [eax]
call fcn.00425bba
xor edi, edi
add esp, 0x14
cmp eax, edi
mov dword [ebp - 8], eax
jne 0x42f5f6
cmp dword [ebp - 0xd8], edi
jne 0x42f5e5
inc dword [ebp - 0xd4]
cmp dword [ebp - 0xd4], 0x64
jge 0x42f5e5
push 8
lea eax, [ebp - 0xe4]
call fcn.0040f7bf
cmp dword [ebp - 0xd4], 5
pop ecx
jge 0x42f590
and dword [ebp - 0xe4], 0xffffff
mov dword [ebp - 0xe0], edi
jmp 0x42f5a6
mov eax, dword [ebp - 0xe4]
and dword [ebp - 0xe0], 0x3fffffff
mov dword [ebp - 0xe4], eax
add dword [ebp - 0xe4], 1
lea eax, [ebp - 0xd8]
push eax
adc dword [ebp - 0xe0], edi
mov eax, dword [ebp - 0xdc]
mov ebx, dword [eax]
push edi
push dword [ebp - 0xe0]
push dword [ebp - 0xe4]
push edi
call fcn.00425bba
add esp, 0x14
xor edi, edi
test eax, eax
mov dword [ebp - 8], eax
je 0x42f54c
cmp dword [ebp - 8], edi
jne 0x42f5f6
cmp dword [ebp - 0xd8], edi
je 0x430f88
mov eax, dword [ebp - 0xdc]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xdc]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xdc]
and dword [eax + 0x4c], 0
jmp 0x42e397
mov ecx, dword [edi + 8]
mov edx, dword [esi + 0x44]
imul ecx, ecx, 0x28
add ecx, ebx
mov dword [ebp - 0xe4], ecx
mov eax, dword [edi + 4]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xd4], eax
cmp byte [edi], 0x37
jne 0x42f657
mov edx, dword [edi + 0xc]
imul edx, edx, 0x28
add edx, ebx
mov dword [ebp - 0xe0], edx
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xdc], eax
mov edx, dword [edx + 0x14]
jmp 0x42f661
mov eax, dword [edi + 0xc]
cdq
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd8], edx
test byte [edi + 3], 1
je 0x42f670
inc dword [esi + 0x6c]
test byte [edi + 3], 2
je 0x42f68b
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x30], eax
mov eax, dword [ebp - 0xd8]
mov dword [ecx + 0x34], eax
mov ecx, dword [ebp - 0xe4]
test byte [ecx + 0x1c], 1
je 0x42f6a5
and dword [ecx + 4], 0
mov eax, dword [ebp - 0xe4]
and dword [eax + 0x18], 0
mov ecx, dword [ebp - 0xe4]
test byte [edi + 3], 0x10
je 0x42f6bc
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + 0x48]
mov dword [ebp - 0xcc], eax
jmp 0x42f6c3
and dword [ebp - 0xcc], 0
test word [ecx + 0x1c], 0x4000
je 0x42f6d6
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0xd0], eax
jmp 0x42f6dd
and dword [ebp - 0xd0], 0
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax]
xor ebx, ebx
push ebx
push ebx
call fcn.0040a951
push dword [ebp - 0xcc]
movzx eax, byte [edi + 3]
and eax, 8
push eax
push dword [ebp - 0xd0]
mov eax, dword [ebp - 0xe4]
push dword [eax + 0x18]
push dword [eax + 4]
mov eax, dword [ebp - 0xd4]
push dword [ebp - 0xd8]
push dword [ebp - 0xdc]
push ebx
mov ebx, dword [eax]
call fcn.004265f7
mov ecx, dword [ebp - 0xd4]
mov dword [ebp - 8], eax
xor eax, eax
mov byte [ecx + 0x19], al
mov ecx, dword [ebp - 0xd4]
mov byte [ecx + 0x1d], al
mov ecx, dword [ebp - 0xd4]
add esp, 0x28
cmp dword [ebp - 8], eax
mov dword [ecx + 0x4c], eax
jne case.0x42cc0a.17
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0xbc], 0
je case.0x42cc0a.17
cmp dword [edi + 0x10], 0
je case.0x42cc0a.17
mov ecx, dword [ebp - 0xd4]
mov ecx, dword [ecx + 0xc]
mov edx, dword [eax + 8]
push dword [ebp - 0xd8]
shl ecx, 4
mov ecx, dword [ecx + edx]
push dword [ebp - 0xdc]
mov dword [ebp - 0xc8], ecx
mov edx, dword [edi + 0x10]
mov dword [ebp - 0xc4], edx
mov bl, byte [edi + 3]
and bl, 4
neg bl
push edx
push ecx
sbb ebx, ebx
and ebx, 5
add ebx, 0x12
mov dword [ebp - 0xc0], ebx
push ebx
push dword [eax + 0xb8]
call dword [eax + 0xbc]
add esp, 0x18
jmp case.0x42cc0a.17
mov edx, dword [esi + 0x44]
xor eax, eax
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xe0], eax
mov ecx, dword [edi + 4]
mov esi, dword [edx + ecx*4]
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0xdc], esi
cmp dword [ecx + 0xbc], eax
je 0x42f807
cmp dword [edi + 0x10], eax
je 0x42f807
mov eax, dword [esi + 0x40]
mov dword [ebp - 0xe4], eax
mov eax, dword [esi + 0x44]
mov dword [ebp - 0xe0], eax
call fcn.004281da
test eax, eax
mov dword [ebp - 8], eax
jne 0x430f50
push eax
push eax
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax]
call fcn.0040a951
mov eax, dword [ebp - 0xdc]
mov ebx, dword [eax]
add esp, 8
call fcn.0042876d
mov ecx, dword [ebp - 0xdc]
and dword [ecx + 0x4c], 0
test eax, eax
mov dword [ebp - 8], eax
jne 0x42f887
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0xbc]
test edx, edx
je 0x42f887
mov ecx, dword [edi + 0x10]
test ecx, ecx
je 0x42f887
push dword [ebp - 0xe0]
mov esi, dword [eax + 8]
push dword [ebp - 0xe4]
push ecx
mov ecx, dword [ebp - 0xdc]
mov ecx, dword [ecx + 0xc]
shl ecx, 4
push dword [ecx + esi]
push 9
push dword [eax + 0xb8]
call edx
add esp, 0x18
test byte [edi + 8], 1
je 0x42d24a
mov eax, dword [ebp + 8]
inc dword [eax + 0x6c]
jmp 0x42e8aa
mov eax, dword [esi + 0x6c]
mov ecx, dword [ebp - 0xc]
add dword [ecx + 0x40], eax
mov dword [ecx + 0x3c], eax
and dword [esi + 0x6c], 0
jmp case.0x42cc0a.17
mov ebx, dword [edi + 8]
mov eax, dword [edi + 4]
imul ebx, ebx, 0x28
mov ecx, dword [esi + 0x44]
mov esi, dword [ecx + eax*4]
add ebx, dword [ebp - 0x20]
mov dword [ebp - 0xe4], esi
mov eax, dword [esi]
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0xe0], eax
call fcn.004281da
test eax, eax
mov dword [ebp - 8], eax
jne 0x430f50
mov eax, dword [ebp - 0xe4]
cmp byte [eax + 0x1f], 0
je 0x42f930
mov eax, dword [ebp - 0xe0]
lea edi, [ebp - 0xd4]
call fcn.00412324
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x48]
cdq
mov ecx, eax
mov eax, dword [ebp - 0xd0]
cmp eax, edx
jg 0x430faa
mov eax, dword [ebp - 0xd4]
jl 0x42f928
cmp eax, ecx
ja 0x430faa
mov dword [ebp - 0xdc], eax
jmp 0x42f955
lea eax, [ebp - 0xdc]
push eax
mov eax, dword [ebp - 0xe0]
call fcn.0041230f
mov eax, dword [ebp - 0xdc]
pop ecx
mov ecx, dword [ebp - 0xc]
cmp eax, dword [ecx + 0x48]
ja 0x430faa
push 0
mov edi, ebx
call fcn.004157b6
test eax, eax
pop ecx
jne 0x4300dc
mov eax, dword [ebp - 0xdc]
push dword [ebx + 4]
mov dword [ebx + 0x18], eax
mov ax, word [ebx + 0x1c]
and ax, 0xbf10
or ax, 0x10
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0xe4]
cmp byte [eax + 0x1f], 0
push dword [ebp - 0xdc]
push 0
je 0x42f9a7
mov eax, dword [ebp - 0xe0]
call fcn.00424c05
add esp, 0xc
jmp 0x42f9b5
push dword [ebp - 0xe0]
call fcn.00427be6
add esp, 0x10
mov dword [ebp - 8], eax
mov byte [ebx + 0x1f], 1
jmp 0x42d24a
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xe4], eax
cmp byte [eax + 0x1c], 0
jne case.0x42cc0a.10
cmp byte [eax + 0x1d], 0
je 0x42f9f7
mov ecx, dword [eax + 0x38]
mov dword [ebp - 0xdc], ecx
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0xd8], eax
jmp 0x42fa79
cmp dword [eax + 0x24], 0
je 0x42fa34
mov ecx, dword [eax + 0x24]
mov ecx, dword [ecx]
mov dword [ebp - 0xd4], ecx
mov ecx, dword [ecx]
lea edx, [ebp - 0xdc]
push edx
mov dword [ebp - 0xd0], ecx
push dword [eax + 0x24]
call dword [ecx + 0x30]
mov esi, dword [ebp - 0xd4]
mov edi, dword [ebp + 8]
pop ecx
pop ecx
mov dword [ebp - 8], eax
call fcn.0041341c
mov esi, edi
jmp 0x42fa79
mov esi, eax
call fcn.004281da
test eax, eax
mov dword [ebp - 8], eax
jne 0x430f50
mov eax, dword [ebp - 0xe4]
cmp byte [eax + 0x19], 0
je 0x42fa66
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0xdc], ecx
mov eax, dword [eax + 0x44]
mov dword [ebp - 0xd8], eax
jmp 0x42fa76
mov eax, dword [eax]
lea edi, [ebp - 0xdc]
call fcn.00412324
mov dword [ebp - 8], eax
mov esi, dword [ebp + 8]
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0xd8]
jmp 0x42cd19
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xe4], eax
mov byte [eax + 0x1c], 1
mov eax, dword [ebp - 0xe4]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax]
test eax, eax
je case.0x42cc0a.17
mov esi, eax
call fcn.0040eef7
jmp 0x42d24a
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xe4], eax
mov ecx, dword [eax]
test ecx, ecx
mov dword [ebp - 0xe0], ecx
jne 0x42faf0
mov dword [ebp - 0xdc], 1
jmp 0x42fb0f
lea edi, [ebp - 0xdc]
mov esi, ecx
call fcn.00425e89
mov edi, dword [ebp - 0xec]
mov esi, dword [ebp + 8]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xe4]
mov cl, byte [ebp - 0xdc]
mov byte [eax + 0x1c], cl
mov eax, dword [ebp - 0xe4]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xe4]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xe4]
and dword [eax + 0x4c], 0
mov edi, dword [edi + 8]
test edi, edi
jle case.0x42cc0a.17
cmp dword [ebp - 0xdc], 0
je case.0x42cc0a.17
jmp 0x42cc25
inc dword [esi + 0x7c]
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xdc], 1
mov ecx, dword [eax]
test ecx, ecx
mov dword [ebp - 0xe0], ecx
je 0x42fbcb
lea edi, [ebp - 0xdc]
mov esi, ecx
call fcn.00425ec6
cmp dword [ebp - 0xdc], 0
mov ecx, dword [ebp - 0xe4]
mov edi, dword [ebp - 0xec]
mov esi, dword [ebp + 8]
mov dword [ebp - 8], eax
sete al
mov byte [ecx + 0x1a], al
mov eax, dword [ebp - 0xe4]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xe4]
and dword [eax + 0x4c], 0
mov eax, dword [ebp - 0xe4]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xe4]
mov cl, byte [ebp - 0xdc]
mov byte [eax + 0x1c], cl
cmp dword [ebp - 0xdc], 0
jmp 0x42d72a
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0xe0]
test eax, eax
jne 0x430f91
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
test eax, eax
mov dword [ebp - 0xe4], eax
je case.0x42cc0a.17
mov ecx, dword [eax]
test ecx, ecx
mov dword [ebp - 0xe0], ecx
jne 0x42fc1d
mov byte [eax + 0x1c], 1
jmp case.0x42cc0a.17
lea eax, [ebp - 0xdc]
mov dword [ebp - 0xdc], 1
cmp byte [edi], 0x43
push eax
push ecx
jne 0x42fc3b
call fcn.00427adc
jmp 0x42fc40
call fcn.004279e2
pop ecx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xe4]
pop ecx
mov cl, byte [ebp - 0xdc]
mov byte [eax + 0x1c], cl
mov eax, dword [ebp - 0xe4]
and dword [eax + 0x4c], 0
cmp dword [ebp - 0xdc], 0
jne 0x42fc7e
mov eax, dword [edi + 8]
dec eax
mov dword [ebp - 0x10], eax
mov al, byte [edi + 3]
test al, al
je 0x42fc7e
movzx eax, al
lea eax, [esi + eax*4 + 0x74]
inc dword [eax]
mov eax, dword [ebp - 0xe4]
mov byte [eax + 0x19], 0
jmp case.0x42cc0a.17
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
mov ecx, dword [ecx + eax*4]
mov dword [ebp - 0xe4], ecx
mov eax, dword [edi + 8]
mov edx, dword [ecx]
imul eax, eax, 0x28
add eax, ebx
test edx, edx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe0], edx
je case.0x42cc0a.17
test word [eax + 0x1c], 0x4000
mov ebx, eax
je 0x42fcd1
call fcn.00416965
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 8], eax
jmp 0x42fcd5
and dword [ebp - 8], 0
cmp dword [ebp - 8], 0
jne case.0x42cc0a.17
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0xdc], eax
mov ebx, dword [ebx + 4]
mov dword [ebp - 0xd8], ebx
test byte [edi + 3], 0x10
je 0x42fcfc
mov ecx, dword [ecx + 0x48]
jmp 0x42fcfe
xor ecx, ecx
push ecx
push dword [edi + 0xc]
cdq
push 0
push 0
push 0x452564
push edx
push eax
push ebx
mov ebx, dword [ebp - 0xe0]
call fcn.004265f7
add esp, 0x20
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xe4]
and dword [eax + 0x4c], 0
jmp case.0x42cc0a.17
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xe4], eax
mov ebx, dword [eax]
test ebx, ebx
mov dword [ebp - 0xe0], ebx
je case.0x42cc0a.17
mov eax, dword [eax + 8]
mov dword [ebp - 0xd4], eax
mov ax, word [edi + 0xc]
mov word [ebp - 0xd0], ax
xor eax, eax
mov word [ebp - 0xce], ax
mov ecx, dword [edi + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0xc4], ecx
lea ecx, [ebp - 0xdc]
push ecx
push eax
push eax
push eax
lea eax, [ebp - 0xd4]
push eax
call fcn.00425bba
add esp, 0x14
test eax, eax
mov dword [ebp - 8], eax
jne 0x42fd20
cmp dword [ebp - 0xdc], eax
jne 0x42fd20
mov ebx, dword [ebp - 0xe0]
call fcn.0042876d
jmp 0x42fd1d
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xe0], eax
mov eax, dword [eax]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0x14]
mov word [eax + 0x1c], 1
cmp dword [ebp - 0xe4], 0
je case.0x42cc0a.17
mov esi, dword [ebp - 0xe0]
call fcn.004281da
test eax, eax
mov dword [ebp - 8], eax
jne 0x430f50
mov eax, dword [ebp - 0xe0]
cmp byte [eax + 0x1c], 0
jne 0x42d24a
lea eax, [ebp - 0xdc]
push eax
push dword [ebp - 0xe4]
call fcn.00428fa9
test eax, eax
pop ecx
pop ecx
mov dword [ebp - 8], eax
jne 0x430f50
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0xd8]
mov dword [eax + 0x14], ecx
mov word [eax + 0x1c], 4
jmp 0x42d24a
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xe4], eax
cmp dword [eax], 0
je case.0x42cc0a.17
mov ecx, dword [eax + 8]
mov dword [ebp - 0xdc], ecx
mov cx, word [edi + 0x10]
mov word [ebp - 0xd8], cx
xor ecx, ecx
cmp byte [edi + 3], cl
setne cl
lea ecx, [ecx*8 + 4]
mov word [ebp - 0xd6], cx
mov ecx, dword [edi + 0xc]
imul ecx, ecx, 0x28
add ecx, ebx
mov dword [ebp - 0xcc], ecx
lea ecx, [ebp - 0xe0]
push ecx
lea ecx, [ebp - 0xdc]
push ecx
call fcn.00428f1a
cmp byte [edi], 0x51
pop ecx
pop ecx
mov dword [ebp - 8], eax
jne 0x42febd
neg dword [ebp - 0xe0]
jmp 0x42fec3
inc dword [ebp - 0xe0]
cmp dword [ebp - 0xe0], 0
jle case.0x42cc0a.17
jmp 0x42cc22
mov eax, dword [ebp - 0xc]
and dword [ebp - 0xe0], 0
mov eax, dword [eax + 0x88]
jmp 0x42ff05
cmp dword [eax + 0x34], 0xbdf20da3
jne 0x42ff02
cmp byte [eax + 0x67], 2
jae 0x42ff02
cmp dword [eax + 0x58], 0
jl 0x42ff02
inc dword [ebp - 0xe0]
mov eax, dword [eax + 0x40]
test eax, eax
mov dword [ebp - 0xdc], eax
jne 0x42fee7
mov eax, dword [ebp - 0x14]
mov word [eax + 0x1c], 1
cmp dword [ebp - 0xe0], 1
jle 0x42ff31
mov dword [ebp - 8], 6
mov byte [esi + 0x60], 2
jmp case.0x42cc0a.17
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0xd8], eax
mov ecx, dword [ecx + 8]
mov edi, dword [edi + 4]
shl eax, 4
mov eax, dword [eax + ecx + 4]
lea ecx, [ebp - 0xe4]
push ecx
push edi
mov ebx, eax
call fcn.0042796a
pop ecx
pop ecx
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 8], eax
mov word [ecx + 0x1c], 4
mov eax, dword [ebp - 0xe4]
jmp 0x42ccff
and dword [ebp - 0xe4], 0
mov eax, dword [edi + 0xc]
neg eax
sbb eax, eax
lea ecx, [ebp - 0xe4]
and eax, ecx
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 8]
mov ecx, dword [edi + 4]
push eax
mov eax, dword [edi + 8]
shl eax, 4
mov eax, dword [eax + edx + 4]
call fcn.004265c2
cmp dword [edi + 0xc], 0
pop ecx
mov dword [ebp - 8], eax
je case.0x42cc0a.17
mov eax, dword [ebp - 0xe4]
add dword [esi + 0x6c], eax
mov edi, dword [edi + 0xc]
test edi, edi
jle case.0x42cc0a.17
imul edi, edi, 0x28
cdq
lea ebx, [edi + ebx + 0x10]
add dword [ebx], eax
adc dword [ebx + 4], edx
jmp case.0x42cc0a.17
and dword [ebp - 0xe4], 0
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xc]
shl eax, 4
add eax, dword [ecx + 8]
xor ecx, ecx
mov dword [ebp - 0xdc], eax
cmp byte [edi], 0x62
lea edx, [ebp - 0xe4]
setne cl
push edx
inc ecx
mov dword [ebp - 0xe0], ecx
mov eax, dword [eax + 4]
call fcn.00423279
mov dword [ebp - 8], eax
jmp 0x42e816
mov eax, dword [edi + 4]
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0xe4], eax
cmp dword [edi + 8], 0
jne 0x43003c
mov ebx, dword [edx + 8]
mov ecx, eax
shl ecx, 4
mov ecx, dword [ecx + ebx + 0xc]
test byte [ecx + 0x4a], 1
je case.0x42cc0a.17
mov ecx, str.sqlite_master
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0xd8], edx
mov ebx, dword [edi + 4]
mov dword [ebp - 0xd4], ebx
add esi, 0x38
mov dword [ebp - 0xd0], esi
push dword [edi + 0x10]
shl eax, 4
push ecx
mov ecx, dword [edx + 8]
push dword [eax + ecx]
mov esi, edx
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
call fcn.00417dd3
add esp, 0x10
test eax, eax
mov dword [ebp - 0xdc], eax
je 0x4300dc
mov esi, dword [ebp - 0xc]
push 0
lea eax, [ebp - 0xd8]
push eax
mov byte [esi + 0x7c], 1
and dword [ebp - 0xcc], 0
push fcn.0042b46f
push dword [ebp - 0xdc]
push esi
call fcn.004313f0
add esp, 0x14
test eax, eax
mov dword [ebp - 8], eax
jne 0x4300c0
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 8], eax
push dword [ebp - 0xdc]
push esi
call fcn.0040f7f3
cmp dword [ebp - 8], 7
pop ecx
pop ecx
mov byte [esi + 0x7c], 0
jne 0x42d24a
mov esi, dword [ebp + 8]
mov eax, dword [ebp - 0xc]
push str.out_of_memory
push eax
lea edi, [esi + 0x38]
mov byte [eax + 0x1e], 1
call fcn.00416d22
mov dword [ebp - 8], 7
jmp 0x430fc4
mov ecx, dword [edi + 4]
mov eax, dword [ebp - 0xc]
call fcn.0041a04c
jmp 0x42e00c
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 4]
mov esi, dword [ebp - 0xc]
call fcn.0041518b
jmp 0x42d24a
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 4]
mov ebx, dword [ebp - 0xc]
call fcn.00413057
jmp case.0x42cc0a.17
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 4]
mov edx, dword [ebp - 0xc]
call fcn.00416288
jmp case.0x42cc0a.17
mov eax, dword [edi + 4]
mov edi, dword [edi + 8]
imul eax, eax, 0x28
imul edi, edi, 0x28
add eax, ebx
add edi, ebx
test byte [eax + 0x1c], 0x20
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], eax
mov edi, eax
jne 0x430176
call fcn.00413555
test byte [edi + 0x1c], 0x20
je 0x4300df
mov eax, dword [ebp - 0x1c]
push dword [eax + 0x14]
mov edi, dword [edi + 0x10]
push dword [eax + 0x10]
call fcn.004126a7
jmp 0x42cdc0
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0xe0]
test eax, eax
jne 0x430f91
mov edi, dword [edi + 4]
imul edi, edi, 0x28
add edi, ebx
test byte [edi + 0x1c], 0x20
mov dword [ebp - 0x18], edi
je 0x4301e3
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x10]
lea edi, [ebp - 0xe4]
call fcn.004110dd
test eax, eax
je 0x4301e3
mov eax, dword [ebp - 0xec]
mov esi, dword [eax + 0xc]
push dword [ebp - 0xe0]
imul esi, esi, 0x28
push dword [ebp - 0xe4]
add esi, dword [ebp - 0x20]
jmp 0x42da2f
mov edi, dword [ebp - 0x18]
call fcn.00410ce0
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 8]
jmp 0x42cc49
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 4]
imul ecx, ecx, 0x28
imul eax, eax, 0x28
add ecx, ebx
mov dword [ebp - 0x1c], ecx
mov ecx, dword [edi + 0x10]
add eax, ebx
mov dword [ebp - 0xe4], ecx
test byte [eax + 0x1c], 0x20
mov dword [ebp - 0x18], eax
jne 0x43023b
mov edi, eax
call fcn.00413555
test byte [edi + 0x1c], 0x20
je 0x4300df
mov ecx, dword [ebp - 0xe4]
mov edi, dword [ebp - 0xec]
test ecx, ecx
je 0x43027f
jl 0x430246
and ecx, 0xf
jmp 0x43024b
mov ecx, 0xff
mov eax, dword [ebp - 0x1c]
push dword [eax + 0x14]
mov bl, cl
push dword [eax + 0x10]
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x10]
call fcn.004102ca
test eax, eax
pop ecx
pop ecx
mov dword [ebp - 0xe0], eax
jne 0x42cc22
mov ecx, dword [ebp - 0xe4]
test ecx, ecx
jl case.0x42cc0a.17
mov eax, dword [ebp - 0x1c]
push dword [eax + 0x14]
push dword [eax + 0x10]
mov eax, dword [ebp - 0x18]
mov edi, dword [eax + 0x10]
jmp 0x430182
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0xcc], ecx
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, ebx
mov dword [ebp - 0xdc], eax
cmp byte [edi + 3], 0
je 0x4302e3
mov edx, dword [esi + 0xd0]
test edx, edx
mov edi, dword [ecx + 0x10]
mov dword [ebp - 0xc8], edi
mov dword [ebp - 0xd0], edx
je 0x4302e3
cmp dword [edx + 0x20], edi
je 0x4302db
mov edx, dword [edx + 0x3c]
test edx, edx
mov dword [ebp - 0xd0], edx
jne 0x4302c9
test edx, edx
jne case.0x42cc0a.17
mov edx, dword [esi + 0xd8]
mov edi, dword [ebp - 0xc]
cmp edx, dword [edi + 0x70]
jl 0x43030b
push str.too_many_levels_of_trigger_recursion
push edi
lea edi, [esi + 0x38]
mov dword [ebp - 8], 1
call fcn.00416d22
jmp 0x42cdc0
test byte [eax + 0x1c], 0x40
jne 0x430455
mov eax, dword [ecx + 8]
add eax, dword [ecx + 0xc]
mov dword [ebp - 0xe4], eax
imul eax, eax, 0xa
add eax, dword [ecx + 0xc]
lea eax, [eax*4 + 0x40]
mov dword [ebp - 0xe0], eax
push eax
mov eax, edi
call fcn.00411607
test eax, eax
pop ecx
mov dword [ebp - 0xd0], eax
je 0x4300df
push dword [ebp - 0xdc]
call fcn.00412282
mov eax, dword [ebp - 0xdc]
mov word [eax + 0x1c], 0x40
mov eax, dword [ebp - 0xd0]
pop ecx
mov ecx, dword [ebp - 0xdc]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xd0]
mov dword [eax], esi
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xe4]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x28], eax
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0x10]
mov dword [eax + 4], ecx
mov eax, dword [esi + 8]
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x18]
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x14], eax
mov eax, dword [esi + 0x44]
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x18], eax
mov ax, word [esi + 0x32]
mov ecx, dword [ebp - 0xd0]
mov word [ecx + 0x1c], ax
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x1c]
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax + 0x10]
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x20], eax
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0x24]
imul ecx, ecx, 0x28
lea edx, [ecx + eax + 0x40]
lea ecx, [eax + 0x40]
cmp ecx, edx
mov dword [ebp - 0xd4], edx
mov dword [ebp - 0xd8], ecx
je 0x43045e
mov word [ecx + 0x1c], 1
mov eax, dword [ebp - 0xd8]
mov ecx, edi
mov dword [eax], ecx
mov ecx, dword [ebp - 0xd8]
add ecx, 0x28
cmp ecx, dword [ebp - 0xd4]
mov dword [ebp - 0xd8], ecx
jne 0x430426
mov eax, dword [ebp - 0xd0]
jmp 0x43045e
mov eax, dword [eax + 0x10]
mov dword [ebp - 0xd0], eax
inc dword [esi + 0xd8]
mov ecx, dword [esi + 0xd0]
mov dword [eax + 0x3c], ecx
mov edx, dword [ebp - 0xd0]
mov eax, edi
mov ecx, dword [eax + 0x30]
mov dword [edx + 0x30], ecx
mov eax, dword [eax + 0x34]
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x34], eax
mov eax, dword [esi + 0x6c]
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 0xd0]
and dword [esi + 0x6c], 0
lea ecx, [eax + 0x18]
mov dword [esi + 0xd0], eax
mov dword [esi + 8], ecx
mov edx, dword [eax + 0x24]
mov dword [esi + 0x18], edx
mov ax, word [eax + 0x28]
mov word [esi + 0x32], ax
mov eax, edx
inc eax
imul eax, eax, 0x28
add eax, ecx
or dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0xcc]
mov dword [esi + 0x44], eax
mov eax, dword [ecx]
mov dword [ebp - 0xfc], eax
mov dword [esi + 4], eax
mov eax, dword [ecx + 4]
mov dword [esi + 0x1c], eax
jmp case.0x42cc0a.17
mov ecx, dword [esi + 0xd0]
mov dword [ebp - 0xe4], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 8]
imul eax, eax, 0x14
mov eax, dword [eax + edx + 4]
add eax, dword [edi + 4]
push 0x1000
imul eax, eax, 0x28
add eax, dword [ecx + 0x10]
mov dword [ebp - 0xe0], eax
push eax
jmp 0x42cdb8
cmp dword [edi + 4], 0
mov eax, dword [edi + 8]
cdq
je 0x43052d
mov ecx, dword [ebp - 0xc]
add ecx, 0x1d8
jmp 0x430533
lea ecx, [esi + 0xb8]
add dword [ecx], eax
adc dword [ecx + 4], edx
jmp case.0x42cc0a.17
cmp dword [edi + 4], 0
je 0x430557
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x1d8]
or ecx, dword [eax + 0x1dc]
jmp 0x42dacd
mov eax, dword [esi + 0xb8]
or eax, dword [esi + 0xbc]
jmp 0x42dacd
mov eax, dword [edi + 4]
imul eax, eax, 0x28
cmp dword [eax + ebx + 0x14], 0
jl case.0x42cc0a.17
jg 0x42cc22
cmp dword [eax + ebx + 0x10], 0
jbe case.0x42cc0a.17
jmp 0x42cc22
mov eax, dword [edi + 4]
imul eax, eax, 0x28
cmp dword [eax + ebx + 0x14], 0
jg case.0x42cc0a.17
jl 0x42cc22
cmp dword [eax + ebx + 0x10], 0
jae case.0x42cc0a.17
jmp 0x42cc22
mov ecx, dword [edi + 4]
mov eax, dword [edi + 0xc]
imul ecx, ecx, 0x28
cdq
add ecx, ebx
add dword [ecx + 0x10], eax
mov eax, dword [ecx + 0x10]
adc dword [ecx + 0x14], edx
or eax, dword [ecx + 0x14]
jmp 0x42dacd
movzx ecx, byte [edi + 3]
mov edx, dword [esi + 0xc]
mov dword [ebp - 0xe4], ecx
mov eax, dword [edi + 8]
and dword [ebp - 0xe0], 0
imul eax, eax, 0x28
add eax, ebx
test ecx, ecx
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0x94], edx
jle 0x43063c
mov ecx, dword [ebp - 0x94]
mov edx, dword [ebp - 0xe0]
mov dword [ecx + edx*4], eax
mov ecx, dword [ebp - 0xd8]
call fcn.0040a356
inc dword [ebp - 0xe0]
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xe0]
add eax, 0x28
cmp ecx, dword [ebp - 0xe4]
mov dword [ebp - 0xd8], eax
jl 0x4305ff
mov eax, dword [edi + 0x10]
mov dword [ebp - 0xd4], eax
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x20]
xor ebx, ebx
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xa4], eax
inc dword [eax + 0x18]
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xd4]
mov word [ebp - 0xb0], 1
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0x9c], ebx
test byte [eax + 3], 8
je 0x4306a4
mov ecx, dword [edi - 4]
mov dword [ebp - 0x9c], ecx
push dword [ebp - 0x94]
lea ecx, [ebp - 0xd4]
push dword [ebp - 0xe4]
push ecx
call dword [eax + 0x10]
add esp, 0xc
cmp dword [ebp - 0xa0], ebx
je 0x4306f0
lea eax, [ebp - 0xcc]
push 1
push eax
call fcn.0041cc9c
push eax
push 0x45863c
push dword [ebp - 0xc]
lea edi, [esi + 0x38]
call fcn.00416d22
mov eax, dword [ebp - 0xa0]
add esp, 0x14
mov dword [ebp - 8], eax
lea eax, [ebp - 0xcc]
push eax
call fcn.00412282
jmp 0x42cdc1
mov ecx, dword [edi + 4]
imul ecx, ecx, 0x28
add ecx, ebx
mov dword [ebp - 0xe4], ecx
mov eax, dword [edi + 0x10]
call fcn.0041000c
test eax, eax
mov dword [ebp - 8], eax
je 0x43073e
push dword [ebp - 0xe4]
call fcn.0041f31e
pop ecx
push eax
push 0x45863c
push dword [ebp - 0xc]
lea edi, [esi + 0x38]
call fcn.00416d22
add esp, 0xc
mov ecx, dword [ebp - 0xe4]
jmp 0x42d53c
push dword [edi + 4]
mov esi, dword [ebp - 0xc]
call fcn.00423dde
pop ecx
mov dword [ebp - 8], eax
jmp 0x42d24a
cmp dword [esi + 0x84], 0
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xdc], eax
jne 0x430779
mov ecx, dword [edi + 4]
mov edx, esi
call fcn.0040a6f7
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 8]
shl eax, 4
cmp dword [ebp - 0xdc], 0xffffffff
mov eax, dword [eax + ecx + 4]
mov dword [ebp - 0xe4], eax
mov eax, dword [eax + 4]
mov edi, dword [eax]
mov dword [ebp - 0xe0], edi
movzx ebx, byte [edi + 5]
mov dword [ebp - 0xd8], ebx
jne 0x4307b3
mov dword [ebp - 0xdc], ebx
mov eax, edi
call fcn.0040acad
test eax, eax
jne 0x4307c4
mov dword [ebp - 0xdc], ebx
mov eax, dword [edi + 0x90]
push 5
pop edx
cmp dword [ebp - 0xdc], edx
mov dword [ebp - 0xd4], eax
jne 0x4307f1
cmp byte [eax], 0
je 0x4307eb
mov eax, edi
call fcn.0040ac81
test eax, eax
jne 0x4307f1
mov dword [ebp - 0xdc], ebx
cmp dword [ebp - 0xdc], ebx
je 0x430882
cmp ebx, edx
je 0x430809
cmp dword [ebp - 0xdc], edx
jne 0x430882
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x1c], 0
je 0x4308cc
cmp dword [eax + 0x8c], 1
jg 0x4308cc
cmp ebx, edx
jne 0x430843
mov eax, edi
call fcn.00421a2e
test eax, eax
mov dword [ebp - 8], eax
jne 0x430870
mov ecx, dword [ebp - 0xdc]
mov edi, dword [ebp - 0xe0]
jmp 0x43084b
cmp ebx, 4
jne 0x430850
push 2
pop ecx
call fcn.00426b20
push dword [ebp - 0xe4]
xor ebx, ebx
cmp dword [ebp - 0xdc], 5
sete bl
inc ebx
call fcn.004286fe
test eax, eax
pop ecx
mov dword [ebp - 8], eax
je 0x43087c
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xdc], eax
mov edi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xdc]
call fcn.00426b20
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xec]
mov edx, dword [eax + 8]
imul edx, edx, 0x28
add edx, dword [ebp - 0x20]
mov word [edx + 0x1c], 0xa02
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x14], edx
call fcn.00409ada
mov ecx, eax
mov dword [edx + 4], eax
call fcn.0040bc7b
mov dword [edx + 0x18], eax
mov byte [edx + 0x1f], 1
jmp case.0x42cc0a.17
cmp dword [ebp - 0xdc], edx
mov dword [ebp - 8], 1
mov ecx, str.into
je 0x4308e5
mov ecx, str.out_of
push ecx
push str.cannot_change__s_wal_mode_from_within_a_transaction
push eax
lea edi, [esi + 0x38]
call fcn.00416d22
add esp, 0xc
jmp case.0x42cc0a.17
lea eax, [esi + 0x38]
push eax
mov eax, dword [ebp - 0xc]
call fcn.0042c87f
jmp 0x42e00b
cmp dword [edi + 4], 0
jne 0x430920
mov eax, dword [ebp - 0xc]
call fcn.0040a3cc
jmp case.0x42cc0a.17
mov byte [esi + 0x64], 1
jmp case.0x42cc0a.17
mov edi, dword [edi + 0x10]
push dword [ebp - 0xc]
mov eax, edi
mov dword [ebp - 0xe4], edi
call fcn.00414d04
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xe4]
test eax, eax
pop ecx
je case.0x42cc0a.17
mov esi, dword [eax + 8]
mov edi, dword [ebp + 8]
call fcn.0041341c
mov esi, edi
jmp case.0x42cc0a.17
lea eax, [esi + 0x38]
push eax
push dword [edi + 0x10]
mov eax, dword [edi + 4]
push dword [ebp - 0xc]
call fcn.0041b8b3
add esp, 0xc
jmp 0x42e00c
mov ecx, dword [ebp - 0xc]
mov byte [esi + 0x67], 2
push dword [edi + 0x10]
mov eax, dword [edi + 4]
call fcn.004109bc
pop ecx
mov dword [ebp - 8], eax
mov byte [esi + 0x67], 0
jmp case.0x42cc0a.17
xor ebx, ebx
mov dword [ebp - 0xe4], ebx
mov dword [ebp - 0xe0], ebx
mov eax, dword [edi + 0x10]
mov eax, dword [eax + 8]
lea edx, [ebp - 0xe0]
mov dword [ebp - 0xdc], eax
mov ecx, dword [eax]
push edx
push eax
mov dword [ebp - 0xd8], ecx
call dword [ecx + 0x18]
mov esi, dword [ebp - 0xdc]
mov edi, dword [ebp + 8]
pop ecx
pop ecx
mov dword [ebp - 8], eax
call fcn.0041341c
cmp dword [ebp - 8], ebx
jne 0x42d24a
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xe0]
mov dword [ecx], eax
mov eax, dword [ebp - 0xec]
mov edx, dword [eax + 4]
push ebx
push 0xffffffffffffffff
push ebx
mov eax, edi
call fcn.0042811f
add esp, 0xc
test eax, eax
mov dword [ebp - 0xe4], eax
je 0x430a32
mov ecx, dword [ebp - 0xe0]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax]
mov eax, dword [eax]
mov ecx, dword [ebp - 0xe4]
mov dword [ecx + 0x28], eax
jmp 0x430959
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x1e], 1
push dword [ebp - 0xe0]
mov eax, dword [ebp - 0xd8]
call dword [eax + 0x1c]
pop ecx
jmp 0x430959
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, ebx
mov ebx, dword [esi + 0x44]
mov dword [ebp - 0xd8], eax
lea edx, [eax + 0x28]
mov dword [ebp - 0xd4], edx
mov ecx, dword [edi + 4]
mov ecx, dword [ebx + ecx*4]
mov dword [ebp - 0xc8], ecx
mov ecx, dword [ecx + 0x24]
mov dword [ebp - 0xd0], ecx
mov ebx, dword [ecx]
mov dword [ebp - 0xcc], ebx
mov ebx, dword [ebx]
mov dword [ebp - 0xdc], ebx
mov ebx, dword [edx + 0x10]
mov dword [ebp - 0xe4], ebx
mov eax, dword [eax + 0x10]
and dword [ebp - 0xc4], 0
and dword [ebp - 0xc0], 0
test ebx, ebx
mov dword [ebp - 0xe0], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0xbc], eax
jle 0x430b07
jmp 0x430ac2
mov edx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xc0]
lea ecx, [eax + 1]
imul ecx, ecx, 0x28
add ecx, edx
mov edx, dword [ebp - 0xbc]
mov dword [edx + eax*4], ecx
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xbc]
mov ecx, dword [ecx + eax*4]
call fcn.0040a356
inc dword [ebp - 0xc0]
mov eax, dword [ebp - 0xc0]
cmp eax, dword [ebp - 0xe4]
jl 0x430abc
mov ecx, dword [ebp - 0xd0]
push dword [ebp - 0xbc]
mov eax, dword [ebp - 0xdc]
push dword [ebp - 0xe4]
mov byte [esi + 0x67], 1
push dword [edi + 0x10]
push dword [ebp - 0xe0]
push ecx
call dword [eax + 0x20]
mov edi, dword [ebp + 8]
mov byte [esi + 0x67], 0
mov esi, dword [ebp - 0xcc]
add esp, 0x14
mov dword [ebp - 8], eax
call fcn.0041341c
cmp dword [ebp - 8], 0
jne 0x430b5e
push dword [ebp - 0xd0]
mov eax, dword [ebp - 0xdc]
call dword [eax + 0x28]
pop ecx
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0
je 0x430b74
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 8]
dec eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1c], 0
jmp 0x430959
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
mov ecx, dword [ecx + eax*4]
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, ebx
mov dword [ebp - 0xdc], eax
cmp byte [ecx + 0x1c], 0
mov dword [ebp - 0xf0], ecx
je 0x430bad
mov edi, eax
jmp 0x42cf9f
mov esi, dword [ebp - 0xf0]
mov eax, dword [esi + 0x24]
mov eax, dword [eax]
mov dword [ebp - 0xe4], eax
mov eax, dword [eax]
push 0x40
mov dword [ebp - 0xe0], eax
lea eax, [ebp - 0xd4]
push 0
push eax
call sub.msvcrt.dll_memset
mov ebx, dword [ebp - 0xdc]
add esp, 0xc
lea eax, [ebp - 0xcc]
call fcn.00413532
mov eax, dword [ebp - 0xb0]
and ax, 0xbf01
or ax, 1
mov word [ebp - 0xb0], ax
push dword [edi + 8]
lea eax, [ebp - 0xd4]
push eax
push dword [esi + 0x24]
mov eax, dword [ebp - 0xe0]
call dword [eax + 0x2c]
mov esi, dword [ebp - 0xe4]
mov edi, dword [ebp + 8]
add esp, 0xc
mov dword [ebp - 8], eax
call fcn.0041341c
mov eax, dword [ebp - 0xa0]
test eax, eax
je 0x430c36
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xdc]
lea ebx, [ebp - 0xcc]
call fcn.00413532
mov ecx, dword [ebp - 0xdc]
call fcn.0040a803
mov esi, edi
jmp 0x42d541
and dword [ebp - 0xdc], 0
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xd8], eax
cmp byte [eax + 0x1c], 0
jne case.0x42cc0a.17
mov ecx, dword [eax + 0x24]
mov ecx, dword [ecx]
mov dword [ebp - 0xe4], ecx
mov ecx, dword [ecx]
mov dword [ebp - 0xe0], ecx
mov byte [esi + 0x67], 1
push dword [eax + 0x24]
call dword [ecx + 0x24]
mov edi, dword [ebp + 8]
mov byte [esi + 0x67], 0
mov esi, dword [ebp - 0xe4]
pop ecx
mov dword [ebp - 8], eax
call fcn.0041341c
cmp dword [ebp - 8], 0
jne 0x430ccb
mov eax, dword [ebp - 0xd8]
push dword [eax + 0x24]
mov eax, dword [ebp - 0xe0]
call dword [eax + 0x28]
pop ecx
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0xdc], 0
jne 0x42d24a
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 8]
dec eax
mov dword [ebp - 0x10], eax
jmp 0x430959
mov eax, dword [edi + 0x10]
mov eax, dword [eax + 8]
mov dword [ebp - 0xe4], eax
mov edi, dword [edi + 4]
imul edi, edi, 0x28
add edi, dword [ebp - 0x20]
mov dword [ebp - 0xe0], edi
push dword [edi + 4]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x4c]
mov esi, dword [ebp - 0xe4]
mov edi, dword [ebp + 8]
pop ecx
pop ecx
mov dword [ebp - 8], eax
call fcn.0041341c
mov byte [edi + 0x64], 0
jmp 0x430959
mov eax, dword [edi + 0x10]
mov ecx, dword [eax + 8]
mov dword [ebp - 0xe4], ecx
mov eax, dword [ecx]
mov dword [ebp - 0xe0], eax
mov edx, dword [edi + 8]
mov dword [ebp - 0xdc], edx
xor edx, edx
cmp dword [eax + 0x34], edx
je case.0x42cc0a.17
mov esi, dword [esi + 0xc]
mov dword [ebp - 0xcc], esi
mov edi, dword [edi + 0xc]
imul edi, edi, 0x28
add edi, ebx
cmp dword [ebp - 0xdc], edx
mov dword [ebp - 0xc8], edi
mov dword [ebp - 0xd8], edx
jle 0x430dc2
mov ecx, edi
call fcn.0040a356
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xcc]
mov dword [edx + ecx*4], eax
mov edi, dword [ebp - 0xc8]
add edi, 0x28
inc dword [ebp - 0xd8]
mov eax, dword [ebp - 0xd8]
cmp eax, dword [ebp - 0xdc]
mov dword [ebp - 0xc8], edi
jl 0x430d77
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xe4]
lea edx, [ebp - 0xd4]
push edx
push dword [ebp - 0xcc]
push dword [ebp - 0xdc]
push ecx
call dword [eax + 0x34]
mov esi, dword [ebp - 0xe4]
mov edi, dword [ebp + 8]
add esp, 0x10
mov dword [ebp - 8], eax
call fcn.0041341c
cmp dword [ebp - 8], 0
jne 0x430e14
mov eax, dword [ebp - 0xec]
cmp dword [eax + 4], 0
je 0x430e14
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x30], ecx
mov ecx, dword [ebp - 0xd0]
mov dword [eax + 0x34], ecx
inc dword [edi + 0x6c]
jmp 0x430959
mov eax, dword [edi + 4]
mov dword [esi + 0x5c], eax
mov al, byte [edi + 8]
mov byte [esi + 0x60], al
mov eax, dword [ebp - 0x10]
mov dword [esi + 0x58], eax
mov eax, dword [edi + 0x10]
test eax, eax
je 0x430e6d
push eax
push 0x45863c
push dword [ebp - 0xc]
lea edi, [esi + 0x38]
call fcn.00416d22
mov eax, dword [ebp - 0xec]
add esp, 0xc
push dword [eax + 0x10]
push dword [esi + 0xc8]
push dword [ebp - 0x10]
push str.abort_at__d_in___s_:__s
push dword [eax + 4]
call fcn.00417d79
add esp, 0x14
jmp 0x430e8c
cmp dword [esi + 0x5c], 0
je 0x430e8c
push dword [esi + 0xc8]
push dword [ebp - 0x10]
push str.constraint_failed_at__d_in___s_
push dword [edi + 4]
call fcn.00417d79
add esp, 0x10
mov edi, esi
call fcn.0042908b
push 5
pop ecx
cmp eax, ecx
je 0x430ec8
mov eax, dword [esi + 0x5c]
neg eax
sbb eax, eax
and eax, 0xffffff9c
add eax, 0x65
jmp 0x430fff
lea eax, [ebp - 0xd4]
push eax
call fcn.00412282
pop ecx
jmp 0x4300df
mov eax, dword [ebp - 0x10]
mov dword [esi + 0x58], eax
mov byte [ebx + 0x1c], 0
mov eax, ecx
mov dword [esi + 0x5c], ecx
jmp 0x430fff
test edi, edi
je 0x430ef5
mov esi, dword [ebp - 0xc]
mov eax, esi
call fcn.00426ecf
mov byte [esi + 0x1c], 1
mov ebx, esi
mov esi, ebx
call fcn.0040f8ef
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x5c]
jmp 0x430e9d
push 1
mov eax, esi
call fcn.00417b5d
test eax, eax
pop ecx
jne 0x430fff
mov al, byte [ebp - 0xe4]
mov ebx, dword [ebp - 0xc]
mov edi, esi
mov byte [ebx + 0x1c], al
call fcn.0042908b
push 5
pop ecx
cmp eax, ecx
jne 0x430ee6
mov eax, dword [ebp - 0x10]
mov dword [esi + 0x58], eax
mov al, 1
sub al, byte [ebp - 0xe4]
mov byte [ebx + 0x1c], al
jmp 0x430ec8
mov ecx, dword [ebp - 0x10]
mov dword [esi + 0x58], ecx
mov dword [esi + 0x5c], eax
jmp 0x430fff
push 0xf8d0
call fcn.00417ee3
pop ecx
mov dword [ebp - 8], eax
mov esi, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
cmp byte [ecx + 0x1e], 0
je 0x430f63
mov dword [ebp - 8], 7
cmp dword [ebp - 8], 0xc0a
je 0x430fc6
mov eax, dword [ebp - 8]
call fcn.004095f7
push eax
push 0x45863c
push ecx
lea edi, [esi + 0x38]
call fcn.00416d22
add esp, 0xc
jmp 0x430fc6
mov dword [ebp - 8], 0xd
jmp 0x430f53
push 9
pop eax
mov dword [ebp - 8], eax
mov dword [esi + 0x5c], eax
call fcn.004095f7
push eax
push 0x45863c
push dword [ebp - 0xc]
jmp 0x430f7b
mov esi, dword [ebp + 8]
push str.string_or_blob_too_big
push dword [ebp - 0xc]
lea edi, [esi + 0x38]
call fcn.00416d22
mov dword [ebp - 8], 0x12
pop ecx
pop ecx
push dword [esi + 0x38]
mov ebx, dword [ebp - 8]
push dword [esi + 0xc8]
mov dword [esi + 0x5c], ebx
push dword [ebp - 0x10]
push str.statement_aborts_at__d:___s___s
push ebx
call fcn.00417d79
add esp, 0x14
mov edi, esi
call fcn.0042908b
cmp ebx, 0xc0a
jne 0x430ffc
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x1e], 1
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
leave
ret