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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x144
mov eax, dword [0x4f72bc]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
mov ecx, dword [esi + 4]
mov ebx, dword [esi + 8]
xor eax, eax
push edi
mov edi, dword [esi]
mov edx, dword [edi + 0x10]
mov dword [ebp - 0x130], ecx
mov ecx, dword [edx + 0xc]
mov dl, byte [ecx + 0x4d]
mov ecx, dword [edi + 0x24]
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xec], eax
mov byte [ebp - 0x10d], al
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x120], eax
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0x128], eax
mov eax, dword [edi + 0x20]
push esi
mov dword [ebp - 0xfc], esi
mov dword [ebp - 0xf0], edi
mov byte [ebp - 0x10c], dl
mov dword [ebp - 0x100], ebx
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x114], ecx
call fcn.00426b40
add esp, 4
cmp dword [esi + 0x5c], 7
je 0x42dbf6
xor ecx, ecx
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x98], ecx
mov dword [esi + 0x9c], ecx
mov dword [esi + 0x14], ecx
mov edx, dword [edi + 0xe8]
mov dword [edi + 0x1bc], ecx
test edx, edx
jne 0x431ec4
cmp dword [edi + 0x11c], ecx
je 0x42c4ad
mov eax, dword [esi + 0x88]
cmp eax, ecx
jne 0x42c49f
mov eax, dword [edi + 0x124]
mov ecx, dword [esi + 0x58]
mov dword [ebp - 0x120], eax
mov dword [ebp - 0xf8], ecx
jmp 0x42c4cc
xor edx, edx
div dword [edi + 0x124]
mov dword [ebp - 0x120], edx
mov ecx, dword [esi + 0x58]
mov dword [ebp - 0xf8], ecx
jmp 0x42c4cc
mov ebx, dword [ebp - 0x100]
mov esi, dword [ebp - 0xfc]
mov edx, dword [ebp - 0xf0]
cmp byte [edx + 0x40], 0
jne 0x42dbf6
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0x130]
inc dword [ebp - 0x124]
lea eax, [eax + eax*4]
test byte [ecx + eax*4 + 2], 2
lea edi, [ecx + eax*4]
mov dword [ebp - 0x104], edi
je 0x42c52f
mov eax, dword [edi + 8]
lea edx, [eax + eax*4]
lea eax, [ebx + edx*8]
mov ecx, 0x2460
mov dword [ebp - 0xf4], eax
test word [eax + 0x1c], cx
je 0x42c526
call fcn.00424d50
mov eax, dword [ebp - 0xf4]
mov edx, 4
mov word [eax + 0x1c], dx
movzx eax, byte [edi]
dec eax
cmp eax, 0x95
ja case.default.0x42c53e
jmp dword [eax*4 + 0x431efc]
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, dword [ebp - 0xf8]
mov edx, 4
mov word [ecx + 0x1c], dx
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov eax, dword [edi + 8]
dec eax
mov dword [ebp - 0xf8], eax
jmp case.default.0x42c53e
mov edi, dword [edi + 4]
lea ecx, [edi + edi*4]
mov edx, dword [ebx + ecx*8 + 0x10]
mov dword [ebp - 0xf8], edx
jmp case.default.0x42c53e
mov edi, dword [edi + 4]
lea eax, [edi + edi*4]
lea ecx, [ebx + eax*8]
mov eax, dword [ecx + 0x10]
mov edx, 4
mov word [ecx + 0x1c], dx
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xf8]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xf8], ecx
jmp case.default.0x42c53e
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
test byte [ebx + edx*8 + 0x1c], 1
je case.default.0x42c53e
cmp dword [edi + 4], 0
jne 0x431c63
mov eax, dword [esi + 0xc0]
test eax, eax
je 0x431c63
mov ecx, dword [eax + 4]
dec dword [esi + 0xc8]
mov edx, dword [ebp - 0xf0]
mov dword [esi + 0xc0], ecx
mov ecx, dword [esi + 0x68]
add dword [edx + 0x54], ecx
mov dword [edx + 0x50], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 0x10]
mov dword [ecx + 0xd8], edx
mov edx, dword [eax + 0x38]
mov dword [ecx + 0xd4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 4], edx
mov edx, dword [eax + 0x30]
mov dword [ecx + 0x1c], edx
mov edx, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov edx, dword [eax + 0x34]
mov dword [ecx + 0x18], edx
mov edx, dword [eax + 0x14]
mov dword [ecx + 0x44], edx
mov edx, dword [eax + 0x28]
mov dword [ecx + 0x30], edx
mov edx, dword [ecx]
mov ebx, dword [eax + 0x20]
mov dword [edx + 0x20], ebx
mov ebx, dword [eax + 0x24]
mov dword [edx + 0x24], ebx
mov edx, dword [eax + 0x44]
mov dword [ecx + 0x68], edx
cmp dword [edi + 8], 4
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ecx + 0x20]
mov eax, dword [eax + 0x2c]
mov ecx, dword [ecx + 0x24]
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0x118], edx
mov dword [ebp - 0x114], ecx
jne 0x42c68c
lea edx, [eax + eax*4]
mov eax, dword [esi + 4]
mov ecx, dword [eax + edx*4 + 8]
dec ecx
mov dword [ebp - 0xf8], ecx
mov edx, dword [esi + 4]
mov eax, dword [esi + 8]
mov dword [ebp - 0x130], edx
mov dword [ebp - 0x100], eax
jmp case.default.0x42c53e
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xf4]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.default.0x42c53e
mov edi, dword [edi + 0x10]
mov ecx, dword [edi]
mov eax, dword [ebp - 0xf4]
mov dword [eax + 0x10], ecx
mov edx, dword [edi + 4]
mov dword [eax + 0x14], edx
jmp case.default.0x42c53e
mov eax, dword [ebp - 0xf4]
mov ecx, 8
mov word [eax + 0x1c], cx
mov edx, dword [edi + 0x10]
fld qword [edx]
fstp qword [eax + 8]
jmp case.default.0x42c53e
mov ecx, dword [edi + 0x10]
mov byte [edi], 0x19
call fcn.0040b380
cmp byte [ebp - 0x10c], 1
mov dword [edi + 4], eax
je 0x42c788
mov edx, dword [ebp - 0xf4]
push 1
push ecx
or ebx, 0xffffffff
xor eax, eax
mov ecx, ebx
call fcn.00425450
add esp, 8
mov dword [ebp - 0xec], eax
cmp eax, 0x12
je 0x42d1ba
movzx ecx, byte [ebp - 0x10c]
mov esi, dword [ebp - 0xf4]
mov eax, esi
call fcn.004249e0
test eax, eax
jne 0x42dbf6
mov dword [esi + 0x24], eax
mov ax, word [esi + 0x1c]
mov ecx, 0xfbff
and ax, cx
mov edx, 0x800
or ax, dx
mov word [esi + 0x1c], ax
cmp byte [edi + 1], bl
jne 0x42c779
mov eax, dword [edi + 0x10]
mov ecx, dword [ebp - 0xf0]
call fcn.00409080
mov byte [edi + 1], bl
mov eax, dword [esi + 4]
mov dword [edi + 0x10], eax
mov ecx, dword [esi + 0x18]
mov dword [edi + 4], ecx
mov edx, dword [edi + 4]
mov eax, dword [ebp - 0xf0]
cmp edx, dword [eax + 0x58]
jg 0x42d1ba
mov eax, dword [ebp - 0xf4]
mov ecx, 0xa02
mov word [eax + 0x1c], cx
mov edx, dword [edi + 0x10]
mov dword [eax + 4], edx
mov ecx, dword [edi + 4]
mov dl, byte [ebp - 0x10c]
mov dword [eax + 0x18], ecx
mov byte [eax + 0x1f], dl
jmp case.default.0x42c53e
mov eax, dword [edi + 0xc]
sub eax, dword [edi + 8]
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0xe8], eax
mov eax, dword [edi + 4]
neg eax
sbb eax, eax
and eax, 0x100
inc eax
mov word [ebp - 0xe4], ax
mov word [ecx + 0x1c], ax
cmp dword [ebp - 0xe8], 0
jle case.default.0x42c53e
mov eax, ecx
lea esp, [esp]
add eax, 0x28
mov edx, 0x2460
mov dword [ebp - 0xf4], eax
test word [eax + 0x1c], dx
je 0x42c81f
call fcn.00424d50
mov eax, dword [ebp - 0xf4]
mov cx, word [ebp - 0xe4]
mov word [eax + 0x1c], cx
mov ecx, dword [ebp - 0xe8]
dec ecx
mov dword [ebp - 0xe8], ecx
test ecx, ecx
jg 0x42c800
jmp case.default.0x42c53e
mov edx, dword [edi + 0x10]
mov esi, dword [ebp - 0xf4]
mov ecx, dword [edi + 4]
push 0
push edx
xor eax, eax
mov edx, esi
call fcn.00425450
mov al, byte [ebp - 0x10c]
add esp, 8
mov byte [esi + 0x1f], al
jmp case.default.0x42c53e
mov edi, dword [edi + 4]
mov edx, dword [esi + 0x48]
lea ecx, [edi + edi*4]
lea esi, [edx + ecx*8 - 0x28]
mov ecx, esi
mov dword [ebp - 0xe8], esi
call fcn.00425310
test eax, eax
jne 0x42d1ba
mov ebx, dword [ebp - 0xf4]
push 0x800
push esi
call fcn.00425340
add esp, 8
jmp case.default.0x42c53e
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xe4], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0xe0], eax
mov ecx, dword [edi + 8]
lea edx, [eax + eax*4]
lea eax, [ecx + ecx*4]
mov dword [ebp - 0xdc], ecx
lea edi, [ebx + edx*8]
lea esi, [ebx + eax*8]
mov ecx, dword [esi + 0x24]
mov dword [ebp - 0xe8], ecx
mov ebx, edi
mov eax, esi
mov dword [esi + 0x24], 0
call fcn.00425400
mov edx, dword [ebp - 0xe8]
mov dword [edi + 0x24], edx
mov eax, dword [ebp - 0xe4]
mov ecx, eax
dec eax
add edi, 0x28
add esi, 0x28
mov dword [ebp - 0xe4], eax
test ecx, ecx
jne 0x42c8cb
mov dword [ebp - 0xf4], esi
jmp case.default.0x42c53e
mov edx, dword [edi + 0xc]
mov dword [ebp - 0xe8], edx
mov eax, dword [edi + 4]
mov edi, dword [edi + 8]
lea eax, [eax + eax*4]
lea ecx, [edi + edi*4]
lea esi, [ebx + eax*8]
lea ebx, [ebx + ecx*8]
mov dword [ebp - 0xf4], ebx
push 0x1000
push esi
call fcn.00425340
mov edx, 0x1000
add esp, 8
test word [ebx + 0x1c], dx
je 0x42c95a
mov eax, ebx
call fcn.00424b20
test eax, eax
jne 0x42dbf6
mov eax, dword [ebp - 0xe8]
mov ecx, eax
dec eax
mov dword [ebp - 0xe8], eax
test ecx, ecx
je case.default.0x42c53e
add dword [ebp - 0xf4], 0x28
mov ebx, dword [ebp - 0xf4]
add esi, 0x28
jmp 0x42c932
mov eax, dword [edi + 8]
mov edi, dword [edi + 4]
lea edx, [eax + eax*4]
lea eax, [ebx + edx*8]
lea ecx, [edi + edi*4]
lea edx, [ebx + ecx*8]
push 0x1000
push edx
mov ebx, eax
mov dword [ebp - 0xf4], eax
call fcn.00425340
add esp, 8
jmp case.default.0x42c53e
mov eax, dword [ebp - 0xf0]
mov eax, dword [eax + 0x11c]
test eax, eax
je 0x42c9e8
mov ecx, dword [ebp - 0x120]
cmp dword [ebp - 0x124], ecx
jb 0x42c9e8
mov edx, dword [ebp - 0xf0]
mov ecx, dword [edx + 0x120]
push ecx
call eax
add esp, 4
test eax, eax
jne 0x4318ca
push 0
mov eax, esi
call fcn.004280f0
add esp, 4
mov dword [ebp - 0xec], eax
test eax, eax
jne case.default.0x42c53e
push 1
push esi
call fcn.00427fd0
add esp, 8
mov dword [ebp - 0xec], eax
test eax, eax
jne case.default.0x42c53e
mov eax, dword [esi + 0x54]
add eax, 2
or eax, 1
mov dword [esi + 0x54], eax
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
lea ebx, [ebx + ecx*8]
xor ecx, ecx
mov dword [esi + 0x14], ebx
mov dword [ebp - 0xe8], ebx
mov dword [ebp - 0xe4], ecx
cmp dword [edi + 8], ecx
jle 0x42caaa
mov eax, dword [ebp - 0xe8]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*8]
mov edx, 0x1000
test word [eax + 0x1c], dx
je 0x42ca70
call fcn.00424b20
test eax, eax
jne 0x42dbf6
mov ecx, dword [ebp - 0xe4]
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0xe8]
lea eax, [ecx + eax*8]
call fcn.00424be0
mov eax, dword [ebp - 0xe4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xe8]
lea ecx, [eax + edx*8]
call fcn.0042c190
mov ecx, dword [ebp - 0xe4]
inc ecx
mov dword [ebp - 0xe4], ecx
cmp ecx, dword [edi + 8]
jl 0x42ca46
mov ecx, dword [ebp - 0xf0]
cmp byte [ecx + 0x40], 0
jne 0x42dbf6
mov edx, dword [ebp - 0xf8]
mov eax, dword [ebp - 0xfc]
inc edx
mov dword [eax + 0x58], edx
mov edi, 0x64
jmp 0x431962
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [edi + 8]
mov edi, dword [edi + 0xc]
lea ecx, [ebx + edx*8]
lea eax, [eax + eax*4]
lea edx, [ebx + eax*8]
lea eax, [edi + edi*4]
lea edi, [ebx + eax*8]
movzx eax, word [ecx + 0x1c]
mov dword [ebp - 0x108], ecx
mov cl, byte [edx + 0x1c]
or cl, al
mov dword [ebp - 0x104], edx
mov dword [ebp - 0xf4], edi
test cl, 1
je 0x42cb1b
mov esi, edi
call fcn.00425110
jmp case.default.0x42c53e
test eax, 0x4000
je 0x42cb35
mov eax, dword [ebp - 0x108]
call fcn.00424b80
test eax, eax
jne 0x42dbf6
mov eax, dword [ebp - 0x104]
mov edx, 0x4000
test word [eax + 0x1c], dx
je 0x42cb53
call fcn.00424b80
test eax, eax
jne 0x42dbf6
mov ecx, dword [ebp - 0x108]
mov bl, 0x12
test byte [ecx + 0x1c], bl
jne 0x42cb76
movzx esi, byte [ebp - 0x10c]
mov eax, ecx
call fcn.00424c30
test eax, eax
jne 0x42dbf6
mov edx, dword [ebp - 0x104]
test byte [edx + 0x1c], bl
jne 0x42cb97
movzx esi, byte [ebp - 0x10c]
mov eax, edx
call fcn.00424c30
test eax, eax
jne 0x42dbf6
mov eax, dword [ebp - 0x108]
mov eax, dword [eax + 0x18]
mov ecx, dword [ebp - 0x104]
add eax, dword [ecx + 0x18]
cdq
mov ecx, edx
mov edx, dword [ebp - 0xf0]
mov esi, eax
mov dword [ebp - 0xe8], esi
mov dword [ebp - 0xe4], ecx
mov eax, dword [edx + 0x58]
cdq
cmp ecx, edx
jg 0x42d1ba
jl 0x42cbd6
cmp esi, eax
ja 0x42d1ba
mov ax, word [edi + 0x1c]
mov esi, dword [ebp - 0x104]
mov ecx, 0xbe02
and ax, cx
or ax, 2
xor edx, edx
cmp edi, esi
sete dl
mov word [edi + 0x1c], ax
mov eax, dword [ebp - 0xe8]
add eax, 2
push edx
call fcn.00424a00
add esp, 4
test eax, eax
jne 0x42dbf6
cmp edi, esi
je 0x42cc29
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 4]
mov edx, dword [edi + 4]
push eax
push ecx
push edx
call fcn.004d7d50
add esp, 0xc
mov eax, dword [ebp - 0x108]
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 4]
mov eax, dword [edi + 4]
add eax, dword [esi + 0x18]
push ecx
push edx
push eax
call fcn.004d7d50
mov edx, dword [ebp - 0xe8]
mov ecx, dword [edi + 4]
mov byte [edx + ecx], 0
mov ecx, dword [ebp - 0xe8]
mov eax, dword [edi + 4]
mov byte [eax + ecx + 1], 0
mov cl, byte [ebp - 0x10c]
mov edx, 0x200
add esp, 0xc
or word [edi + 0x1c], dx
mov eax, dword [ebp - 0xe8]
mov dword [edi + 0x18], eax
mov byte [edi + 0x1f], cl
jmp case.default.0x42c53e
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x100]
lea ebx, [eax + edx*8]
mov esi, ebx
call fcn.0042c280
mov eax, dword [edi + 8]
mov edx, dword [ebp - 0x100]
lea ecx, [eax + eax*4]
lea esi, [edx + ecx*8]
call fcn.0042c280
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp - 0x100]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
movzx eax, word [ebx + 0x1c]
movzx ecx, word [esi + 0x1c]
or eax, ecx
mov dword [ebp - 0xf4], edx
mov dword [ebp - 0xe4], eax
test al, 1
jne 0x42cf7d
mov dl, byte [ebx + 0x1c]
and dl, byte [esi + 0x1c]
test dl, 4
je 0x42ce3c
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xe0], eax
mov ecx, dword [ebx + 0x14]
mov dword [ebp - 0xdc], ecx
mov edx, dword [esi + 0x10]
mov dword [ebp - 0xd8], edx
mov edx, dword [esi + 0x14]
mov dword [ebp - 0xd4], edx
mov byte [ebp - 0xe8], 1
movzx edx, byte [edi]
add edx, 0xffffffa9
cmp edx, 3
ja case.default.0x42cd21
jmp dword [edx*4 + 0x432154]
push ecx
push eax
lea eax, [ebp - 0xd8]
push eax
call fcn.0040c3a0
add esp, 0xc
test eax, eax
jne 0x42ce43
jmp 0x42ce0b
push ecx
push eax
lea edx, [ebp - 0xd8]
call fcn.0040c430
add esp, 8
test eax, eax
jne 0x42ce43
jmp 0x42ce0b
push ecx
push eax
lea ecx, [ebp - 0xd8]
push ecx
call fcn.0040c480
add esp, 0xc
test eax, eax
jne 0x42ce43
jmp 0x42ce0b
mov edx, eax
or edx, ecx
je 0x42cf7d
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x42cdad
cmp dword [ebp - 0xd8], 0
jne 0x42cdad
cmp dword [ebp - 0xd4], 0x80000000
je 0x42ce43
push ecx
mov ecx, dword [ebp - 0xd8]
push eax
mov eax, dword [ebp - 0xd4]
push eax
push ecx
call fcn.004d77d0
jmp 0x42cdff
mov edx, eax
or edx, ecx
je 0x42cf7d
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x42cdea
mov eax, 1
xor ecx, ecx
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xdc], ecx
push ecx
mov ecx, dword [ebp - 0xd8]
push eax
mov eax, dword [ebp - 0xd4]
push eax
push ecx
call fcn.004d7880
mov dword [ebp - 0xd4], edx
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xf4]
mov edx, dword [ebp - 0xd8]
mov dword [eax + 0x10], edx
mov ecx, dword [ebp - 0xd4]
mov dx, word [eax + 0x1c]
mov dword [eax + 0x14], ecx
mov ecx, 0xbe04
and dx, cx
or dx, 4
mov word [eax + 0x1c], dx
jmp case.default.0x42c53e
mov byte [ebp - 0xe8], 0
mov eax, ebx
call fcn.00424ed0
fstp qword [ebp - 0xd0]
mov eax, esi
call fcn.00424ed0
fst qword [ebp - 0xc8]
movzx eax, byte [edi]
add eax, 0xffffffa9
cmp eax, 3
ja case.default.0x42ce68
jmp dword [eax*4 + 0x432164]
fadd qword [ebp - 0xd0]
jmp 0x42cf18
fsub qword [ebp - 0xd0]
jmp 0x42cf18
fmul qword [ebp - 0xd0]
jmp 0x42cf18
fld qword [ebp - 0xd0]
fld st(0)
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x42cf79
fdivp st(1)
jmp 0x42cf18
fld qword [ebp - 0xd0]
call fcn.004df916
mov esi, eax
mov edi, edx
mov dword [ebp - 0xe0], esi
mov dword [ebp - 0xdc], edi
call fcn.004df916
mov ecx, esi
or ecx, edi
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], edx
je 0x42cf7d
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x42cefd
mov esi, 1
xor edi, edi
mov dword [ebp - 0xe0], esi
mov dword [ebp - 0xdc], edi
push edi
push esi
push edx
push eax
call fcn.004d7880
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x13c], edx
fild qword [ebp - 0x140]
sub esp, 8
fst qword [ebp - 0xc8]
fstp qword [esp]
call fcn.0040b350
add esp, 8
test eax, eax
jne 0x42cf7d
mov eax, dword [ebp - 0xf4]
fld qword [ebp - 0xc8]
mov dx, word [eax + 0x1c]
fstp qword [eax + 8]
mov ecx, 0xbe08
and dx, cx
or dx, 8
mov word [eax + 0x1c], dx
test byte [ebp - 0xe4], 8
jne case.default.0x42c53e
cmp byte [ebp - 0xe8], 0
jne case.default.0x42c53e
mov esi, eax
call fcn.00424f20
jmp case.default.0x42c53e
fstp st(0)
fstp st(0)
mov esi, dword [ebp - 0xf4]
call fcn.00425110
jmp case.default.0x42c53e
mov edi, dword [edi + 4]
test edi, edi
je case.default.0x42c53e
mov eax, dword [ebp - 0x100]
lea edx, [edi + edi*4]
push 0
push 0
lea esi, [eax + edx*8]
call fcn.00425160
add esp, 8
jmp case.default.0x42c53e
movzx ecx, byte [edi + 3]
mov edx, dword [esi + 0xc]
mov dword [ebp - 0x98], edx
mov dword [ebp - 0x94], ecx
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea edx, [ebx + eax*8]
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
xor eax, eax
mov dword [ebp - 0xf4], edx
mov dword [ebp - 0xe4], ebx
mov dword [ebp - 0xe8], eax
test ecx, ecx
jle 0x42d04a
mov ecx, dword [ebp - 0x98]
mov dword [ecx + eax*4], ebx
mov eax, dword [ebp - 0xe4]
mov edx, 0x1000
test word [eax + 0x1c], dx
je 0x42d01f
call fcn.00424b20
test eax, eax
jne 0x42dbf6
mov eax, dword [ebp - 0xe4]
mov ecx, eax
call fcn.0042c190
mov eax, dword [ebp - 0xe8]
mov ebx, dword [ebp - 0xe4]
inc eax
add ebx, 0x28
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], ebx
cmp eax, dword [ebp - 0x94]
jl 0x42cff2
mov eax, dword [edi + 0x10]
mov ebx, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ebp - 0xfc]
mov dword [ebp - 0xa4], ecx
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xa8], edx
mov ecx, 0xa
mov esi, ebx
lea edi, [ebp - 0xd8]
rep movsd dword es:[edi], dword [esi]
xor edi, edi
mov dword [ebx + 0x20], edi
mov dword [ebx + 0x24], edi
mov eax, 1
mov word [ebx + 0x1c], ax
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xe0]
and ecx, 0xbe01
or ecx, eax
mov word [ebp - 0xbc], cx
mov byte [ebp - 0x9b], 0
test byte [edx + 2], 0x20
je 0x42d0c8
mov eax, dword [ebp - 0x104]
mov ecx, dword [eax - 4]
mov dword [ebp - 0xac], ecx
mov edx, dword [ebp - 0x118]
mov esi, dword [ebp - 0xf0]
mov eax, dword [ebp - 0x114]
mov dword [esi + 0x24], eax
mov dword [esi + 0x20], edx
mov ecx, dword [ebp - 0x98]
mov edx, dword [ebp - 0x94]
push ecx
mov ecx, dword [ebp - 0xe0]
push edx
mov edx, dword [ecx + 0xc]
lea eax, [ebp - 0xe0]
push eax
call edx
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x24]
add esp, 0xc
cmp byte [esi + 0x40], 0
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x114], ecx
jne 0x431d41
cmp byte [ebp - 0x9b], 0
je 0x42d18a
cmp dword [ebp - 0xa0], edi
je 0x42d16a
mov bl, 1
lea edi, [ebp - 0xd8]
call fcn.004259f0
push eax
mov eax, dword [ebp - 0xfc]
push 0x4e2a14
mov edx, esi
push edx
add eax, 0x38
push eax
call fcn.00409480
mov ecx, dword [ebp - 0xa0]
mov ebx, dword [ebp - 0xf4]
add esp, 0x10
mov dword [ebp - 0xec], ecx
mov edx, dword [ebp - 0x104]
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ebp - 0xfc]
push eax
push ecx
push edx
call fcn.00428770
add esp, 0xc
movzx ecx, byte [ebp - 0x10c]
lea eax, [ebp - 0xd8]
call fcn.004249e0
mov ecx, 0xa
lea esi, [ebp - 0xd8]
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
call fcn.00425310
test eax, eax
je case.default.0x42c53e
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ebp - 0xfc]
push str.string_or_blob_too_big
push ecx
add edx, 0x38
push edx
call fcn.00409480
add esp, 0xc
mov dword [ebp - 0xec], 0x12
jmp 0x4318d4
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov eax, dword [edi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0xc]
lea ecx, [ebx + ecx*8]
lea edx, [eax + eax*4]
mov al, byte [ecx + 0x1c]
or al, byte [esi + 0x1c]
lea ebx, [ebx + edx*8]
mov dword [ebp - 0xf4], ebx
test al, 1
je 0x42d21e
mov esi, ebx
call fcn.00425110
jmp case.default.0x42c53e
call fcn.00424e60
mov ecx, esi
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], edx
call fcn.00424e60
mov ebx, eax
mov esi, edx
mov dword [ebp - 0xd8], ebx
mov dword [ebp - 0xd4], esi
mov al, byte [edi]
mov byte [ebp - 0xd0], al
cmp al, 0x53
jne 0x42d263
and dword [ebp - 0xe8], ebx
and dword [ebp - 0xe4], esi
jmp 0x42d38a
cmp al, 0x54
jne 0x42d278
or dword [ebp - 0xe8], ebx
or dword [ebp - 0xe4], esi
jmp 0x42d38a
mov ecx, ebx
or ecx, esi
je 0x42d38a
test esi, esi
jg 0x42d2c2
jl 0x42d28c
test ebx, ebx
jae 0x42d2b7
mov dl, 0xab
sub dl, al
mov al, dl
mov byte [ebp - 0xd0], al
cmp esi, 0xffffffff
jl 0x42d2ef
jg 0x42d2a4
cmp ebx, 0xffffffc0
jbe 0x42d2ef
neg ebx
adc esi, 0
neg esi
mov dword [ebp - 0xd8], ebx
mov dword [ebp - 0xd4], esi
test esi, esi
jl 0x42d316
jg 0x42d2c2
cmp ebx, 0x40
jb 0x42d316
cmp dword [ebp - 0xe4], 0
jg 0x42d305
jl 0x42d2d6
cmp dword [ebp - 0xe8], 0
jae 0x42d305
cmp al, 0x55
je 0x42d305
or eax, 0xffffffff
cdq
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], edx
jmp 0x42d38a
mov dword [ebp - 0xd8], 0x40
mov dword [ebp - 0xd4], 0
jmp 0x42d2c2
xor eax, eax
cdq
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], edx
jmp 0x42d38a
mov edx, dword [ebp - 0xe4]
cmp al, 0x55
mov eax, dword [ebp - 0xe8]
mov ecx, ebx
jne 0x42d333
call fcn.004df990
mov esi, eax
mov edi, edx
jmp 0x42d372
call fcn.004dd250
cmp dword [ebp - 0xe4], 0
mov esi, eax
mov edi, edx
mov dword [ebp - 0xe0], esi
mov dword [ebp - 0xdc], edi
jg 0x42d37e
jl 0x42d35c
cmp dword [ebp - 0xe8], 0
jae 0x42d37e
mov ecx, 0x40
sub ecx, ebx
or eax, 0xffffffff
or edx, 0xffffffff
call fcn.004df990
or esi, eax
or edi, edx
mov dword [ebp - 0xdc], edi
mov dword [ebp - 0xe0], esi
mov dword [ebp - 0xe8], esi
mov dword [ebp - 0xe4], edi
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xe8]
mov dword [eax + 0x10], ecx
mov edx, dword [ebp - 0xe4]
mov cx, word [eax + 0x1c]
mov dword [eax + 0x14], edx
mov edx, 0xbe04
and cx, dx
or cx, 4
mov word [eax + 0x1c], cx
jmp case.default.0x42c53e
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x100]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
call fcn.00424fc0
mov eax, dword [edi + 8]
cdq
add dword [esi + 0x10], eax
adc dword [esi + 0x14], edx
jmp case.default.0x42c53e
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
movzx eax, word [ebx + edx*8 + 0x1c]
lea esi, [ebx + edx*8]
test al, 4
jne 0x42d41f
call fcn.0042c280
test byte [esi + 0x1c], 8
je 0x42d400
call fcn.00424f20
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x42d41f
mov edi, dword [edi + 8]
test edi, edi
je 0x431d55
dec edi
mov dword [ebp - 0xf8], edi
jmp case.default.0x42c53e
and eax, 0xbe04
or eax, 4
mov word [esi + 0x1c], ax
jmp case.default.0x42c53e
mov edi, dword [edi + 4]
lea eax, [edi + edi*4]
test byte [ebx + eax*8 + 0x1c], 4
lea esi, [ebx + eax*8]
je case.default.0x42c53e
call fcn.00424ff0
jmp case.default.0x42c53e
mov edi, dword [edi + 4]
lea ecx, [edi + edi*4]
movzx eax, word [ebx + ecx*8 + 0x1c]
lea edi, [ebx + ecx*8]
test al, 1
jne case.default.0x42c53e
mov ecx, eax
shr ecx, 3
and ecx, 2
or ecx, eax
mov word [edi + 0x1c], cx
test cl, 2
jne 0x42d48a
test cl, 0xc
je 0x42d48a
movzx esi, byte [ebp - 0x10c]
mov eax, edi
call fcn.00424c30
mov eax, 0xfff3
and word [edi + 0x1c], ax
movzx eax, word [edi + 0x1c]
test eax, 0x4000
je 0x42d4b9
mov eax, edi
call fcn.00424b80
mov ecx, 0xbfe3
and word [edi + 0x1c], cx
mov dword [ebp - 0xec], eax
jmp case.default.0x42c53e
mov ecx, 0xbfe3
and word [edi + 0x1c], cx
mov dword [ebp - 0xec], 0
jmp case.default.0x42c53e
mov edi, dword [edi + 4]
lea edx, [edi + edi*4]
movzx eax, word [ebx + edx*8 + 0x1c]
lea edi, [ebx + edx*8]
test al, 1
jne case.default.0x42c53e
test al, 0x10
jne 0x42d51a
test al, 2
jne 0x42d501
test al, 0xc
je 0x42d501
movzx esi, byte [ebp - 0x10c]
mov eax, edi
call fcn.00424c30
mov ax, word [edi + 0x1c]
mov ecx, 0xbe10
and ax, cx
or ax, 0x10
mov word [edi + 0x1c], ax
jmp case.default.0x42c53e
and eax, 0xfe10
mov word [edi + 0x1c], ax
jmp case.default.0x42c53e
mov edi, dword [edi + 4]
lea edx, [edi + edi*4]
lea eax, [ebx + edx*8]
call fcn.00425050
jmp case.default.0x42c53e
mov edi, dword [edi + 4]
lea eax, [edi + edi*4]
test byte [ebx + eax*8 + 0x1c], 1
lea esi, [ebx + eax*8]
jne case.default.0x42c53e
call fcn.00424fc0
jmp case.default.0x42c53e
mov edi, dword [edi + 4]
lea ecx, [edi + edi*4]
test byte [ebx + ecx*8 + 0x1c], 1
lea esi, [ebx + ecx*8]
jne case.default.0x42c53e
call fcn.00424ff0
jmp case.default.0x42c53e
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0xc]
lea esi, [ebx + edx*8]
mov dx, word [esi + 0x1c]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov word [ebp - 0xe2], dx
mov ax, word [ecx + 0x1c]
mov dl, al
mov word [ebp - 0xe0], ax
mov al, byte [ebp - 0xe2]
or dl, al
mov dword [ebp - 0x108], ecx
test dl, 1
je 0x42d62b
mov dl, byte [edi + 3]
test dl, dl
jns 0x42d5e5
test al, 1
je 0x42d5db
test byte [ebp - 0xe0], 1
je 0x42d5db
test dword [ebp - 0xe0], 0x100
jne 0x42d5db
xor eax, eax
jmp 0x42d6c4
mov eax, 1
jmp 0x42d6c4
test dl, 8
je 0x42d5f9
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf8], edi
jmp case.default.0x42c53e
test dl, 0x10
je case.default.0x42c53e
mov edi, dword [edi + 8]
lea eax, [edi + edi*4]
mov cx, word [ebx + eax*8 + 0x1c]
lea eax, [ebx + eax*8]
mov edx, 0xbe01
and cx, dx
or cx, 1
mov dword [ebp - 0xf4], eax
mov word [eax + 0x1c], cx
jmp case.default.0x42c53e
mov al, byte [edi + 3]
and al, 0x67
mov byte [ebp - 0xe4], al
je 0x42d67a
mov ebx, dword [ebp - 0x10c]
push ebx
mov edi, esi
call fcn.0042c300
mov al, byte [ebp - 0xe4]
mov edi, dword [ebp - 0x108]
add esp, 4
push ebx
call fcn.0042c300
mov eax, dword [ebp - 0xf0]
add esp, 4
cmp byte [eax + 0x40], 0
jne 0x42dbf6
mov edi, dword [ebp - 0x104]
mov ecx, dword [ebp - 0x108]
mov edx, 0x4000
test word [esi + 0x1c], dx
je 0x42d692
mov eax, esi
call fcn.00424b80
mov ecx, dword [ebp - 0x108]
mov eax, 0x4000
test word [ecx + 0x1c], ax
je 0x42d6aa
mov eax, ecx
call fcn.00424b80
mov ecx, dword [ebp - 0x108]
mov edx, dword [edi + 0x10]
push edx
mov eax, esi
call fcn.00425650
mov ebx, dword [ebp - 0x100]
mov ecx, dword [ebp - 0x108]
add esp, 4
mov dword [ebp - 0xe8], eax
movzx edx, byte [edi]
add edx, 0xffffffb4
cmp edx, 4
ja case.default.0x42d6d5
jmp dword [edx*4 + 0x432174]
xor edx, edx
test eax, eax
sete dl
jmp 0x42d710
xor edx, edx
test eax, eax
setne dl
jmp 0x42d710
xor edx, edx
test eax, eax
sets dl
jmp 0x42d710
xor edx, edx
test eax, eax
setle dl
jmp 0x42d710
xor edx, edx
test eax, eax
setg dl
jmp 0x42d710
xor edx, edx
test eax, eax
setns dl
mov eax, edx
mov dword [ebp - 0xe8], eax
test byte [edi + 3], 0x10
je 0x42d751
mov edi, dword [edi + 8]
lea eax, [edi + edi*4]
mov dx, word [ebx + eax*8 + 0x1c]
lea ebx, [ebx + eax*8]
mov eax, 0xbe04
and dx, ax
or dx, 4
mov word [ebx + 0x1c], dx
mov eax, dword [ebp - 0xe8]
cdq
mov dword [ebp - 0xf4], ebx
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
jmp 0x42d75f
test eax, eax
je 0x42d75f
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf8], edi
movzx edx, word [esi + 0x1c]
xor dx, word [ebp - 0xe2]
mov eax, 0x1ff
and dx, ax
xor word [esi + 0x1c], dx
movzx edx, word [ecx + 0x1c]
xor dx, word [ebp - 0xe0]
and dx, ax
xor word [ecx + 0x1c], dx
jmp case.default.0x42c53e
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0x128], ecx
jmp case.default.0x42c53e
test byte [edi + 3], 1
jne 0x42d7ab
mov dword [ebp - 0x128], 0
mov ecx, dword [edi + 0xc]
mov dword [ebp - 0xe8], ecx
mov esi, dword [edi + 0x10]
mov dword [ebp - 0xd8], esi
mov edx, dword [edi + 4]
mov dword [ebp - 0xe0], edx
mov eax, dword [edi + 8]
mov dword [ebp - 0xdc], eax
xor eax, eax
mov dword [ebp - 0xe4], eax
test ecx, ecx
jle 0x42d887
mov edi, dword [ebp - 0x100]
mov ebx, dword [ebp - 0x128]
jmp 0x42d7f6
mov esi, dword [ebp - 0xd8]
test ebx, ebx
je 0x42d7ff
mov ecx, dword [ebx + eax*4]
jmp 0x42d801
mov ecx, eax
mov dword [ebp - 0xd4], ecx
mov edx, dword [esi + eax*4 + 0x14]
mov dword [ebp - 0xd0], edx
mov esi, dword [esi + 0x10]
movzx eax, byte [esi + eax]
mov dword [ebp - 0xcc], eax
push edx
mov edx, dword [ebp - 0xdc]
lea eax, [ecx + edx]
add ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea ecx, [ecx + ecx*4]
lea eax, [edi + eax*8]
lea ecx, [edi + ecx*8]
call fcn.00425650
add esp, 4
mov dword [ebp - 0x12c], eax
test eax, eax
jne 0x42d870
mov eax, dword [ebp - 0xe4]
inc eax
mov dword [ebp - 0xe4], eax
cmp eax, dword [ebp - 0xe8]
jl 0x42d7f0
mov dword [ebp - 0x128], 0
jmp case.default.0x42c53e
cmp dword [ebp - 0xcc], 0
je 0x42d887
mov edx, dword [ebp - 0x12c]
neg edx
mov dword [ebp - 0x12c], edx
mov dword [ebp - 0x128], 0
jmp case.default.0x42c53e
mov eax, dword [ebp - 0x12c]
test eax, eax
jns 0x42d8af
mov edi, dword [edi + 4]
dec edi
mov dword [ebp - 0xf8], edi
jmp case.default.0x42c53e
jne 0x42d8c0
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf8], edi
jmp case.default.0x42c53e
mov edi, dword [edi + 0xc]
dec edi
mov dword [ebp - 0xf8], edi
jmp case.default.0x42c53e
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x1c], 1
lea ecx, [ebx + eax*8]
je 0x42d8e6
mov edx, 2
jmp 0x42d8f8
call fcn.00424e60
or eax, edx
je 0x42d8f6
mov edx, 1
jmp 0x42d8f8
xor edx, edx
mov dword [ebp - 0xe8], edx
mov eax, dword [edi + 8]
lea ecx, [eax + eax*4]
test byte [ebx + ecx*8 + 0x1c], 1
lea ecx, [ebx + ecx*8]
je 0x42d915
mov eax, 2
jmp 0x42d92d
call fcn.00424e60
or eax, edx
mov edx, dword [ebp - 0xe8]
je 0x42d92b
mov eax, 1
jmp 0x42d92d
xor eax, eax
mov dword [ebp - 0xe4], eax
cmp byte [edi], 0x46
jne 0x42d945
lea eax, [eax + edx*2]
movzx eax, byte [edx + eax + 0x4e3878]
jmp 0x42d950
lea ecx, [eax + edx*2]
movzx eax, byte [edx + ecx + 0x4e3884]
mov dword [ebp - 0xe8], eax
mov edi, dword [edi + 0xc]
lea edx, [edi + edi*4]
lea ebx, [ebx + edx*8]
mov dword [ebp - 0xf4], ebx
cmp eax, 2
jne 0x42d983
mov ax, word [ebx + 0x1c]
mov ecx, 0xbe01
and ax, cx
or ax, 1
mov word [ebx + 0x1c], ax
jmp case.default.0x42c53e
cdq
mov dword [ebx + 0x14], edx
mov dx, word [ebx + 0x1c]
mov dword [ebx + 0x10], eax
mov eax, 0xbe04
and dx, ax
or dx, 4
mov word [ebx + 0x1c], dx
jmp case.default.0x42c53e
mov eax, dword [edi + 4]
mov edi, dword [edi + 8]
lea ecx, [eax + eax*4]
test byte [ebx + ecx*8 + 0x1c], 1
lea edx, [edi + edi*4]
lea ecx, [ebx + ecx*8]
lea esi, [ebx + edx*8]
mov dword [ebp - 0xf4], esi
je 0x42d9cc
call fcn.00425110
jmp case.default.0x42c53e
call fcn.00424e60
or eax, edx
jne 0x42d9ea
mov eax, 1
cdq
push edx
push eax
call fcn.00425160
add esp, 8
jmp case.default.0x42c53e
xor eax, eax
cdq
push edx
push eax
call fcn.00425160
add esp, 8
jmp case.default.0x42c53e
mov eax, dword [edi + 4]
mov edi, dword [edi + 8]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x1c], 1
lea edx, [edi + edi*4]
lea ecx, [ebx + eax*8]
lea esi, [ebx + edx*8]
mov dword [ebp - 0xf4], esi
je 0x42da25
call fcn.00425110
jmp case.default.0x42c53e
call fcn.00424e60
not edx
not eax
push edx
push eax
call fcn.00425160
add esp, 8
jmp case.default.0x42c53e
mov eax, dword [esi + 0xd8]
mov ecx, dword [edi + 4]
cmp byte [eax + ecx], 0
je 0x42da5b
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf8], edi
jmp case.default.0x42c53e
mov byte [eax + ecx], 1
jmp case.default.0x42c53e
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
test byte [ebx + edx*8 + 0x1c], 1
lea eax, [ebx + edx*8]
je 0x42da79
mov eax, dword [edi + 0xc]
jmp 0x42daa6
call fcn.00424ed0
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x42da90
mov eax, 1
jmp 0x42da92
xor eax, eax
mov dword [ebp - 0xe8], eax
cmp byte [edi], 0x2a
jne 0x42daac
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
mov dword [ebp - 0xe8], eax
test eax, eax
je case.default.0x42c53e
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf8], edi
jmp case.default.0x42c53e
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
test byte [ebx + edx*8 + 0x1c], 1
je case.default.0x42c53e
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf8], edi
jmp case.default.0x42c53e
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x1c], 1
jne case.default.0x42c53e
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf8], edi
jmp case.default.0x42c53e
mov ecx, dword [edi + 8]
mov dword [ebp - 0xe0], ecx
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x100]
lea ecx, [eax + edx*8]
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0xc4], ecx
mov edx, dword [edi + 4]
mov ecx, dword [eax + 0x44]
mov esi, dword [ecx + edx*4]
lea eax, [esi + 0x58]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xdc], esi
movsx edx, word [esi + 0x14]
lea eax, [eax + edx*4]
mov dword [ebp - 0xd0], eax
mov ecx, dword [esi]
mov dword [ebp - 0xd8], ecx
call fcn.00428d60
mov dword [ebp - 0xec], eax
test eax, eax
jne 0x431e4b
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx + 0x44]
mov ecx, dword [ebp - 0xfc]
cmp eax, dword [ecx + 0x54]
jne 0x42db85
test byte [edi + 3], 0x20
je 0x42ddd3
cmp byte [edx + 0x19], 0
je 0x42dc86
cmp dword [ebp - 0xd8], 0
jne 0x42dc56
mov eax, dword [edx + 0x10]
mov ecx, dword [ebp - 0x100]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x7c], eax
test byte [edx + 0x1c], 8
je 0x42dc27
mov ecx, dword [ebp - 0xe0]
mov ebx, dword [ebp - 0xc4]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*8]
push 0x1000
push eax
call fcn.00425340
mov eax, dword [ebp - 0xc4]
mov ecx, 0x1000
add esp, 8
test word [eax + 0x1c], cx
je 0x42e1d4
call fcn.00424b20
test eax, eax
je 0x42e1d4
mov eax, dword [ebp - 0xf0]
push str.out_of_memory
push eax
mov byte [eax + 0x40], 1
mov eax, dword [ebp - 0xfc]
add eax, 0x38
push eax
call fcn.00409480
add esp, 0xc
mov dword [ebp - 0xec], 7
jmp 0x4318d4
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x84], eax
mov dword [edx + 0x4c], eax
mov edx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x84]
mov dword [edx + 0x48], eax
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ecx + 4]
mov eax, dword [ebp - 0xdc]
mov dword [eax + 0x54], edx
jmp 0x42dd2c
mov eax, dword [ebp - 0xc4]
mov cx, word [eax + 0x1c]
mov edx, 0xbe01
and cx, dx
or cx, 1
mov word [eax + 0x1c], cx
mov eax, dword [ebp - 0xc4]
call fcn.00424b20
mov dword [ebp - 0xec], eax
jmp case.default.0x42c53e
test byte [edx + 0x1c], 2
mov esi, dword [ebp - 0xd8]
jne 0x42dccf
lea edi, [ebp - 0xe8]
call fcn.0041d750
mov esi, dword [ebp - 0xd8]
lea eax, [ebp - 0x84]
push eax
call fcn.0041dd90
mov ecx, dword [ebp - 0xdc]
mov edi, dword [ebp - 0x104]
mov dword [ecx + 0x54], eax
mov edx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xe8]
mov dword [edx + 0x48], eax
jmp 0x42dcf6
add edx, 0x48
push edx
call fcn.0041d7c0
mov eax, dword [ebp - 0xd8]
add esp, 4
lea ecx, [ebp - 0x84]
push ecx
call fcn.0041ddf0
mov edx, dword [ebp - 0xdc]
mov dword [edx + 0x54], eax
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ecx + 0x48]
mov edx, dword [ebp - 0x84]
add esp, 4
cmp eax, edx
ja 0x42dd11
mov dword [ecx + 0x4c], eax
jmp 0x42dd14
mov dword [ecx + 0x4c], edx
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0x48]
mov edx, dword [ebp - 0xf0]
cmp ecx, dword [edx + 0x58]
ja 0x42d1ba
mov eax, dword [ebp - 0xfc]
mov ecx, dword [eax + 0x54]
mov edx, dword [ebp - 0xdc]
mov dword [edx + 0x44], ecx
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0x54]
mov al, byte [ecx]
cmp al, 0x80
jae 0x42dd5d
movzx ecx, al
mov dword [ebp - 0x8c], ecx
mov eax, 1
jmp 0x42dd6b
lea esi, [ebp - 0x8c]
call fcn.0040c1e0
movzx eax, al
movzx edx, al
mov eax, dword [ebp - 0xdc]
mov dword [eax + 0x50], edx
mov edx, dword [ebp - 0xdc]
xor ecx, ecx
mov word [edx + 0x16], cx
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0xd0]
mov dword [ecx], eax
mov eax, dword [ebp - 0x8c]
cmp dword [ebp - 0x84], eax
jae 0x42ddb9
mov edx, dword [ebp - 0xdc]
xor eax, eax
mov dword [edx + 0x54], eax
mov ecx, dword [ebp - 0xdc]
mov dword [ecx + 0x4c], eax
mov eax, dword [ebp - 0x8c]
cmp eax, 0x18003
ja 0x42e1ea
mov edx, dword [ebp - 0xdc]
cmp eax, dword [edx + 0x48]
ja 0x42e1ea
movzx ecx, word [edx + 0x16]
mov eax, dword [ebp - 0xe0]
mov ebx, dword [ebp - 0xd0]
cmp ecx, eax
jg 0x42e025
mov ecx, dword [edx + 0x50]
cmp ecx, dword [ebx]
jae 0x42dfe6
mov eax, dword [edx + 0x54]
test eax, eax
jne 0x42de80
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], eax
mov edx, dword [edx + 0x1c]
mov ebx, dword [ebx]
shr edx, 1
not edx
and edx, 1
push edx
push eax
mov eax, dword [ebp - 0xd8]
push eax
lea eax, [ebp - 0xc0]
call fcn.004258d0
add esp, 0xc
mov dword [ebp - 0xec], eax
test eax, eax
jne case.default.0x42c53e
mov eax, dword [ebp - 0xbc]
mov ebx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0x98], eax
movzx esi, word [edx + 0x16]
mov dword [ebp - 0xc8], esi
mov ecx, dword [ebx + esi*4]
mov dword [ebp - 0x8c], ecx
mov ecx, dword [edx + 0x50]
add ecx, eax
mov dword [ebp - 0x94], ecx
mov edx, dword [ebx]
add edx, eax
mov dword [ebp - 0x90], edx
mov edi, edi
mov al, byte [ecx]
cmp al, 0x80
jae 0x42dec5
movzx eax, al
inc ecx
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x94], ecx
jmp 0x42dedc
lea esi, [ebp - 0x80]
call fcn.0040c1e0
mov esi, dword [ebp - 0xc8]
movzx ecx, al
add dword [ebp - 0x94], ecx
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0xd4]
mov dword [edx + esi*4], eax
mov eax, dword [ebp - 0x80]
call fcn.00428f20
mov ecx, dword [ebp - 0x8c]
add ecx, eax
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x8c], ecx
cmp ecx, eax
jb 0x42df40
mov eax, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xd0]
inc eax
mov dword [ebp - 0xc8], eax
mov dword [edx + eax*4], ecx
mov esi, dword [ebp - 0xc8]
cmp esi, dword [ebp - 0xe0]
jg 0x42df4d
mov ecx, dword [ebp - 0x94]
cmp ecx, dword [ebp - 0x90]
jb 0x42deb0
jmp 0x42df4d
mov eax, dword [ebp - 0x90]
inc eax
mov dword [ebp - 0x94], eax
mov ecx, dword [ebp - 0xdc]
mov dx, word [ebp - 0xc8]
mov word [ecx + 0x16], dx
mov eax, dword [ebp - 0x94]
sub eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0xdc]
mov dword [ecx + 0x50], eax
mov edx, dword [ebp - 0xdc]
cmp dword [edx + 0x54], 0
jne 0x42dfa0
lea edx, [ebp - 0xc0]
push edx
call fcn.00424dc0
mov edx, dword [ebp - 0xdc]
mov eax, 1
add esp, 4
mov word [ebp - 0xa4], ax
mov esi, dword [ebp - 0x94]
mov ebx, dword [ebp - 0x90]
cmp esi, ebx
ja 0x42dfc5
mov eax, dword [edx + 0x48]
mov ecx, dword [ebp - 0x8c]
cmp ecx, eax
ja 0x42dfc5
cmp esi, ebx
jne 0x42dfda
cmp ecx, eax
je 0x42dfda
mov eax, 0x10d88
call fcn.00477a30
mov dword [ebp - 0xec], eax
jmp case.default.0x42c53e
mov ebx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xe0]
movzx ecx, word [edx + 0x16]
cmp ecx, eax
jg 0x42e025
cmp byte [edi + 1], 0xf8
jne 0x42dc56
mov edx, dword [edi + 0x10]
mov ebx, dword [ebp - 0xc4]
push 0x800
push edx
call fcn.00425340
mov eax, dword [ebp - 0xc4]
add esp, 8
call fcn.00424b20
mov dword [ebp - 0xec], eax
jmp case.default.0x42c53e
mov ecx, dword [edx + 0x4c]
cmp ecx, dword [ebx + eax*4 + 4]
jb 0x42e077
mov esi, dword [ebp - 0xc4]
mov ecx, 0x2460
test word [esi + 0x1c], cx
je 0x42e05e
mov eax, esi
call fcn.00424d50
mov esi, dword [ebp - 0xc4]
mov ebx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebx + eax*4]
add ecx, dword [edx + 0x54]
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + eax*4]
call fcn.00428ff0
jmp 0x42e1c5
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0x80], edx
mov al, byte [edi + 3]
test al, 0xc0
je 0x42e098
cmp edx, 0xc
jb 0x42e094
test dl, 1
je 0x42e0a9
test al, al
js 0x42e0a9
mov eax, edx
call fcn.00428f20
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x42e0cb
mov eax, 0xd
cmp eax, edx
sbb ecx, ecx
not ecx
lea eax, [ebp - 0xe8]
and ecx, eax
mov dword [ebp - 0x9c], 0
jmp 0x42e16d
mov ebx, dword [ebp - 0xc4]
xor eax, eax
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], eax
lea eax, [ebp - 0xc0]
call fcn.00425400
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xe0]
mov ebx, dword [ebp - 0xcc]
shr edx, 1
not edx
and edx, 1
push edx
mov edx, dword [eax + ecx*4]
mov eax, dword [ebp - 0xd8]
push edx
push eax
lea eax, [ebp - 0xc0]
call fcn.004258d0
add esp, 0xc
mov dword [ebp - 0xec], eax
test eax, eax
jne case.default.0x42c53e
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0x80]
mov esi, dword [ebp - 0xc4]
mov eax, edx
mov dword [ebp - 0x98], ecx
call fcn.00428ff0
cmp dword [ebp - 0x9c], 0
je 0x42e1c5
mov eax, dword [ebp - 0xc4]
mov ecx, 0xe7ff
and word [eax + 0x1c], cx
mov eax, dword [ebp - 0xc4]
mov edx, 0x200
or word [eax + 0x1c], dx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xbc]
mov dword [eax + 4], ecx
mov edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x24], edx
mov ecx, dword [ebp - 0xc4]
mov dl, byte [ebp - 0x10c]
mov byte [ecx + 0x1f], dl
mov eax, dword [ebp - 0xc4]
call fcn.00424b20
mov dword [ebp - 0xec], eax
jmp case.default.0x42c53e
mov eax, 0x10d46
call fcn.00477a30
mov dword [ebp - 0xec], eax
jmp case.default.0x42c53e
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0xe8], ecx
mov edi, dword [edi + 4]
lea eax, [edi + edi*4]
lea edi, [ebx + eax*8]
mov al, byte [ecx]
mov byte [ebp - 0xe4], al
test al, al
je 0x42e263
lea ecx, [ecx]
inc ecx
mov dword [ebp - 0xe8], ecx
mov ecx, 0x4000
test word [edi + 0x1c], cx
je 0x42e23f
mov eax, edi
call fcn.00424b80
mov al, byte [ebp - 0xe4]
mov edx, dword [ebp - 0x10c]
push edx
call fcn.0042c300
mov ecx, dword [ebp - 0xe8]
mov al, byte [ecx]
add esp, 4
add edi, 0x28
mov byte [ebp - 0xe4], al
test al, al
jne 0x42e220
inc ecx
mov dword [ebp - 0xe8], ecx
jmp case.default.0x42c53e
xor eax, eax
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xc8], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0xb4], eax
mov ecx, dword [edi + 0x10]
lea edx, [eax + eax*4]
lea eax, [ebx + edx*8]
movzx edx, byte [esi + 0x61]
mov dword [ebp - 0xb0], ecx
mov dword [ebp - 0xbc], eax
mov ecx, dword [edi + 8]
mov dword [ebp - 0xb4], ecx
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*8 - 0x28]
mov dword [ebp - 0xac], edx
mov dword [ebp - 0xb8], ecx
mov edi, dword [edi + 0xc]
lea edx, [edi + edi*4]
lea esi, [ebx + edx*8]
mov edi, eax
mov dword [ebp - 0xf4], esi
mov dword [ebp - 0xe4], edi
cmp eax, ecx
ja 0x42e3c7
cmp dword [ebp - 0xb0], 0
je 0x42e326
mov eax, dword [ebp - 0x10c]
push eax
mov ecx, edi
sub ecx, dword [ebp - 0xbc]
mov eax, 0x66666667
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [ebp - 0xb0]
mov al, byte [ecx + edx]
call fcn.0042c300
mov edi, dword [ebp - 0xe4]
add esp, 4
mov eax, 0x4000
test word [edi + 0x1c], ax
je 0x42e344
cmp dword [edi + 0x18], 0
jle 0x42e344
mov eax, edi
call fcn.00424b80
mov edi, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xac]
push ecx
mov edx, edi
call fcn.00428e10
mov ecx, eax
add esp, 4
mov dword [ebp - 0xc0], ecx
call fcn.00428f20
mov ebx, eax
cdq
add dword [ebp - 0xe0], eax
push 0
push ecx
adc dword [ebp - 0xdc], edx
mov dword [ebp - 0xa4], ebx
call fcn.0040c250
add dword [ebp - 0xd8], eax
mov edx, 0x4000
add esp, 8
test word [edi + 0x1c], dx
je 0x42e39e
mov eax, dword [edi + 0x10]
add dword [ebp - 0xc8], eax
jmp 0x42e3ac
test ebx, ebx
je 0x42e3ac
mov dword [ebp - 0xc8], 0
add edi, 0x28
mov dword [ebp - 0xe4], edi
cmp edi, dword [ebp - 0xb8]
jbe 0x42e2e6
mov esi, dword [ebp - 0xf4]
mov edi, dword [ebp - 0xd8]
mov eax, edi
cdq
push edx
push eax
call fcn.0040c250
mov ebx, eax
add edi, ebx
mov eax, edi
cdq
push edx
push eax
mov dword [ebp - 0xc4], ebx
mov dword [ebp - 0xd8], edi
call fcn.0040c250
add esp, 0x10
cmp ebx, eax
jge 0x42e3ff
inc edi
mov dword [ebp - 0xd8], edi
mov eax, dword [ebp - 0xc8]
cdq
mov ebx, eax
mov eax, edi
mov dword [ebp - 0x108], edx
cdq
mov edi, eax
mov ecx, edx
mov edx, dword [ebp - 0xf0]
sub edi, ebx
sbb ecx, dword [ebp - 0x108]
add edi, dword [ebp - 0xe0]
adc ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xd0], edi
mov dword [ebp - 0xcc], ecx
mov eax, dword [edx + 0x58]
cdq
cmp ecx, edx
jg 0x42d1ba
jl 0x42e451
cmp edi, eax
ja 0x42d1ba
mov eax, edi
push 0
mov edi, esi
call fcn.00424a00
add esp, 4
test eax, eax
jne 0x42dbf6
mov eax, dword [ebp - 0xd8]
mov ecx, dword [esi + 4]
mov dword [ebp - 0xe8], ecx
cmp eax, 0x80
jae 0x42e486
mov byte [ecx], al
mov eax, 1
jmp 0x42e48b
call fcn.0040c030
mov ecx, dword [ebp - 0xbc]
movzx edi, al
mov eax, dword [ebp - 0xb8]
mov edx, ecx
mov dword [ebp - 0xa8], edi
mov dword [ebp - 0xe4], edx
cmp ecx, eax
ja 0x42e51b
lea esp, [esp]
mov ecx, dword [ebp - 0xac]
push ecx
call fcn.00428e10
add esp, 4
mov dword [ebp - 0xc0], eax
cmp eax, 0x80
jae 0x42e4de
mov dl, al
mov eax, dword [ebp - 0xe8]
mov byte [edi + eax], dl
mov eax, 1
jmp 0x42e4eb
mov ecx, dword [ebp - 0xe8]
add ecx, edi
call fcn.0040c030
mov edi, dword [ebp - 0xa8]
movzx edx, al
mov eax, dword [ebp - 0xb8]
add edi, edx
mov edx, dword [ebp - 0xe4]
add edx, 0x28
mov dword [ebp - 0xa8], edi
mov dword [ebp - 0xe4], edx
cmp edx, eax
jbe 0x42e4b0
mov ecx, dword [ebp - 0xbc]
mov dword [ebp - 0xe4], ecx
cmp ecx, eax
ja 0x42e575
jmp 0x42e530
mov eax, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xe8]
sub eax, edi
push eax
mov eax, dword [ebp - 0xac]
lea ebx, [edi + edx]
call fcn.00428f40
mov ecx, dword [ebp - 0xe4]
mov edi, dword [ebp - 0xa8]
add ecx, 0x28
add edi, eax
add esp, 4
mov dword [ebp - 0xa8], edi
mov dword [ebp - 0xe4], ecx
cmp ecx, dword [ebp - 0xb8]
jbe 0x42e530
mov eax, dword [ebp - 0xd0]
mov ecx, 0x410
mov dword [esi + 0x18], eax
mov word [esi + 0x1c], cx
mov dword [esi + 0x20], 0
mov eax, dword [ebp - 0xc8]
test eax, eax
je 0x42e5a4
mov edx, 0x4410
mov dword [esi + 0x10], eax
mov word [esi + 0x1c], dx
mov byte [esi + 0x1f], 1
jmp case.default.0x42c53e
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
mov edx, dword [ecx + eax*4]
mov edi, dword [edx]
lea eax, [ebp - 0xe8]
push eax
mov dword [ebp - 0xe0], edi
call fcn.004221f0
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xf4]
mov dword [eax + 0x10], ecx
mov edx, dword [ebp - 0xe4]
add esp, 4
mov dword [eax + 0x14], edx
jmp case.default.0x42c53e
mov eax, dword [edi + 4]
mov dword [ebp - 0xe8], eax
mov ebx, dword [edi + 0x10]
mov dword [ebp - 0xe4], ebx
test eax, eax
jne 0x42e71a
mov eax, dword [ebp - 0xf0]
cmp dword [eax + 0x94], 0
jle 0x42e626
push str.cannot_open_savepoint___SQL_statements_in_progress
mov ecx, eax
push ecx
jmp 0x42e7ab
mov ecx, ebx
call fcn.0040b380
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0xf0]
mov edx, dword [eax + 0x1ec]
add edx, dword [eax + 0x1e8]
push edx
push 0
push eax
call fcn.00467380
add esp, 0xc
mov dword [ebp - 0xec], eax
test eax, eax
jne 0x431e4b
mov ecx, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xf0]
add ecx, 0x21
call fcn.004092c0
mov dword [ebp - 0xdc], eax
test eax, eax
je case.default.0x42c53e
lea ecx, [eax + 0x20]
mov dword [eax], ecx
mov edx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xdc]
inc edx
push edx
mov edx, dword [ecx]
push eax
push edx
call fcn.004d7d50
mov eax, esi
add esp, 0xc
cmp byte [eax + 0x3e], 0
je 0x42e6b8
mov byte [eax + 0x3e], 0
mov byte [eax + 0x45], 1
jmp 0x42e6be
inc dword [eax + 0x1e8]
mov ecx, dword [eax + 0x1e0]
mov edx, dword [ebp - 0xdc]
mov dword [edx + 0x18], ecx
mov ecx, dword [ebp - 0xdc]
mov edx, dword [eax + 0x1f0]
mov dword [eax + 0x1e0], ecx
mov ecx, dword [ebp - 0xdc]
mov dword [ecx + 8], edx
mov edx, dword [eax + 0x1f4]
mov ecx, dword [ebp - 0xdc]
mov dword [ecx + 0xc], edx
mov edx, dword [eax + 0x1f8]
mov ecx, dword [ebp - 0xdc]
mov dword [ecx + 0x10], edx
mov edx, dword [eax + 0x1fc]
mov eax, dword [ebp - 0xdc]
mov dword [eax + 0x14], edx
jmp case.default.0x42c53e
mov ecx, dword [ebp - 0xf0]
mov dword [ebp - 0xd0], 0
mov edi, dword [ecx + 0x1e0]
mov dword [ebp - 0xd8], edi
test edi, edi
je 0x42e763
lea ebx, [ebx]
mov edx, dword [edi]
push ebx
push edx
call fcn.0040b5f0
add esp, 8
test eax, eax
je 0x42e78b
inc dword [ebp - 0xd0]
mov edi, dword [edi + 0x18]
mov dword [ebp - 0xd8], edi
test edi, edi
jne 0x42e740
mov eax, dword [ebp - 0xf0]
push ebx
push str.no_such_savepoint:__s
push eax
add esi, 0x38
push esi
call fcn.00409480
add esp, 0x10
mov dword [ebp - 0xec], 1
jmp case.default.0x42c53e
mov ebx, dword [ebp - 0xf0]
cmp dword [ebx + 0x94], 0
mov eax, dword [ebp - 0xe8]
jle 0x42e7c6
cmp eax, 1
jne 0x42e7c6
push str.cannot_release_savepoint___SQL_statements_in_progress
push ebx
add esi, 0x38
push esi
call fcn.00409480
add esp, 0xc
mov dword [ebp - 0xec], 5
jmp case.default.0x42c53e
cmp dword [edi + 0x18], 0
jne 0x42e81e
cmp byte [ebx + 0x45], 0
je 0x42e81e
mov dword [ebp - 0x108], 1
cmp eax, 1
jne 0x42e828
push eax
mov eax, esi
call fcn.004280f0
mov edi, eax
add esp, 4
test edi, edi
jne 0x431962
mov eax, esi
mov byte [ebx + 0x3e], 1
call fcn.00428160
cmp eax, 5
je 0x431d64
mov byte [ebx + 0x45], 0
mov ecx, dword [esi + 0x5c]
mov dword [ebp - 0xec], ecx
mov esi, ebx
jmp 0x42e903
mov dword [ebp - 0x108], 0
mov ecx, dword [ebx + 0x1e8]
sub ecx, dword [ebp - 0xd0]
dec ecx
mov dword [ebp - 0xd0], ecx
cmp eax, 2
jne 0x42e882
xor eax, eax
mov dword [ebp - 0xcc], eax
cmp dword [ebx + 0x14], eax
jle 0x42e882
lea ecx, [ecx]
mov edx, dword [ebx + 0x10]
add eax, eax
mov eax, dword [edx + eax*8 + 4]
push 4
push eax
call fcn.0041d1d0
mov eax, dword [ebp - 0xcc]
inc eax
add esp, 8
mov dword [ebp - 0xcc], eax
cmp eax, dword [ebx + 0x14]
jl 0x42e850
mov ecx, dword [ebp - 0xd0]
mov edi, dword [ebp - 0xd8]
xor eax, eax
mov dword [ebp - 0xcc], eax
cmp dword [ebx + 0x14], eax
jle 0x42e8da
mov edx, ebx
jmp 0x42e899
mov ecx, dword [ebp - 0xd0]
mov edx, dword [edx + 0x10]
push ecx
mov ecx, dword [ebp - 0xe8]
add eax, eax
mov eax, dword [edx + eax*8 + 4]
push ecx
call fcn.0041d4e0
add esp, 8
mov dword [ebp - 0xec], eax
test eax, eax
jne 0x431e4b
mov eax, dword [ebp - 0xcc]
inc eax
mov edx, ebx
mov dword [ebp - 0xcc], eax
cmp eax, dword [edx + 0x14]
jl 0x42e893
mov edi, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xf0]
mov ebx, 2
cmp dword [ebp - 0xe8], ebx
jne 0x42e909
test byte [esi + 0x18], bl
je 0x42e909
mov eax, esi
call fcn.004297c0
mov eax, esi
call fcn.00440560
or dword [esi + 0x18], ebx
mov edi, dword [ebp - 0xd8]
cmp dword [esi + 0x1e0], edi
je 0x42e947
mov eax, dword [esi + 0x1e0]
mov dword [ebp - 0xd4], eax
mov eax, dword [eax + 0x18]
mov dword [esi + 0x1e0], eax
mov eax, dword [ebp - 0xd4]
mov ecx, esi
call fcn.00409080
dec dword [esi + 0x1e8]
mov edi, dword [ebp - 0xd8]
cmp dword [esi + 0x1e0], edi
jne 0x42e911
cmp dword [ebp - 0xe8], 1
jne 0x42e981
mov ecx, dword [edi + 0x18]
mov dword [esi + 0x1e0], ecx
mov eax, dword [ebp - 0xd8]
mov ecx, esi
call fcn.00409080
cmp dword [ebp - 0x108], 0
jne case.default.0x42c53e
mov eax, dword [ebp - 0xf0]
dec dword [eax + 0x1e8]
jmp 0x42e9be
cmp dword [ebp - 0x108], 0
mov edx, dword [edi + 8]
mov dword [esi + 0x1f0], edx
mov eax, dword [edi + 0xc]
mov dword [esi + 0x1f4], eax
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x10]
mov dword [esi + 0x1f8], ecx
mov edx, dword [eax + 0x14]
mov dword [esi + 0x1fc], edx
jne case.default.0x42c53e
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xe8]
push ecx
push edx
push eax
call fcn.00467380
add esp, 0xc
mov dword [ebp - 0xec], eax
test eax, eax
jne 0x431e4b
jmp case.default.0x42c53e
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xf0]
mov dword [ebp - 0xe8], eax
mov edi, dword [edi + 8]
mov dword [ebp - 0xe4], edi
test eax, eax
je 0x42ea2d
cmp byte [ecx + 0x3e], 0
jne 0x42ea2d
mov dword [ebp - 0xe0], 1
test edi, edi
jne 0x42ea37
cmp dword [ecx + 0x94], edi
jle 0x42ea37
push str.cannot_commit_transaction___SQL_statements_in_progress
mov eax, ecx
push eax
jmp 0x42e7ab
mov dword [ebp - 0xe0], 0
movzx ecx, byte [ecx + 0x3e]
cmp eax, ecx
jne 0x431d7e
test eax, eax
jne 0x42ea4e
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x42ea5c
mov eax, str.cannot_rollback___no_transaction_is_active
test edi, edi
jne 0x42ea5c
mov eax, str.cannot_commit___no_transaction_is_active
mov edx, dword [ebp - 0xf0]
push eax
push edx
add esi, 0x38
push esi
call fcn.00409480
add esp, 0xc
mov dword [ebp - 0xec], 1
jmp case.default.0x42c53e
cmp dword [edi + 8], 0
je 0x42ea98
mov eax, dword [ebp - 0xf0]
test dword [eax + 0x18], 0x2000000
jne 0x431e0d
mov ecx, dword [edi + 4]
mov edx, dword [ebp - 0xf0]
mov eax, dword [edx + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 4]
mov dword [ebp - 0xe8], eax
test eax, eax
je case.default.0x42c53e
mov ecx, dword [edi + 8]
push ecx
push eax
call fcn.0041c220
add esp, 8
mov dword [ebp - 0xec], eax
cmp eax, 5
je 0x431e19
test eax, eax
jne 0x431e4b
cmp dword [edi + 8], eax
je case.default.0x42c53e
mov edx, dword [ebp - 0xfc]
test byte [edx + 0x64], 0x80
je case.default.0x42c53e
mov esi, dword [ebp - 0xf0]
cmp byte [esi + 0x3e], al
je 0x42eb0d
cmp dword [esi + 0x90], 1
jle case.default.0x42c53e
mov edi, edx
cmp dword [edi + 0x74], 0
jne 0x42eb2a
mov ecx, dword [esi + 0x1e8]
inc dword [esi + 0x1ec]
add ecx, dword [esi + 0x1ec]
mov dword [edi + 0x74], ecx
mov edx, dword [edi + 0x74]
dec edx
push edx
push 0
push esi
call fcn.00467380
add esp, 0xc
mov dword [ebp - 0xec], eax
test eax, eax
jne 0x42eb5c
mov eax, dword [edi + 0x74]
push eax
mov eax, dword [ebp - 0xe8]
call fcn.0041d490
add esp, 4
mov dword [ebp - 0xec], eax
mov ecx, dword [esi + 0x1f0]
mov dword [edi + 0xa8], ecx
mov edx, dword [esi + 0x1f4]
mov dword [edi + 0xac], edx
mov eax, dword [esi + 0x1f8]
mov dword [edi + 0xb0], eax
mov ecx, dword [esi + 0x1fc]
mov dword [edi + 0xb4], ecx
jmp case.default.0x42c53e
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xf0]
mov dword [ebp - 0xe4], eax
mov edi, dword [edi + 0xc]
lea edx, [ebp - 0xe8]
mov dword [ebp - 0xe0], edi
push edx
mov edx, dword [ecx + 0x10]
add eax, eax
mov eax, dword [edx + eax*8 + 4]
push edi
call fcn.004220f0
mov eax, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0xf4]
cdq
add esp, 8
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.default.0x42c53e
mov eax, dword [edi + 4]
mov ebx, dword [ebp - 0xf0]
mov edx, dword [ebp - 0x100]
shl eax, 4
add eax, dword [ebx + 0x10]
mov dword [ebp - 0xe8], eax
mov eax, dword [edi + 0xc]
lea ecx, [eax + eax*4]
lea esi, [edx + ecx*8]
call fcn.00424fc0
mov eax, dword [esi + 0x10]
mov ecx, dword [edi + 8]
mov edx, dword [ebp - 0xe8]
push eax
mov eax, dword [edx + 4]
push ecx
call fcn.00422160
mov dword [ebp - 0xec], eax
mov eax, dword [edi + 8]
add esp, 8
cmp eax, 1
jne 0x42ec3e
mov eax, dword [ebp - 0xe8]
mov ecx, dword [eax + 0xc]
mov edx, dword [esi + 0x10]
mov dword [ecx], edx
or dword [ebx + 0x18], 2
jmp 0x42ec52
cmp eax, 2
jne 0x42ec52
mov eax, dword [ebp - 0xe8]
mov ecx, dword [eax + 0xc]
mov dl, byte [esi + 0x10]
mov byte [ecx + 0x4c], dl
cmp dword [edi + 4], 1
jne case.default.0x42c53e
mov eax, ebx
call fcn.004297c0
mov eax, dword [ebp - 0xfc]
and dword [eax + 0x64], 0xffffffdf
jmp case.default.0x42c53e
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ecx + 0x10]
add eax, eax
mov eax, dword [edx + eax*8 + 4]
mov dword [ebp - 0xe0], eax
test eax, eax
je 0x42ecb6
lea ecx, [ebp - 0xe8]
push ecx
push 1
call fcn.004220f0
mov eax, dword [ebp - 0xf0]
mov edx, dword [edi + 4]
mov ecx, dword [eax + 0x10]
add esp, 8
add edx, edx
mov edx, dword [ecx + edx*8 + 0xc]
mov eax, dword [edx + 4]
jmp 0x42ecc2
mov dword [ebp - 0xe8], 0
xor eax, eax
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xe4], eax
cmp ecx, dword [edi + 8]
jne 0x42ecdc
cmp eax, dword [edi + 0xc]
je case.default.0x42c53e
mov ebx, dword [ebp - 0xf0]
mov eax, dword [esi + 0x38]
mov ecx, ebx
call fcn.00409080
push ebx
mov ebx, str.database_schema_has_changed
call fcn.00409400
mov dword [esi + 0x38], eax
mov edi, dword [edi + 4]
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax + 0x10]
mov edx, edi
add edx, edx
mov edx, dword [ecx + edx*8 + 0xc]
mov eax, dword [edx]
add esp, 4
cmp eax, dword [ebp - 0xe8]
je 0x42ed2e
mov esi, edi
mov edi, dword [ebp - 0xf0]
call fcn.00440530
mov esi, dword [ebp - 0xfc]
or dword [esi + 0x64], 0x20
mov dword [ebp - 0xec], 0x11
jmp case.default.0x42c53e
test byte [esi + 0x64], 0x20
je 0x42ed56
mov dword [ebp - 0xec], 4
jmp case.default.0x42c53e
mov ebx, dword [ebp - 0xf0]
xor ecx, ecx
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0xe4], ecx
mov edx, dword [edi + 8]
mov dword [ebp - 0xe0], edx
mov edx, dword [edi + 0xc]
mov eax, edx
mov dword [ebp - 0xdc], edx
shl eax, 4
add eax, dword [ebx + 0x10]
mov dword [ebp - 0xcc], eax
mov ebx, dword [eax + 4]
mov dword [ebp - 0xd4], ebx
cmp byte [edi], 0x33
jne 0x42edb2
mov dword [ebp - 0xd8], 1
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x4c]
cmp al, byte [esi + 0x61]
jae 0x42edb8
mov byte [esi + 0x61], al
jmp 0x42edb8
mov dword [ebp - 0xd8], ecx
test byte [edi + 3], 2
je 0x42edf3
mov eax, dword [ebp - 0xe0]
mov edx, dword [ebp - 0x100]
lea ecx, [eax + eax*4]
lea esi, [edx + ecx*8]
call fcn.00424fc0
mov esi, dword [esi + 0x10]
mov dword [ebp - 0xe0], esi
cmp esi, 2
jl 0x431e2f
mov edx, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xe8]
mov al, byte [edi + 1]
cmp al, 0xfa
jne 0x42ee0f
mov eax, dword [edi + 0x10]
mov dword [ebp - 0xe4], eax
movzx ecx, word [eax + 8]
movzx eax, word [eax + 6]
add ecx, eax
jmp 0x42ee16
cmp al, 0xf2
jne 0x42ee1c
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0xe8], ecx
mov ebx, dword [ebp - 0xfc]
push 1
push edx
push ecx
mov ecx, dword [edi + 4]
push ecx
call fcn.0042c1c0
add esp, 0x10
mov dword [ebp - 0xd0], eax
test eax, eax
je 0x42dbf6
mov byte [eax + 0x19], 1
mov eax, dword [ebp - 0xd0]
or dword [eax + 0x1c], 4
mov edx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xd0]
mov ebx, dword [ebp - 0xd8]
push edx
push eax
mov eax, dword [ecx]
mov ecx, dword [ebp - 0xd4]
call fcn.0041d590
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xe4]
mov dword [edx + 8], eax
mov cl, byte [edi + 3]
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx]
and cl, 1
mov byte [eax + 0x5d], cl
mov eax, dword [ebp - 0xd0]
xor ecx, ecx
add esp, 8
cmp byte [edi + 1], 0xfa
setne cl
add ecx, ecx
xor ecx, dword [eax + 0x1c]
and ecx, 2
xor dword [eax + 0x1c], ecx
jmp case.default.0x42c53e
mov edx, dword [edi + 8]
mov eax, dword [edi + 4]
push 1
push 0xffffffffffffffff
push edx
push eax
mov ebx, esi
call fcn.0042c1c0
add esp, 0x10
mov dword [ebp - 0xe8], eax
test eax, eax
je 0x42dbf6
mov edx, dword [ebp - 0xf0]
mov ebx, 1
mov byte [eax + 0x19], bl
movzx ecx, byte [edi + 3]
mov eax, dword [edx]
or ecx, 5
push 0x41e
push ecx
mov ecx, dword [ebp - 0xe8]
push 0
add ecx, 4
push eax
call fcn.0041b1e0
add esp, 0x10
mov dword [ebp - 0xec], eax
test eax, eax
jne 0x42efe0
mov ecx, dword [ebp - 0xe8]
mov edx, dword [ecx + 4]
push ebx
push edx
call fcn.0041c220
add esp, 8
mov dword [ebp - 0xec], eax
test eax, eax
jne 0x42efe0
mov eax, dword [edi + 0x10]
mov dword [ebp - 0xe4], eax
test eax, eax
je 0x42efba
movzx eax, byte [edi + 3]
mov edx, dword [ebp - 0xe8]
or eax, 2
push eax
mov eax, dword [edx + 4]
lea ecx, [ebp - 0x134]
push ecx
call fcn.00421be0
add esp, 8
mov dword [ebp - 0xec], eax
test eax, eax
jne 0x42efae
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xe8]
mov dword [ecx + 8], eax
mov edx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0x134]
mov ecx, dword [ebp - 0xe8]
push edx
push eax
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
call fcn.0041d590
add esp, 8
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xe8]
and dword [eax + 0x1c], 0xfffffffd
jmp 0x42efe0
mov ecx, dword [ebp - 0xe8]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
push 0
push ebx
call fcn.0041d590
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xe8]
add esp, 8
or dword [eax + 0x1c], 2
mov eax, dword [ebp - 0xe8]
xor ecx, ecx
cmp byte [edi + 3], 8
setne cl
add ecx, ecx
add ecx, ecx
xor ecx, dword [eax + 0x1c]
and ecx, 4
xor dword [eax + 0x1c], ecx
jmp case.default.0x42c53e
mov edx, dword [edi + 8]
mov eax, dword [edi + 4]
push 1
push 0xffffffffffffffff
push edx
push eax
mov ebx, esi
call fcn.0042c1c0
add esp, 0x10
mov dword [ebp - 0xe8], eax
test eax, eax
je 0x42dbf6
mov ecx, dword [edi + 0x10]
mov edx, dword [ebp - 0xf0]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0xe8]
push edx
call fcn.00433620
add esp, 4
mov dword [ebp - 0xec], eax
jmp case.default.0x42c53e
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 4]
push 0
push 0xffffffffffffffff
push eax
push ecx
mov ebx, esi
call fcn.0042c1c0
add esp, 0x10
mov dword [ebp - 0xe8], eax
test eax, eax
je 0x42dbf6
mov byte [eax + 0x19], 1
mov eax, dword [ebp - 0xe8]
mov edx, dword [edi + 8]
mov dword [eax + 0x10], edx
mov eax, dword [ebp - 0xe8]
or dword [eax + 0x1c], 2
movzx ecx, byte [edi + 3]
mov eax, dword [ebp - 0xe8]
add ecx, ecx
add ecx, ecx
add ecx, ecx
xor ecx, dword [eax + 0x1c]
and ecx, 8
xor dword [eax + 0x1c], ecx
jmp case.default.0x42c53e
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x44]
mov eax, dword [eax + edx*4]
push esi
call fcn.00427590
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x44]
add esp, 4
mov dword [edx + ecx*4], 0
jmp case.default.0x42c53e
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xe0], eax
movzx edx, byte [edi]
mov dword [ebp - 0xe4], edx
mov byte [eax + 0x19], 0
mov ecx, dword [ebp - 0xe0]
test byte [ecx + 0x1c], 2
je 0x42f1f0
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp - 0x100]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
call fcn.0042c280
mov ecx, esi
call fcn.00424e60
mov dword [ebp - 0xc4], edx
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0xc8], eax
mov byte [edx + 0x1a], 0
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x42f17f
test al, 8
jne 0x42f143
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf8], edi
jmp case.default.0x42c53e
fild qword [ebp - 0xc8]
fcom qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x42f166
test byte [ebp - 0xe4], 1
fstp st(0)
jne 0x42f17f
dec dword [ebp - 0xe4]
jmp 0x42f17f
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x42f17f
test byte [ebp - 0xe4], 1
je 0x42f17f
inc dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xc8]
lea eax, [ebp - 0xe8]
push eax
mov eax, dword [ebp - 0xe0]
push 0
push ecx
mov ecx, dword [eax]
push edx
push 0
push ecx
call fcn.0041e240
add esp, 0x18
mov dword [ebp - 0xec], eax
test eax, eax
jne 0x431e4b
cmp dword [ebp - 0xe8], eax
jne 0x42f274
mov edx, dword [ebp - 0xe0]
mov byte [edx + 0x1a], 1
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xe0]
mov dword [ecx + 0x38], eax
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xe0]
mov dword [eax + 0x3c], edx
jmp 0x42f274
mov edx, dword [edi + 0x10]
mov dword [ebp - 0xd0], edx
mov eax, dword [ecx + 8]
mov dword [ebp - 0xdc], eax
mov al, byte [ebp - 0xe4]
dec al
and al, 1
mov word [ebp - 0xd8], dx
mov byte [ebp - 0xd6], al
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
lea eax, [ebx + edx*8]
mov edx, 0x4000
mov dword [ebp - 0xd4], eax
test word [eax + 0x1c], dx
je 0x42f23e
call fcn.00424b80
mov ecx, dword [ebp - 0xe0]
lea eax, [ebp - 0xe8]
push eax
mov eax, dword [ecx]
push 0
push 0
push 0
lea edx, [ebp - 0xdc]
push edx
push eax
call fcn.0041e240
add esp, 0x18
mov dword [ebp - 0xec], eax
test eax, eax
jne 0x431e4b
mov ecx, dword [ebp - 0xe0]
mov byte [ecx + 0x1a], al
mov edx, dword [ebp - 0xe0]
mov byte [edx + 0x1b], 0
mov eax, dword [ebp - 0xe0]
xor esi, esi
mov dword [eax + 0x44], esi
mov ecx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xe8]
cmp ecx, 0x3b
jl 0x42f2e2
cmp eax, esi
jl 0x42f2b0
jne 0x42f2a5
cmp ecx, 0x3c
je 0x42f2b0
mov dword [ebp - 0xe8], esi
jmp case.default.0x42c53e
mov edx, dword [ebp - 0xe0]
mov eax, dword [edx]
lea ecx, [ebp - 0xe8]
push ecx
push eax
call fcn.0041e6b0
add esp, 8
mov dword [ebp - 0xec], eax
cmp eax, esi
jne 0x431e4b
mov ecx, dword [ebp - 0xe0]
mov byte [ecx + 0x1a], 0
jmp 0x42f336
cmp eax, esi
jg 0x42f306
jne 0x42f2ed
cmp ecx, 0x39
je 0x42f306
mov edx, dword [ebp - 0xe0]
mov eax, dword [edx]
xor ecx, ecx
cmp byte [eax + 0x5b], 1
setne cl
mov dword [ebp - 0xe8], ecx
jmp 0x42f336
mov eax, dword [ebp - 0xe0]
mov ecx, dword [eax]
lea edx, [ebp - 0xe8]
push edx
push ecx
call fcn.0041e830
add esp, 8
mov dword [ebp - 0xec], eax
cmp eax, esi
jne 0x431e4b
mov edx, dword [ebp - 0xe0]
mov byte [edx + 0x1a], 0
cmp dword [ebp - 0xe8], esi
je case.default.0x42c53e
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf8], edi
jmp case.default.0x42c53e
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xe8], eax
mov byte [eax + 0x19], 0
mov edi, dword [edi + 8]
lea edx, [edi + edi*4]
lea ecx, [ebx + edx*8]
call fcn.00424e60
mov ecx, dword [ebp - 0xe8]
mov dword [ecx + 0x30], eax
mov eax, dword [ebp - 0xe8]
mov dword [eax + 0x34], edx
mov ecx, dword [ebp - 0xe8]
mov byte [ecx + 0x1a], 0
mov edx, dword [ebp - 0xe8]
mov byte [edx + 0x1b], 1
jmp case.default.0x42c53e
mov ecx, dword [esi + 0x44]
mov dword [ebp - 0xe8], 0
mov eax, dword [edi + 4]
mov ecx, dword [ecx + eax*4]
mov dword [ebp - 0xe0], ecx
cmp dword [edi + 0x10], 0
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
lea esi, [ebx + edx*8]
jle 0x42f3f4
mov eax, dword [ecx + 8]
mov dword [ebp - 0xd0], eax
mov dx, word [edi + 0x10]
lea eax, [ebp - 0xd0]
mov word [ebp - 0xcc], dx
mov dword [ebp - 0xc8], esi
mov byte [ebp - 0xca], 2
mov dword [ebp - 0xd4], eax
jmp 0x42f455
mov edi, dword [ecx + 8]
push 0xb7
lea ebx, [ebp - 0xd8]
lea edx, [ebp - 0xc4]
call fcn.00429220
add esp, 4
mov dword [ebp - 0xd4], eax
test eax, eax
je 0x42dbf6
mov ecx, dword [esi + 4]
mov edx, dword [esi + 0x18]
push eax
mov eax, dword [ebp - 0xe0]
push ecx
mov ecx, dword [eax + 8]
push edx
push ecx
call fcn.00429270
mov eax, dword [ebp - 0xd4]
mov edi, dword [ebp - 0x104]
add esp, 0x10
or byte [eax + 6], 2
mov esi, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xe0]
cmp byte [edi], 0x3e
jne 0x42f491
movzx edx, word [ebp - 0xcc]
xor eax, eax
mov dword [ebp - 0xe4], eax
test edx, edx
jle 0x42f491
lea ecx, [ecx]
lea ebx, [eax + eax*4]
test byte [esi + ebx*8 + 0x1c], 1
jne 0x42f487
inc eax
mov dword [ebp - 0xe4], eax
cmp eax, edx
jl 0x42f470
jmp 0x42f491
mov eax, dword [edi + 8]
dec eax
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ecx]
lea edx, [ebp - 0xdc]
push edx
push 0
push 0
push 0
push eax
push ecx
call fcn.0041e240
add esp, 0x18
cmp dword [edi + 0x10], 0
mov esi, eax
mov dword [ebp - 0xec], esi
jne 0x42f4cf
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xf0]
call fcn.00409080
test esi, esi
jne case.default.0x42c53e
mov edx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xe0]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0xe0]
xor ecx, ecx
cmp dword [ebp - 0xdc], ecx
mov dl, 1
sete cl
sub dl, cl
mov dword [ebp - 0xe8], ecx
mov byte [eax + 0x19], dl
mov ecx, dword [ebp - 0xe0]
mov byte [ecx + 0x1b], 0
mov edx, dword [ebp - 0xe0]
mov dword [edx + 0x44], esi
cmp byte [edi], 0x40
jne 0x42f537
cmp dword [ebp - 0xe8], esi
je case.default.0x42c53e
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf8], edi
jmp case.default.0x42c53e
cmp dword [ebp - 0xe8], 0
jne case.default.0x42c53e
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf8], edi
jmp case.default.0x42c53e
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x44]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0xe8], eax
mov eax, dword [eax]
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xe0], 0
mov ecx, dword [ebx + 0x10]
lea esi, [ebp - 0xe0]
push esi
push 0
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebx + 0x14]
push edx
push ecx
push 0
push eax
mov dword [ebp - 0xd4], edx
call fcn.0041e240
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xec], eax
mov eax, dword [ebx + 0x10]
mov dword [ecx + 0x38], eax
mov edx, dword [ebx + 0x14]
mov eax, dword [ebp - 0xe8]
mov dword [eax + 0x3c], edx
mov edx, dword [ebp - 0xe8]
add esp, 0x18
cmp dword [ebp - 0xe0], 0
sete cl
mov byte [edx + 0x1a], cl
mov eax, dword [ebp - 0xe8]
mov byte [eax + 0x19], 0
mov ecx, dword [ebp - 0xe8]
mov dword [ecx + 0x44], 0
mov edx, dword [ebp - 0xe8]
mov byte [edx + 0x1b], 0
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x42f60b
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf8], edi
mov ecx, dword [ebp - 0xe8]
mov dword [ecx + 0xc], eax
jmp case.default.0x42c53e
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x44]
mov eax, dword [eax + edx*4]
mov edx, dword [eax + 0x28]
mov ecx, dword [ebp - 0xf4]
mov dword [ecx + 0x10], edx
mov eax, dword [eax + 0x2c]
mov dword [ecx + 0x14], eax
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x44]
mov eax, dword [edx + ecx*4]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
jmp case.default.0x42c53e
mov edx, dword [esi + 0x44]
xor ecx, ecx
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0xe4], ecx
mov dword [ebp - 0xdc], ecx
mov eax, dword [edi + 4]
mov edx, dword [edx + eax*4]
mov dword [ebp - 0xe0], edx
mov eax, dword [edx]
cmp eax, ecx
je 0x42f953
test byte [edx + 0x1c], 1
jne 0x42f839
mov ecx, dword [eax + 0x20]
mov dword [ebp - 0xe8], ecx
mov eax, dword [eax + 0x24]
mov edx, ecx
or edx, eax
mov dword [ebp - 0xe4], eax
jne 0x42f73a
mov eax, dword [ebp - 0xe0]
mov esi, dword [eax]
lea edi, [ebp - 0xdc]
call fcn.0041e200
mov dword [ebp - 0xec], eax
test eax, eax
jne 0x431e4b
cmp dword [ebp - 0xdc], eax
je 0x42f6cb
lea ecx, [eax + 1]
jmp 0x42f71c
mov ecx, dword [ebp - 0xe0]
mov esi, dword [ecx]
lea edi, [ebp - 0xe8]
call fcn.0041d750
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xe4]
cmp eax, 0x7fffffff
jl 0x42f716
jg 0x42f6fe
cmp ecx, 0xffffffff
jb 0x42f716
mov eax, dword [ebp - 0xe0]
or dword [eax + 0x1c], 1
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xe8]
jmp 0x42f728
add ecx, 1
adc eax, 0
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xe8], ecx
mov edi, dword [ebp - 0x104]
mov ebx, dword [ebp - 0x100]
mov esi, dword [ebp - 0xfc]
mov edx, dword [edi + 0xc]
test edx, edx
je 0x42f7fd
mov esi, dword [esi + 0xc0]
test esi, esi
je 0x42f77d
mov ecx, esi
mov dword [ebp - 0xd0], ecx
mov eax, dword [ecx + 4]
test eax, eax
je 0x42f76f
mov edi, edi
mov ecx, eax
mov dword [ebp - 0xd0], ecx
mov eax, dword [ecx + 4]
test eax, eax
jne 0x42f760
mov edi, dword [edi + 0xc]
mov eax, dword [ecx + 0xc]
lea edx, [edi + edi*4]
lea esi, [eax + edx*8]
jmp 0x42f783
lea ecx, [edx + edx*4]
lea esi, [ebx + ecx*8]
mov dword [ebp - 0xd4], esi
call fcn.00424fc0
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 0x10]
mov ecx, dword [edx + 0x14]
cmp eax, 0xffffffff
jne 0x42f7ab
cmp ecx, 0x7fffffff
je 0x431e41
mov esi, dword [ebp - 0xe0]
test byte [esi + 0x1c], 1
jne 0x431e41
add eax, 1
adc ecx, 0
cmp dword [ebp - 0xe4], ecx
jg 0x42f7df
jl 0x42f7d3
cmp dword [ebp - 0xe8], eax
jae 0x42f7df
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], ecx
mov eax, dword [ebp - 0xe8]
mov dword [edx + 0x10], eax
mov ecx, dword [ebp - 0xe4]
mov dword [edx + 0x14], ecx
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xe8]
cmp eax, 0x7fffffff
jg 0x42f813
jl 0x42f80b
cmp ecx, 0xffffffff
jae 0x42f813
add ecx, 1
adc eax, 0
jmp 0x42f817
xor ecx, ecx
xor eax, eax
mov edx, dword [ebp - 0xe0]
mov esi, dword [edx]
push eax
push ecx
call fcn.0041d620
mov edx, dword [ebp - 0xe0]
add esp, 8
test byte [edx + 0x1c], 1
je 0x42f938
mov eax, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x118]
and eax, 0x3fffffff
add ecx, 1
lea esi, [ebp - 0xdc]
push esi
adc eax, 0
push 0
push eax
push ecx
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xd8], 0
mov eax, dword [edx]
push 0
push eax
call fcn.0041e240
add esp, 0x18
mov dword [ebp - 0xec], eax
test eax, eax
jne 0x42f932
mov ecx, dword [ebp - 0xdc]
test ecx, ecx
jne 0x42f921
mov eax, dword [ebp - 0xd8]
inc eax
mov dword [ebp - 0xd8], eax
cmp eax, 0x64
jge 0x42f921
lea ecx, [ebp - 0xe8]
push ecx
push 8
call fcn.0040aae0
mov eax, dword [ebp - 0xe8]
add esp, 8
cmp dword [ebp - 0xd8], 5
jge 0x42f8d5
and eax, 0xffffff
xor ecx, ecx
jmp 0x42f8e1
mov ecx, dword [ebp - 0xe4]
and ecx, 0x3fffffff
add eax, 1
lea edx, [ebp - 0xdc]
push edx
adc ecx, 0
push 0
push ecx
push eax
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xe4], ecx
mov ecx, dword [eax]
push 0
push ecx
call fcn.0041e240
add esp, 0x18
mov dword [ebp - 0xec], eax
test eax, eax
je 0x42f88c
jmp 0x42f932
cmp dword [ebp - 0xec], 0
jne 0x42f932
test ecx, ecx
je 0x431e41
mov edx, dword [ebp - 0xe0]
mov byte [edx + 0x1a], 0
mov edx, dword [ebp - 0xe0]
mov byte [edx + 0x1b], 0
mov eax, dword [ebp - 0xe0]
mov dword [eax + 0x44], 0
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xe8]
mov dword [eax + 0x10], ecx
mov edx, dword [ebp - 0xe4]
mov dword [eax + 0x14], edx
jmp case.default.0x42c53e
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, dword [esi + 0x44]
mov dword [ebp - 0xe8], ecx
mov edx, dword [edi + 4]
mov edx, dword [eax + edx*4]
mov dword [ebp - 0xd8], edx
cmp byte [edi], 0x44
mov eax, dword [edi + 0xc]
jne 0x42f9b0
lea eax, [eax + eax*4]
lea edx, [ebx + eax*8]
mov dword [ebp - 0xe4], edx
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xe0], eax
mov edx, dword [edx + 0x14]
jmp 0x42f9b7
cdq
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xdc], edx
test byte [edi + 3], 1
je 0x42f9c6
inc dword [esi + 0x68]
test byte [edi + 3], 2
je 0x42f9f0
mov ecx, dword [ebp - 0xf0]
mov dword [ecx + 0x20], eax
mov dword [ebp - 0x114], edx
mov edx, dword [ebp - 0xdc]
mov dword [ecx + 0x24], edx
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0x118], eax
xor eax, eax
test byte [ecx + 0x1c], 1
je 0x42fa0a
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0xe8]
mov dword [ecx + 0x18], eax
mov ecx, dword [ebp - 0xe8]
test byte [edi + 3], 0x10
je 0x42fa21
mov edx, dword [ebp - 0xd8]
mov edx, dword [edx + 0xc]
mov dword [ebp - 0xd0], edx
jmp 0x42fa27
mov dword [ebp - 0xd0], eax
mov edx, 0x4000
test word [ecx + 0x1c], dx
je 0x42fa35
mov eax, dword [ecx + 0x10]
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xd4], eax
mov esi, dword [ecx]
push 0
push 0
call fcn.0041d620
movzx eax, byte [edi + 3]
mov edx, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xd4]
push edx
shr eax, 3
and eax, 1
push eax
mov eax, dword [ebp - 0xe8]
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 4]
push ecx
mov ecx, dword [ebp - 0xdc]
push edx
mov edx, dword [ebp - 0xe0]
push eax
mov eax, dword [ebp - 0xd8]
mov esi, dword [eax]
push ecx
push edx
push 0
call fcn.00421480
mov ecx, dword [ebp - 0xd8]
mov byte [ecx + 0x1a], 0
mov edx, dword [ebp - 0xd8]
mov byte [edx + 0x1b], 0
mov ecx, dword [ebp - 0xd8]
add esp, 0x28
mov dword [ebp - 0xec], eax
mov dword [ecx + 0x44], 0
test eax, eax
jne case.default.0x42c53e
mov edx, dword [ebp - 0xf0]
cmp dword [edx + 0xc8], eax
je case.default.0x42c53e
cmp dword [edi + 0x10], eax
je case.default.0x42c53e
mov eax, dword [ebp - 0xd8]
movsx edx, byte [eax + 0x18]
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ecx + 0x10]
add edx, edx
mov edx, dword [eax + edx*8]
mov dword [ebp - 0xcc], edx
mov esi, dword [edi + 0x10]
mov dword [ebp - 0xc8], esi
mov al, byte [edi + 3]
mov edi, dword [ebp - 0xdc]
and al, 4
movzx eax, al
push edi
mov edi, dword [ebp - 0xe0]
neg eax
sbb eax, eax
push edi
and eax, 5
add eax, 0x12
push esi
push edx
mov dword [ebp - 0xc4], eax
mov edx, dword [ecx + 0xc4]
push eax
mov eax, dword [ecx + 0xc8]
push edx
call eax
add esp, 0x18
jmp case.default.0x42c53e
mov ecx, dword [edi + 4]
mov edx, dword [ebp - 0xfc]
mov eax, dword [edx + 0x44]
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0xe0], esi
mov ecx, dword [esi + 0x38]
mov dword [ebp - 0xe8], ecx
mov edx, dword [esi + 0x3c]
mov dword [ebp - 0xe4], edx
call fcn.00428d60
mov dword [ebp - 0xec], eax
test eax, eax
jne 0x431e4b
push eax
push eax
mov eax, dword [ebp - 0xe0]
mov esi, dword [eax]
call fcn.0041d620
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ecx]
push edx
call fcn.00421690
mov ecx, dword [ebp - 0xe0]
add esp, 0xc
mov dword [ebp - 0xec], eax
mov dword [ecx + 0x44], 0
test eax, eax
jne 0x42fc02
mov edx, dword [ebp - 0xf0]
mov ecx, dword [edx + 0xc8]
test ecx, ecx
je 0x42fc02
mov eax, dword [edi + 0x10]
test eax, eax
je 0x42fc02
mov esi, dword [ebp - 0xe0]
test byte [esi + 0x1c], 2
je 0x42fc02
mov ebx, dword [ebp - 0xe4]
push ebx
mov ebx, dword [ebp - 0xe8]
push ebx
push eax
movsx eax, byte [esi + 0x18]
mov esi, dword [edx + 0x10]
mov edx, dword [edx + 0xc4]
add eax, eax
mov eax, dword [esi + eax*8]
push eax
push 9
push edx
call ecx
add esp, 0x18
test byte [edi + 8], 1
je case.default.0x42c53e
mov eax, dword [ebp - 0xfc]
inc dword [eax + 0x68]
jmp case.default.0x42c53e
mov eax, dword [esi + 0x68]
mov ecx, dword [ebp - 0xf0]
add dword [ecx + 0x54], eax
mov dword [ecx + 0x50], eax
mov dword [esi + 0x68], 0
jmp case.default.0x42c53e
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xe8], eax
mov ecx, dword [edi + 0xc]
mov edi, dword [edi + 0x10]
lea edx, [ecx + ecx*4]
lea ecx, [ebx + edx*8]
lea edx, [ebp - 0xe4]
mov dword [ebp - 0xe0], edi
mov ebx, edi
push edx
mov edi, ecx
call fcn.00434260
add esp, 4
cmp dword [ebp - 0xe4], 0
mov dword [ebp - 0xec], eax
je case.default.0x42c53e
mov eax, dword [ebp - 0x104]
mov eax, dword [eax + 8]
dec eax
mov dword [ebp - 0xf8], eax
jmp case.default.0x42c53e
mov eax, dword [edi + 8]
mov edx, dword [edi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x44]
mov eax, dword [eax + edx*4]
lea ecx, [ebx + ecx*8]
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 0xe8], eax
call fcn.004341f0
mov dword [ebp - 0xec], eax
jmp case.default.0x42c53e
mov eax, dword [edi + 8]
mov edx, dword [ebp - 0x100]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 4]
lea ebx, [edx + ecx*8]
mov ecx, dword [ebp - 0xfc]
mov edx, dword [ecx + 0x44]
mov esi, dword [edx + eax*4]
mov dword [ebp - 0xe8], esi
mov eax, dword [esi]
mov dword [ebp - 0xf4], ebx
mov dword [ebp - 0xe4], eax
call fcn.00428d60
mov dword [ebp - 0xec], eax
test eax, eax
jne 0x431e4b
mov ecx, dword [ebp - 0xe8]
test byte [ecx + 0x1c], 2
mov esi, dword [ebp - 0xe4]
jne 0x42fd51
lea edi, [ebp - 0xd8]
call fcn.0041d750
mov edx, dword [ebp - 0xf0]
mov eax, dword [edx + 0x58]
cdq
cmp dword [ebp - 0xd4], edx
jg 0x42d1ba
mov ecx, dword [ebp - 0xd8]
jl 0x42fd47
cmp ecx, eax
ja 0x42d1ba
mov eax, ecx
mov dword [ebp - 0xe0], eax
jmp 0x42fd75
lea edx, [ebp - 0xe0]
push edx
call fcn.0041d7c0
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xf0]
add esp, 4
cmp eax, dword [ecx + 0x58]
ja 0x42d1ba
push 0
mov edi, ebx
call fcn.00424a00
add esp, 4
test eax, eax
jne 0x42dbf6
mov ax, word [ebx + 0x1c]
mov edx, dword [ebp - 0xe0]
mov ecx, 0xbe10
and ax, cx
or ax, 0x10
mov dword [ebx + 0x18], edx
mov word [ebx + 0x1c], ax
mov edx, dword [ebp - 0xe8]
test byte [edx + 0x1c], 2
mov ecx, dword [ebp - 0xe4]
jne 0x42fddf
mov eax, dword [ebx + 4]
push 0
push eax
mov eax, dword [ebp - 0xe0]
push eax
push 0
push ecx
call fcn.0041d9e0
add esp, 0x14
mov dword [ebp - 0xec], eax
mov byte [ebx + 0x1f], 1
jmp case.default.0x42c53e
mov edx, dword [ebx + 4]
mov eax, dword [ebp - 0xe0]
push edx
push eax
push 0
push ecx
call fcn.0041dd50
add esp, 0x10
mov dword [ebp - 0xec], eax
mov byte [ebx + 0x1f], 1
jmp case.default.0x42c53e
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x44]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0xe8], eax
cmp byte [eax + 0x19], 0
je 0x42fe2d
mov edx, dword [ebp - 0xf4]
mov ecx, 1
mov word [edx + 0x1c], cx
jmp case.default.0x42c53e
cmp byte [eax + 0x1b], 0
je 0x42fe5c
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xe0], ecx
mov edx, dword [eax + 0x34]
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0xdc], edx
mov dword [eax + 0x10], ecx
mov edx, dword [ebp - 0xdc]
mov dword [eax + 0x14], edx
jmp case.default.0x42c53e
cmp dword [eax + 0x20], 0
je 0x42feb8
mov ecx, dword [eax + 0x20]
mov ecx, dword [ecx]
mov dword [ebp - 0xd8], ecx
mov ecx, dword [ecx]
mov dword [ebp - 0xd4], ecx
mov eax, dword [eax + 0x20]
mov ecx, dword [ecx + 0x30]
lea edx, [ebp - 0xe0]
push edx
push eax
call ecx
mov edx, dword [ebp - 0xd8]
push edx
push esi
mov dword [ebp - 0xec], eax
call fcn.004298c0
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xe0]
mov dword [eax + 0x10], ecx
mov edx, dword [ebp - 0xdc]
add esp, 0x10
mov dword [eax + 0x14], edx
jmp case.default.0x42c53e
mov esi, eax
call fcn.00428d60
mov dword [ebp - 0xec], eax
test eax, eax
jne 0x431e4b
mov eax, dword [ebp - 0xe8]
cmp byte [eax + 0x1a], 0
je 0x42ff02
mov ecx, dword [eax + 0x38]
mov dword [ebp - 0xe0], ecx
mov edx, dword [eax + 0x3c]
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0xdc], edx
mov dword [eax + 0x10], ecx
mov edx, dword [ebp - 0xdc]
mov dword [eax + 0x14], edx
jmp case.default.0x42c53e
mov esi, dword [eax]
lea edi, [ebp - 0xe0]
call fcn.0041d750
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xf4]
mov dword [eax + 0x10], ecx
mov edx, dword [ebp - 0xdc]
mov dword [eax + 0x14], edx
jmp case.default.0x42c53e
mov ecx, dword [esi + 0x44]
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xe8], eax
mov byte [eax + 0x19], 1
mov edx, dword [ebp - 0xe8]
mov byte [edx + 0x1a], 0
mov eax, dword [ebp - 0xe8]
mov dword [eax + 0x44], 0
mov ecx, dword [ebp - 0xe8]
mov esi, dword [ecx]
test esi, esi
je case.default.0x42c53e
call fcn.0041a020
jmp case.default.0x42c53e
mov edx, dword [edi + 4]
mov eax, dword [ebp - 0xfc]
mov ecx, dword [eax + 0x44]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0xe8], eax
mov eax, dword [eax]
xor ebx, ebx
lea edi, [ebp - 0xe0]
mov esi, eax
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xe0], ebx
call fcn.0041e200
mov edx, dword [ebp - 0xe8]
mov dword [ebp - 0xec], eax
mov al, byte [ebp - 0xe0]
mov byte [edx + 0x19], al
mov ecx, dword [ebp - 0xe8]
mov byte [ecx + 0x1b], bl
mov edx, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0x104]
mov byte [edx + 0x1a], bl
mov eax, dword [ebp - 0xe8]
mov dword [eax + 0x44], ebx
mov eax, dword [ecx + 8]
cmp eax, ebx
jle case.default.0x42c53e
cmp dword [ebp - 0xe0], ebx
je case.default.0x42c53e
dec eax
mov dword [ebp - 0xf8], eax
jmp case.default.0x42c53e
inc dword [esi + 0x80]
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x44]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0xe0], 1
cmp dword [ecx + 0x40], 0
je 0x430043
lea edx, [ebp - 0xe0]
push edx
mov edx, dword [ebp - 0xf0]
call fcn.00433e80
add esp, 4
mov dword [ebp - 0xec], eax
jmp 0x430097
mov eax, dword [ecx]
mov dword [ebp - 0xe4], eax
mov esi, eax
call fcn.0041df30
xor ebx, ebx
cmp eax, ebx
jne 0x430076
cmp byte [esi + 0x5b], bl
jne 0x430069
mov dword [ebp - 0xe0], 1
jmp 0x430076
mov eax, esi
mov dword [ebp - 0xe0], ebx
call fcn.0041e0f0
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xe8]
mov byte [eax + 0x1b], bl
mov ecx, dword [ebp - 0xe8]
mov dword [ecx + 0x44], ebx
mov edx, dword [ebp - 0xe8]
mov byte [edx + 0x1a], bl
mov al, byte [ebp - 0xe0]
mov ecx, dword [ebp - 0xe8]
mov byte [ecx + 0x19], al
cmp dword [ebp - 0xe0], 0
je case.default.0x42c53e
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf8], edi
jmp case.default.0x42c53e
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x44]
mov eax, dword [eax + edx*4]
lea ecx, [ebp - 0xe4]
push ecx
mov dword [ebp - 0xe8], eax
push eax
mov eax, dword [ebp - 0xf0]
call fcn.00434140
jmp 0x430114
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x44]
cmp dword [eax + edx*4], 0
je case.default.0x42c53e
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x44]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0xe8], eax
mov edx, dword [eax]
mov eax, dword [edi + 0x10]
lea ecx, [ebp - 0xe4]
push ecx
push edx
call eax
mov ecx, dword [ebp - 0xe8]
add esp, 8
mov dword [ecx + 0x44], 0
cmp dword [ebp - 0xe4], 0
mov dword [ebp - 0xec], eax
jne 0x430162
mov edx, dword [ebp - 0xe8]
mov byte [edx + 0x19], 0
mov eax, dword [edi + 8]
dec eax
mov dword [ebp - 0xf8], eax
movzx eax, byte [edi + 3]
inc dword [esi + eax*4 + 0x78]
mov edx, dword [ebp - 0xe8]
lea eax, [esi + eax*4 + 0x78]
mov byte [edx + 0x1a], 0
jmp 0x43186c
mov ecx, dword [ebp - 0xe8]
mov byte [ecx + 0x19], 1
mov edx, dword [ebp - 0xe8]
mov byte [edx + 0x1a], 0
jmp 0x43186c
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
mov ecx, dword [ecx + eax*4]
mov dword [ebp - 0xe8], ecx
mov eax, dword [edi + 8]
lea edx, [eax + eax*4]
mov eax, dword [ecx]
mov dword [ebp - 0xe4], eax
test byte [edi + 3], 1
lea ebx, [ebx + edx*8]
je 0x4301a4
inc dword [esi + 0x68]
mov edx, 0x4000
test word [ebx + 0x1c], dx
je 0x4301ca
mov eax, ebx
call fcn.00424b80
mov dword [ebp - 0xec], eax
test eax, eax
jne case.default.0x42c53e
mov ecx, dword [ebp - 0xe8]
cmp dword [ecx + 0x40], 0
je 0x4301eb
mov eax, dword [ebp - 0xf0]
push ecx
push eax
call fcn.00433d40
add esp, 8
mov dword [ebp - 0xec], eax
jmp case.default.0x42c53e
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0xe0], eax
mov ebx, dword [ebx + 4]
mov dword [ebp - 0xdc], ebx
test byte [edi + 3], 0x10
je 0x430208
mov ecx, dword [ecx + 0xc]
jmp 0x43020a
xor ecx, ecx
mov esi, dword [ebp - 0xe4]
push ecx
mov ecx, dword [edi + 0xc]
push ecx
push 0
push 0
cdq
push 0x4e27f8
push edx
push eax
push ebx
call fcn.00421480
mov edx, dword [ebp - 0xe8]
add esp, 0x20
mov dword [ebp - 0xec], eax
mov dword [edx + 0x44], 0
jmp case.default.0x42c53e
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xe8], eax
mov ecx, dword [eax]
mov dword [ebp - 0xe4], ecx
mov edx, dword [eax + 8]
mov dword [ebp - 0xdc], edx
mov ax, word [edi + 0xc]
mov word [ebp - 0xd8], ax
mov byte [ebp - 0xd6], 2
mov edi, dword [edi + 8]
lea edx, [edi + edi*4]
lea eax, [ebx + edx*8]
lea edx, [ebp - 0xe0]
push edx
push 0
push 0
mov dword [ebp - 0xd4], eax
push 0
lea eax, [ebp - 0xdc]
push eax
push ecx
call fcn.0041e240
add esp, 0x18
mov dword [ebp - 0xec], eax
test eax, eax
jne 0x4302c7
cmp dword [ebp - 0xe0], eax
jne 0x4302c7
mov ecx, dword [ebp - 0xe4]
push ecx
call fcn.00421690
add esp, 4
mov dword [ebp - 0xec], eax
mov edx, dword [ebp - 0xe8]
mov dword [edx + 0x44], 0
jmp case.default.0x42c53e
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xfc]
mov edx, dword [ecx + 0x44]
mov eax, dword [edx + eax*4]
mov edx, dword [ebp - 0xf4]
mov dword [ebp - 0xe4], eax
mov eax, dword [eax]
mov ecx, 1
mov dword [ebp - 0xe8], eax
mov word [edx + 0x1c], cx
mov esi, dword [ebp - 0xe4]
call fcn.00428d60
mov dword [ebp - 0xec], eax
test eax, eax
jne 0x431e4b
mov eax, dword [ebp - 0xe4]
cmp byte [eax + 0x19], 0
jne case.default.0x42c53e
mov eax, dword [ebp - 0xe8]
lea ecx, [ebp - 0xe0]
push ecx
call fcn.00429560
add esp, 4
mov dword [ebp - 0xec], eax
test eax, eax
jne 0x431e4b
mov edx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xf4]
mov dword [eax + 0x10], edx
mov ecx, dword [ebp - 0xdc]
mov edx, 4
mov dword [eax + 0x14], ecx
mov word [eax + 0x1c], dx
jmp case.default.0x42c53e
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xe8], eax
mov edx, dword [eax + 8]
mov dword [ebp - 0xe0], edx
mov cx, word [edi + 0x10]
mov word [ebp - 0xdc], cx
cmp byte [edi + 3], 0
setne dl
add dl, 2
mov byte [ebp - 0xda], dl
mov ecx, dword [edi + 0xc]
lea ecx, [ecx + ecx*4]
lea edx, [ebx + ecx*8]
lea ecx, [ebp - 0xe4]
mov dword [ebp - 0xd8], edx
push ecx
lea edx, [ebp - 0xe0]
push edx
call fcn.004296c0
add esp, 8
cmp byte [edi], 0x6c
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xe4]
jne 0x4303e4
neg eax
jmp 0x4303e5
inc eax
mov dword [ebp - 0xe4], eax
test eax, eax
jle case.default.0x42c53e
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf8], edi
jmp case.default.0x42c53e
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0xe4], 0
mov eax, dword [eax + 4]
mov dword [ebp - 0xe0], eax
mov edx, 1
test eax, eax
je 0x430459
cmp dword [eax + 0x34], 0xbdf20da3
jne 0x43044c
mov ecx, dword [eax + 0x64]
test ecx, 0x200
je 0x43044c
and cl, 0xc
cmp cl, 8
jae 0x43044c
cmp dword [eax + 0x58], 0
jl 0x43044c
add dword [ebp - 0xe4], edx
mov eax, dword [eax + 0x40]
mov dword [ebp - 0xe0], eax
test eax, eax
jne 0x430424
mov eax, dword [ebp - 0xf4]
mov ecx, edx
mov word [eax + 0x1c], cx
cmp dword [ebp - 0xe4], edx
jle 0x430480
mov dword [ebp - 0xec], 6
mov byte [esi + 0x60], 2
jmp case.default.0x42c53e
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xdc], eax
mov edx, dword [edi + 4]
lea ecx, [ebp - 0xe8]
push ecx
mov ecx, dword [ebp - 0xf0]
push edx
mov edx, dword [ecx + 0x10]
add eax, eax
mov eax, dword [edx + eax*8 + 4]
call fcn.004220a0
mov esi, dword [ebp - 0xf4]
mov ecx, eax
mov eax, 4
mov word [esi + 0x1c], ax
mov eax, dword [ebp - 0xe8]
cdq
add esp, 8
mov dword [ebp - 0xec], ecx
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
test ecx, ecx
jne case.default.0x42c53e
mov esi, dword [ebp - 0xe8]
test esi, esi
je case.default.0x42c53e
mov edi, dword [edi + 4]
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xf0]
call fcn.00442a90
mov al, byte [ebp - 0xdc]
inc al
mov byte [ebp - 0x10d], al
jmp case.default.0x42c53e
mov dword [ebp - 0xe8], 0
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 4]
neg ecx
sbb ecx, ecx
lea edx, [ebp - 0xe8]
and ecx, edx
mov edx, dword [ebp - 0xf0]
push ecx
mov ecx, dword [edi + 8]
push eax
mov eax, dword [edx + 0x10]
add ecx, ecx
mov esi, dword [eax + ecx*8 + 4]
call fcn.00421dd0
add esp, 8
cmp dword [edi + 0xc], 0
mov dword [ebp - 0xec], eax
je case.default.0x42c53e
mov eax, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0xfc]
add dword [ecx + 0x68], eax
mov edi, dword [edi + 0xc]
test edi, edi
jle case.default.0x42c53e
mov edx, dword [ebp - 0x100]
lea ecx, [edi + edi*4]
lea ecx, [edx + ecx*8 + 0x10]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
jmp case.default.0x42c53e
mov ecx, dword [ebp - 0xf0]
mov dword [ebp - 0xe8], 0
mov eax, dword [edi + 4]
shl eax, 4
add eax, dword [ecx + 0x10]
xor ecx, ecx
mov dword [ebp - 0xe0], eax
cmp byte [edi], 0x71
lea edx, [ebp - 0xe8]
setne cl
inc ecx
push ecx
mov dword [ebp - 0xe4], ecx
mov eax, dword [eax + 4]
push edx
call fcn.00421be0
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xe8]
cdq
add esp, 8
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.default.0x42c53e
mov eax, dword [edi + 4]
mov dword [ebp - 0xe8], eax
mov ecx, str.sqlite_temp_master
cmp eax, 1
je 0x4305fd
mov ecx, str.sqlite_master
mov ebx, dword [ebp - 0xf0]
mov dword [ebp - 0xe4], ecx
mov dword [ebp - 0xdc], ebx
mov edx, dword [edi + 4]
mov dword [ebp - 0xd4], edx
add esi, 0x38
mov dword [ebp - 0xd8], esi
mov edx, dword [edi + 0x10]
push edx
push ecx
mov ecx, dword [ebx + 0x10]
add eax, eax
mov edx, dword [ecx + eax*8]
push edx
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push ebx
call fcn.0040a770
add esp, 0x14
mov dword [ebp - 0xe0], eax
test eax, eax
jne 0x430653
mov dword [ebp - 0xec], 7
jmp 0x4306b4
push 0
lea eax, [ebp - 0xdc]
push eax
mov byte [ebx + 0x89], 1
mov ecx, dword [ebp - 0xe0]
push fcn.00456300
push ecx
push ebx
mov dword [ebp - 0xd0], 0
call fcn.00452bf0
mov esi, eax
add esp, 0x14
mov dword [ebp - 0xec], esi
test esi, esi
jne 0x43069c
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0xec], edx
mov esi, edx
mov eax, dword [ebp - 0xe0]
mov ecx, ebx
call fcn.00409080
mov byte [ebx + 0x89], 0
test esi, esi
je 0x4306bb
mov eax, ebx
call fcn.00440560
cmp dword [ebp - 0xec], 7
je 0x42dbf6
jmp case.default.0x42c53e
mov eax, dword [ebp - 0xf0]
push eax
mov eax, dword [edi + 4]
call fcn.0043e490
add esp, 4
mov dword [ebp - 0xec], eax
jmp case.default.0x42c53e
mov ecx, dword [ebp - 0xf0]
mov eax, dword [edi + 4]
push ecx
mov ecx, dword [edi + 0x10]
call fcn.004408f0
add esp, 4
jmp case.default.0x42c53e
mov edx, dword [ebp - 0xf0]
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 4]
push edx
call fcn.004402a0
add esp, 4
jmp case.default.0x42c53e
mov eax, dword [ebp - 0xf0]
mov ecx, dword [edi + 0x10]
push eax
mov eax, dword [edi + 4]
call fcn.00462280
add esp, 4
jmp case.default.0x42c53e
mov eax, dword [edi + 8]
mov esi, dword [ebp - 0xf0]
lea ecx, [eax*4 + 4]
mov dword [ebp - 0xe8], eax
call fcn.004092c0
mov dword [ebp - 0xe4], eax
test eax, eax
je 0x42dbf6
mov ecx, dword [edi + 0xc]
mov edx, dword [ebp - 0x100]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*8]
mov dword [ebp - 0xd4], ecx
mov ecx, dword [edi + 4]
lea ecx, [ecx + ecx*4]
lea esi, [edx + ecx*8]
xor ecx, ecx
mov dword [ebp - 0xe0], ecx
cmp dword [ebp - 0xe8], ecx
jle 0x4307c5
nop
lea edx, [ecx + ecx*4]
lea ecx, [esi + edx*8]
call fcn.00424e60
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xe4]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0xe0]
inc ecx
mov dword [ebp - 0xe0], ecx
cmp ecx, dword [ebp - 0xe8]
jl 0x430790
mov eax, dword [ebp - 0xe4]
mov dword [eax + ecx*4], 0
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 0x10]
mov edx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xe4]
push ecx
movzx ecx, byte [edi + 3]
mov edi, dword [ebp - 0xf0]
push edx
push eax
mov eax, dword [edi + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
lea edx, [ebp - 0xdc]
call fcn.00423030
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xe4]
add esp, 0xc
mov ecx, edi
call fcn.00409080
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd4]
cdq
sub dword [ecx + 0x10], eax
sbb dword [ecx + 0x14], edx
call fcn.00425110
cmp dword [ebp - 0xdc], 0
je 0x43085c
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x42dbf6
push 1
push eax
mov eax, fcn.00408fe0
or ecx, 0xffffffff
mov edx, esi
call fcn.00425450
add esp, 8
movzx ecx, byte [ebp - 0x10c]
mov eax, esi
call fcn.004249e0
jmp case.default.0x42c53e
mov eax, dword [edi + 4]
mov edi, dword [edi + 8]
lea ecx, [eax + eax*4]
test byte [ebx + ecx*8 + 0x1c], 0x20
lea esi, [ebx + ecx*8]
lea edx, [edi + edi*4]
lea ebx, [ebx + edx*8]
jne 0x430899
mov edi, esi
call fcn.00425260
test byte [esi + 0x1c], 0x20
je 0x42dbf6
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x10]
mov edi, dword [esi + 0x10]
push eax
push ecx
call fcn.00411b70
add esp, 8
jmp case.default.0x42c53e
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
test byte [ebx + edx*8 + 0x1c], 0x20
lea ebx, [ebx + edx*8]
je 0x430903
mov eax, dword [ebx + 0x10]
lea esi, [ebp - 0xe8]
call fcn.00411f00
test eax, eax
je 0x430903
mov eax, dword [ebp - 0xe4]
mov edi, dword [edi + 0xc]
mov ecx, dword [ebp - 0xe8]
push eax
mov eax, dword [ebp - 0x100]
lea edx, [edi + edi*4]
push ecx
lea esi, [eax + edx*8]
call fcn.00425160
mov esi, dword [ebp - 0xfc]
add esp, 8
jmp 0x43186c
mov esi, ebx
call fcn.00425110
mov esi, dword [ebp - 0xfc]
jmp case.0x42c53e.16
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x10]
lea esi, [ebx + ecx*8]
mov dword [ebp - 0xe8], eax
test byte [esi + 0x1c], 0x20
lea ebx, [ebx + edx*8]
jne 0x430953
mov edi, esi
call fcn.00425260
test byte [esi + 0x1c], 0x20
je 0x42dbf6
mov eax, dword [ebp - 0xe8]
mov edi, dword [ebp - 0x104]
test eax, eax
je 0x430998
js 0x43095e
and eax, 0xf
jmp 0x430963
mov eax, 0xff
mov ecx, dword [ebx + 0x14]
mov edx, dword [ebx + 0x10]
push ecx
push edx
push eax
mov eax, dword [esi + 0x10]
call fcn.00411f50
add esp, 0xc
mov dword [ebp - 0xe4], eax
test eax, eax
je 0x430990
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf8], edi
jmp case.default.0x42c53e
mov eax, dword [ebp - 0xe8]
test eax, eax
js case.default.0x42c53e
jmp 0x430899
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0xd0], ecx
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
lea ebx, [ebx + edx*8]
mov dword [ebp - 0xe0], ebx
cmp byte [edi + 3], 0
je 0x4309f6
mov eax, dword [esi + 0xc0]
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0xcc], edx
mov dword [ebp - 0xd4], eax
test eax, eax
je 0x4309f6
lea ebx, [ebx]
cmp dword [eax + 0x18], edx
je case.default.0x42c53e
mov eax, dword [eax + 4]
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x4309e0
mov eax, dword [esi + 0xc8]
mov edx, dword [ebp - 0xf0]
cmp eax, dword [edx + 0x80]
jl 0x430a2d
push str.too_many_levels_of_trigger_recursion
mov eax, edx
push eax
add esi, 0x38
push esi
mov dword [ebp - 0xec], 1
call fcn.00409480
add esp, 0xc
jmp case.default.0x42c53e
test byte [ebx + 0x1c], 0x40
jne 0x430bb6
mov eax, dword [ecx + 8]
add eax, dword [ecx + 0xc]
lea edx, [eax + eax*4]
mov dword [ebp - 0xe8], eax
mov eax, dword [ecx + 0xc]
lea edx, [eax + edx*2]
mov eax, dword [ecx + 0x10]
lea edi, [eax + edx*4 + 0x48]
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0xe4], edi
call fcn.004092a0
mov dword [ebp - 0xd4], eax
test eax, eax
je 0x42dbf6
mov ecx, dword [ebp - 0xe0]
push ecx
call fcn.00424dc0
mov eax, dword [ebp - 0xe0]
mov edx, 0x40
mov word [eax + 0x1c], dx
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xe0]
mov dword [edx + 0x10], ecx
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xfc]
mov dword [ecx], eax
mov edx, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xe8]
mov dword [edx + 0x3c], ecx
mov edx, dword [ebp - 0xd0]
mov ecx, dword [edx + 0xc]
mov edx, dword [ebp - 0xd4]
mov dword [edx + 0x40], ecx
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xf8]
mov dword [ecx + 0x2c], edx
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0xd4]
mov dword [edx + 0xc], ecx
mov ecx, dword [eax + 0x18]
mov edx, dword [ebp - 0xd4]
mov dword [edx + 0x34], ecx
mov ecx, dword [eax + 0x44]
mov edx, dword [ebp - 0xd4]
mov dword [edx + 0x14], ecx
mov ecx, dword [eax + 0x30]
mov edx, dword [ebp - 0xd4]
mov dword [edx + 0x28], ecx
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0xd4]
mov dword [edx + 8], ecx
mov ecx, dword [eax + 0x1c]
mov edx, dword [ebp - 0xd4]
mov dword [edx + 0x30], ecx
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0x14]
mov ecx, dword [ebp - 0xd4]
mov dword [ecx + 0x18], edx
mov edx, dword [eax + 0xd8]
mov ecx, dword [ebp - 0xd4]
mov dword [ecx + 0x10], edx
mov edx, dword [eax + 0xd4]
mov eax, dword [ebp - 0xd4]
mov dword [eax + 0x38], edx
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ecx + 0x3c]
lea edx, [eax + eax*4]
lea edx, [ecx + edx*8 + 0x48]
lea eax, [ecx + 0x48]
add esp, 4
mov dword [ebp - 0xd8], edx
mov dword [ebp - 0xdc], eax
cmp eax, edx
je 0x430bbf
jmp 0x430b80
mov ecx, 0x80
mov word [eax + 0x1c], cx
mov edx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xf0]
mov dword [edx], eax
mov eax, dword [ebp - 0xdc]
add eax, 0x28
mov dword [ebp - 0xdc], eax
cmp eax, dword [ebp - 0xd8]
jne 0x430b80
mov ecx, dword [ebp - 0xd4]
jmp 0x430bbf
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0xd4], ecx
mov eax, dword [ebp - 0xfc]
inc dword [eax + 0xc8]
mov edx, dword [eax + 0xc0]
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ebp - 0x118]
mov dword [ecx + 0x20], edx
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ebp - 0x114]
mov dword [ecx + 0x24], edx
mov ecx, dword [eax + 0x68]
mov edx, dword [ebp - 0xd4]
mov dword [edx + 0x44], ecx
mov ecx, dword [ebp - 0xd4]
lea edx, [ecx + 0x20]
mov dword [eax + 0xc0], ecx
mov dword [eax + 8], edx
mov dword [eax + 0x68], 0
mov esi, dword [ecx + 0x3c]
mov dword [eax + 0x18], esi
movzx ecx, word [ecx + 0x40]
mov dword [eax + 0x30], ecx
mov ecx, esi
lea ecx, [ecx + ecx*4 + 5]
lea ecx, [edx + ecx*8]
mov dword [ebp - 0x100], edx
mov edx, dword [ebp - 0xd0]
mov dword [eax + 0x44], ecx
mov esi, dword [edx]
mov dword [eax + 4], esi
mov dword [ebp - 0x130], esi
mov esi, dword [edx + 4]
mov dword [eax + 0x1c], esi
mov esi, dword [eax + 0x30]
lea ecx, [ecx + esi*4]
mov dword [eax + 0xd8], ecx
mov edx, dword [edx + 0x10]
push edx
push 0
push ecx
mov dword [eax + 0xd4], edx
mov dword [ebp - 0xf8], 0xffffffff
call fcn.004d29c0
add esp, 0xc
jmp case.default.0x42c53e
mov esi, dword [esi + 0xc0]
mov ebx, dword [ebp - 0xf4]
mov dword [ebp - 0xe8], esi
mov eax, dword [esi + 0x2c]
lea edx, [eax + eax*4]
mov eax, dword [esi + 8]
mov eax, dword [eax + edx*4 + 4]
add eax, dword [edi + 4]
mov edx, dword [esi + 0xc]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
push 0x1000
push eax
mov dword [ebp - 0xe4], eax
call fcn.00425340
add esp, 8
jmp case.default.0x42c53e
mov ecx, dword [ebp - 0xf0]
test dword [ecx + 0x18], 0x1000000
mov eax, dword [edi + 8]
cdq
je 0x430ce5
add dword [ecx + 0x1f8], eax
adc dword [ecx + 0x1fc], edx
jmp case.default.0x42c53e
cmp dword [edi + 4], 0
je 0x430cfc
add dword [ecx + 0x1f0], eax
adc dword [ecx + 0x1f4], edx
jmp case.default.0x42c53e
add dword [esi + 0xa0], eax
adc dword [esi + 0xa4], edx
jmp case.default.0x42c53e
cmp dword [edi + 4], 0
je 0x430d4c
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax + 0x1f0]
or ecx, dword [eax + 0x1f4]
jne case.default.0x42c53e
mov edx, dword [eax + 0x1f8]
or edx, dword [eax + 0x1fc]
jne case.default.0x42c53e
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf8], edi
jmp case.default.0x42c53e
mov eax, dword [esi + 0xa0]
or eax, dword [esi + 0xa4]
jne case.default.0x42c53e
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax + 0x1f8]
or ecx, dword [eax + 0x1fc]
jne case.default.0x42c53e
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf8], edi
jmp case.default.0x42c53e
mov esi, dword [esi + 0xc0]
test esi, esi
je 0x430dbd
mov ecx, esi
mov dword [ebp - 0xe4], ecx
mov eax, dword [ecx + 4]
test eax, eax
je 0x430daf
mov edi, edi
mov ecx, eax
mov dword [ebp - 0xe4], ecx
mov eax, dword [ecx + 4]
test eax, eax
jne 0x430da0
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [ecx + 0xc]
lea esi, [eax + edx*8]
jmp 0x430dc6
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
lea esi, [ebx + ecx*8]
mov dword [ebp - 0xe8], esi
call fcn.00424fc0
mov edi, dword [edi + 8]
mov eax, dword [ebp - 0x100]
lea edx, [edi + edi*4]
lea esi, [eax + edx*8]
call fcn.00424fc0
mov ecx, dword [esi + 0x10]
mov eax, dword [ebp - 0xe8]
mov esi, dword [esi + 0x14]
cmp dword [eax + 0x14], esi
jg case.default.0x42c53e
jl 0x430e05
cmp dword [eax + 0x10], ecx
jae case.default.0x42c53e
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], esi
jmp case.default.0x42c53e
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
cmp dword [ebx + eax*8 + 0x14], 0
jl case.default.0x42c53e
jg 0x430e2e
cmp dword [ebx + eax*8 + 0x10], 0
jbe case.default.0x42c53e
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf8], edi
jmp case.default.0x42c53e
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
cmp dword [ebx + eax*8 + 0x14], 0
jg case.default.0x42c53e
jl 0x430e5b
cmp dword [ebx + eax*8 + 0x10], 0
jae case.default.0x42c53e
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf8], edi
jmp case.default.0x42c53e
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, dword [edi + 0xc]
cdq
add dword [ecx + 0x10], eax
adc dword [ecx + 0x14], edx
mov edx, dword [ecx + 0x10]
or edx, dword [ecx + 0x14]
jne case.default.0x42c53e
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf8], edi
jmp case.default.0x42c53e
movzx ecx, byte [edi + 3]
mov edx, dword [esi + 0xc]
mov dword [ebp - 0xe8], ecx
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
xor eax, eax
mov dword [ebp - 0xdc], ebx
mov dword [ebp - 0x90], edx
mov dword [ebp - 0xe4], eax
test ecx, ecx
jle 0x430efe
mov ecx, dword [ebp - 0x90]
mov dword [ecx + eax*4], ebx
mov ecx, dword [ebp - 0xdc]
call fcn.0042c190
mov eax, dword [ebp - 0xe4]
mov ebx, dword [ebp - 0xdc]
inc eax
add ebx, 0x28
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xdc], ebx
cmp eax, dword [ebp - 0xe8]
jl 0x430ec6
mov edx, dword [edi + 0x10]
mov ecx, dword [ebp - 0x100]
mov dword [ebp - 0xd8], edx
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xa8], eax
inc dword [eax + 0x18]
mov eax, dword [ebp - 0xf0]
xor esi, esi
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xd8]
mov edx, 1
mov word [ebp - 0xb4], dx
mov dword [ebp - 0xcc], esi
mov dword [ebp - 0xac], esi
mov dword [ebp - 0xb0], esi
mov dword [ebp - 0x98], esi
mov dword [ebp - 0xa4], esi
mov byte [ebp - 0x94], 0
test byte [eax + 2], 0x20
je 0x430f79
mov ecx, dword [edi - 4]
mov dword [ebp - 0xa4], ecx
mov edx, dword [ebp - 0x90]
mov ecx, dword [ebp - 0xe8]
mov eax, dword [eax + 0x10]
push edx
push ecx
lea edx, [ebp - 0xd8]
push edx
call eax
add esp, 0xc
cmp dword [ebp - 0x98], esi
je 0x430fde
mov bl, 1
lea edi, [ebp - 0xd0]
call fcn.004259f0
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ebp - 0xfc]
push eax
push 0x4e2a14
push ecx
add edx, 0x38
push edx
call fcn.00409480
mov eax, dword [ebp - 0x98]
mov edi, dword [ebp - 0x104]
add esp, 0x10
mov dword [ebp - 0xec], eax
xor esi, esi
cmp byte [ebp - 0x94], 0
je 0x43100c
mov edi, dword [edi - 0x10]
mov dword [ebp - 0xe4], edi
cmp edi, esi
je 0x43100c
mov edx, dword [ebp - 0x100]
lea ecx, [edi + edi*4]
push 0
push 1
lea esi, [edx + ecx*8]
call fcn.00425160
add esp, 8
lea eax, [ebp - 0xd0]
push eax
call fcn.00424dc0
add esp, 4
jmp case.default.0x42c53e
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
lea ecx, [ebx + ecx*8]
mov dword [ebp - 0xe8], ecx
mov eax, dword [edi + 0x10]
call fcn.00424ce0
mov dword [ebp - 0xec], eax
test eax, eax
je 0x43106d
mov edi, dword [ebp - 0xe8]
mov bl, 1
call fcn.004259f0
mov edx, dword [ebp - 0xf0]
push eax
mov eax, dword [ebp - 0xfc]
push 0x4e2a14
push edx
add eax, 0x38
push eax
call fcn.00409480
add esp, 0x10
movzx ecx, byte [ebp - 0x10c]
mov eax, dword [ebp - 0xe8]
call fcn.004249e0
mov ecx, dword [ebp - 0xe8]
call fcn.00425310
test eax, eax
jne 0x42d1ba
jmp case.default.0x42c53e
or eax, 0xffffffff
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xe0], eax
xor esi, esi
mov dword [ebp - 0xe4], esi
mov edx, dword [edi + 8]
mov eax, dword [edi + 4]
lea ecx, [ebp - 0xdc]
push ecx
mov ecx, dword [ebp - 0xf0]
push edx
push eax
push ecx
lea eax, [ebp - 0xe0]
call fcn.00476570
add esp, 0x10
mov dword [ebp - 0xec], eax
cmp eax, 5
jne 0x4310ed
mov dword [ebp - 0xec], esi
mov dword [ebp - 0xe4], 1
xor eax, eax
mov dword [ebp - 0xe8], eax
mov edi, dword [edi + 0xc]
lea edx, [edi + edi*4]
lea ebx, [ebx + edx*8]
mov dword [ebp - 0xd8], ebx
mov eax, dword [ebp + eax*4 - 0xe4]
cdq
push edx
push eax
mov esi, ebx
call fcn.00425160
mov eax, dword [ebp - 0xe8]
mov ebx, dword [ebp - 0xd8]
inc eax
add ebx, 0x28
add esp, 8
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xd8], ebx
cmp eax, 3
jl 0x431104
jmp case.default.0x42c53e
mov edx, dword [edi + 0xc]
mov ecx, dword [ebp - 0xf0]
mov dword [ebp - 0xe0], edx
mov eax, dword [edi + 4]
mov ecx, dword [ecx + 0x10]
add eax, eax
mov eax, dword [ecx + eax*8 + 4]
mov dword [ebp - 0xe8], eax
mov eax, dword [eax + 4]
mov eax, dword [eax]
mov dword [ebp - 0xe4], eax
movzx ecx, byte [eax + 5]
mov dword [ebp - 0xdc], ecx
cmp edx, 0xffffffff
jne 0x431181
mov edx, ecx
mov dword [ebp - 0xe0], edx
cmp byte [eax + 0xf], 3
jae 0x43119d
mov ecx, dword [eax + 0x40]
cmp dword [ecx], 0
je 0x4311a9
cmp dword [eax + 0x4c], 0
jl 0x4311a9
jg 0x43119d
cmp dword [eax + 0x48], 0
jbe 0x4311a9
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0xe0], edx
cmp byte [eax + 0xe], 0
je 0x4311b6
mov eax, 0x4e27f8
jmp 0x4311bc
mov eax, dword [eax + 0xa8]
mov dword [ebp - 0xd8], eax
cmp edx, 5
jne 0x431247
mov ecx, eax
call fcn.0040b380
test eax, eax
je 0x4311e5
mov eax, dword [ebp - 0xe4]
call fcn.00416da0
test eax, eax
jne 0x431247
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0xe0], edx
cmp dword [ebp - 0xec], 0
je 0x431206
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0xe0], edx
mov eax, dword [ebp - 0xe4]
mov ecx, edx
call fcn.00416c40
mov dword [ebp - 0xe0], eax
mov edi, dword [edi + 8]
lea eax, [edi + edi*4]
lea ebx, [ebx + eax*8]
mov ecx, 0xa02
mov word [ebx + 0x1c], cx
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xf4], ebx
cmp eax, 6
jne 0x431338
xor ecx, ecx
jmp 0x43133f
mov ecx, dword [ebp - 0xdc]
cmp edx, ecx
je 0x4311f1
cmp ecx, 5
je 0x43125b
cmp edx, 5
jne 0x4311f1
mov eax, dword [ebp - 0xf0]
cmp byte [eax + 0x3e], 0
je 0x431301
cmp dword [eax + 0x90], 1
jg 0x431301
cmp ecx, 5
jne 0x4312af
mov eax, dword [ebp - 0xe4]
call fcn.00416f30
mov dword [ebp - 0xec], eax
test eax, eax
jne 0x4311fa
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xe4]
call fcn.00416c40
mov edx, dword [ebp - 0xe0]
jmp 0x4312d7
cmp ecx, 4
jne 0x4312ca
mov eax, dword [ebp - 0xe4]
mov ecx, 2
call fcn.00416c40
mov edx, dword [ebp - 0xe0]
cmp dword [ebp - 0xec], 0
jne 0x4311fa
mov ecx, dword [ebp - 0xe8]
xor eax, eax
cmp edx, 5
sete al
inc eax
push eax
push ecx
call fcn.004236c0
mov edx, dword [ebp - 0xe0]
add esp, 8
mov dword [ebp - 0xec], eax
jmp 0x4311f1
mov dword [ebp - 0xec], 1
mov eax, str.into
cmp edx, 5
je 0x43131a
mov eax, str.out_of
mov edx, dword [ebp - 0xf0]
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
push edx
add esi, 0x38
push esi
call fcn.00409480
add esp, 0x10
jmp case.default.0x42c53e
mov ecx, dword [eax*4 + 0x4e400c]
mov dword [ebx + 4], ecx
call fcn.0040b380
movzx ecx, byte [ebp - 0x10c]
mov dword [ebx + 0x18], eax
mov eax, ebx
mov byte [ebx + 0x1f], 1
call fcn.004249e0
jmp case.default.0x42c53e
mov edi, dword [ebp - 0xf0]
lea eax, [esi + 0x38]
call fcn.00465f70
mov dword [ebp - 0xec], eax
jmp case.default.0x42c53e
mov edx, dword [edi + 4]
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax + 0x10]
add edx, edx
mov eax, dword [ecx + edx*8 + 4]
push eax
mov dword [ebp - 0xe8], eax
call fcn.0041cca0
add esp, 4
mov dword [ebp - 0xec], eax
cmp eax, 0x65
jne case.default.0x42c53e
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf8], edi
mov dword [ebp - 0xec], 0
jmp case.default.0x42c53e
cmp dword [edi + 4], 0
jne 0x4313d9
mov eax, dword [ebp - 0xf0]
call fcn.004297c0
jmp case.default.0x42c53e
or dword [esi + 0x64], 0x20
jmp case.default.0x42c53e
mov cl, byte [edi + 0xc]
test cl, cl
jne 0x4313fc
mov edx, dword [ebp - 0xf0]
test dword [edx + 0x18], 0x4000
jne case.default.0x42c53e
mov edx, dword [edi + 8]
mov eax, dword [edi + 4]
mov ebx, dword [ebp - 0xf0]
push edx
mov edx, dword [ebx + 0x10]
add eax, eax
mov esi, dword [edx + eax*8 + 4]
call fcn.004235f0
add esp, 4
mov dword [ebp - 0xec], eax
cmp al, 6
jne case.default.0x42c53e
mov eax, dword [edi + 0x10]
mov ecx, dword [ebp - 0xfc]
push eax
push str.database_table_is_locked:__s
add ecx, 0x38
push ebx
push ecx
call fcn.00409480
add esp, 0x10
jmp case.default.0x42c53e
mov edi, dword [edi + 0x10]
mov esi, dword [ebp - 0xf0]
mov dword [ebp - 0xe8], edi
call fcn.00467290
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xe8]
test eax, eax
je case.default.0x42c53e
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xfc]
push edx
push eax
call fcn.004298c0
add esp, 8
jmp case.default.0x42c53e
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 4]
mov edi, dword [ebp - 0xf0]
add esi, 0x38
push esi
push ecx
call fcn.00466e30
add esp, 8
mov dword [ebp - 0xec], eax
jmp case.default.0x42c53e
mov edx, dword [esi + 0x64]
mov ecx, dword [ebp - 0xf0]
and edx, 0xfffffffb
or edx, 8
mov dword [esi + 0x64], edx
mov eax, dword [edi + 0x10]
push eax
mov eax, dword [edi + 4]
call fcn.00467100
add esp, 4
and dword [esi + 0x64], 0xfffffff3
mov dword [ebp - 0xec], eax
jmp case.default.0x42c53e
xor eax, eax
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], eax
mov ecx, dword [edi + 0x10]
mov eax, dword [ecx + 8]
mov dword [ebp - 0xe0], eax
mov ecx, dword [eax]
lea edx, [ebp - 0xe4]
push edx
mov dword [ebp - 0xdc], ecx
push eax
mov eax, dword [ecx + 0x18]
call eax
mov ecx, dword [ebp - 0xe0]
push ecx
mov ebx, eax
push esi
mov dword [ebp - 0xec], ebx
call fcn.004298c0
add esp, 0x10
test ebx, ebx
jne case.default.0x42c53e
mov edx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xe4]
push ebx
push 0xffffffffffffffff
mov dword [eax], edx
mov ecx, dword [edi + 4]
push ebx
push ecx
mov ebx, esi
call fcn.0042c1c0
add esp, 0x10
mov dword [ebp - 0xe8], eax
test eax, eax
je 0x431564
mov edx, dword [ebp - 0xe4]
mov dword [eax + 0x20], edx
jmp case.default.0x42c53e
mov eax, dword [ebp - 0xf0]
mov byte [eax + 0x40], 1
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx + 0x1c]
push ecx
call eax
add esp, 4
jmp case.default.0x42c53e
mov eax, dword [edi + 0xc]
lea ecx, [eax + eax*4]
lea ebx, [ebx + ecx*8]
mov ecx, dword [esi + 0x44]
mov esi, dword [esi + 0xc]
mov dword [ebp - 0xdc], ebx
lea eax, [ebx + 0x28]
mov dword [ebp - 0xd8], eax
mov edx, dword [edi + 4]
mov ecx, dword [ecx + edx*4]
mov dword [ebp - 0xcc], ecx
mov edx, dword [ecx + 0x20]
mov dword [ebp - 0xd4], edx
mov ecx, dword [edx]
mov dword [ebp - 0xd0], ecx
mov ecx, dword [ecx]
mov dword [ebp - 0xe0], ecx
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xe8], ecx
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xe4], eax
xor eax, eax
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xc4], eax
cmp ecx, eax
jle 0x43163c
mov edx, dword [ebp - 0xd8]
lea ecx, [eax + eax*4 + 5]
lea ecx, [edx + ecx*8]
mov edx, dword [ebp - 0xc0]
mov dword [edx + eax*4], ecx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xc0]
mov ecx, dword [ecx + eax*4]
call fcn.0042c190
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xe8]
inc eax
mov dword [ebp - 0xc4], eax
cmp eax, ecx
jl 0x4315f5
mov edx, dword [ebp - 0xd4]
mov esi, dword [ebp - 0xfc]
mov eax, dword [esi + 0x64]
and eax, 0xfffffff7
or eax, 4
mov dword [esi + 0x64], eax
mov eax, dword [ebp - 0xc0]
push eax
mov eax, dword [ebp - 0xe4]
push ecx
mov ecx, dword [edi + 0x10]
push ecx
mov ecx, dword [ebp - 0xe0]
push eax
push edx
mov edx, dword [ecx + 0x20]
call edx
and dword [esi + 0x64], 0xfffffff3
mov ebx, eax
mov eax, dword [ebp - 0xd0]
add esp, 0x14
push eax
push esi
mov dword [ebp - 0xec], ebx
call fcn.004298c0
add esp, 8
test ebx, ebx
jne 0x4316ab
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xe0]
mov eax, dword [edx + 0x28]
push ecx
call eax
add esp, 4
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0
je 0x4316be
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf8], edi
mov ecx, dword [ebp - 0xcc]
mov byte [ecx + 0x19], 0
jmp case.default.0x42c53e
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x44]
mov ecx, dword [eax + edx*4]
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
lea eax, [ebx + edx*8]
mov dword [ebp - 0xe0], eax
cmp byte [ecx + 0x19], 0
mov dword [ebp - 0x108], ecx
je 0x4316fd
mov esi, eax
call fcn.00425110
jmp case.default.0x42c53e
mov eax, dword [ecx + 0x20]
mov eax, dword [eax]
push 0x48
mov dword [ebp - 0xe8], eax
mov ecx, dword [eax]
lea edx, [ebp - 0xd8]
push 0
push edx
mov dword [ebp - 0xe4], ecx
call fcn.004d29c0
mov ebx, dword [ebp - 0xe0]
add esp, 0xc
lea eax, [ebp - 0xd0]
call fcn.00425400
mov eax, dword [ebp - 0xb4]
and eax, 0xbe01
or eax, 1
mov word [ebp - 0xb4], ax
mov ecx, dword [edi + 8]
mov eax, dword [ebp - 0x108]
push ecx
mov ecx, dword [eax + 0x20]
lea edx, [ebp - 0xd8]
push edx
mov edx, dword [ebp - 0xe4]
mov eax, dword [edx + 0x2c]
push ecx
call eax
mov ecx, dword [ebp - 0xe8]
add esp, 0xc
push ecx
push esi
mov dword [ebp - 0xec], eax
call fcn.004298c0
mov eax, dword [ebp - 0x98]
add esp, 8
test eax, eax
je 0x431792
mov dword [ebp - 0xec], eax
movzx ecx, byte [ebp - 0x10c]
lea eax, [ebp - 0xd0]
call fcn.004249e0
mov eax, dword [ebp - 0xe0]
lea ebx, [ebp - 0xd0]
call fcn.00425400
mov ecx, dword [ebp - 0xe0]
call fcn.00425310
test eax, eax
jne 0x42d1ba
jmp case.default.0x42c53e
mov eax, dword [esi + 0x44]
mov dword [ebp - 0xe0], 0
mov edx, dword [edi + 4]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0xdc], eax
cmp byte [eax + 0x19], 0
jne case.default.0x42c53e
mov ecx, dword [eax + 0x20]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x64]
mov dword [ebp - 0xe8], ecx
mov ecx, dword [ecx]
and edx, 0xfffffff7
or edx, 4
mov dword [ebp - 0xe4], ecx
mov dword [esi + 0x64], edx
mov eax, dword [eax + 0x20]
mov ecx, dword [ecx + 0x24]
push eax
call ecx
mov edx, dword [ebp - 0xe8]
and dword [esi + 0x64], 0xfffffff3
add esp, 4
push edx
mov ebx, eax
push esi
mov dword [ebp - 0xec], ebx
call fcn.004298c0
add esp, 8
test ebx, ebx
jne 0x431859
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0x20]
mov edx, dword [ebp - 0xe4]
mov eax, dword [edx + 0x28]
push ecx
call eax
add esp, 4
mov dword [ebp - 0xe0], eax
cmp dword [ebp - 0xe0], 0
jne 0x43186c
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf8], edi
mov edi, dword [ebp - 0xf0]
mov ecx, dword [edi + 0xe8]
test ecx, ecx
jne 0x431ec4
mov esi, dword [edi + 0x11c]
test esi, esi
je case.default.0x42c53e
mov ebx, dword [ebp - 0x124]
cmp ebx, dword [ebp - 0x120]
jb case.default.0x42c53e
mov ecx, dword [edi + 0x124]
xor edx, edx
mov eax, ebx
div ecx
sub ecx, edx
mov edx, dword [edi + 0x120]
add ecx, ebx
push edx
mov dword [ebp - 0x120], ecx
call esi
add esp, 4
test eax, eax
je case.default.0x42c53e
mov dword [ebp - 0xec], 9
mov esi, dword [ebp - 0xfc]
mov eax, dword [esi + 0x38]
mov ecx, dword [esi + 0xb8]
mov edx, dword [ebp - 0xf8]
mov edi, dword [ebp - 0xec]
push eax
push ecx
push edx
push str.statement_aborts_at__d:___s___s
push edi
mov dword [esi + 0x5c], edi
call fcn.0040aa90
add esp, 0x14
mov eax, esi
call fcn.00428160
cmp edi, 0xc0a
jne 0x43191c
mov eax, dword [ebp - 0xf0]
mov byte [eax + 0x40], 1
mov al, byte [ebp - 0x10d]
mov edi, 1
test al, al
je 0x431962
mov edx, dword [ebp - 0xf0]
movzx esi, al
mov eax, dword [edx + 0x10]
dec esi
mov ecx, esi
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 0xc]
push ecx
call fcn.004463b0
add esp, 4
cmp esi, edi
je 0x431962
mov edx, dword [ebp - 0xf0]
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + 0x1c]
push ecx
call fcn.004463b0
add esp, 4
mov eax, dword [ebp - 0xf0]
mov edx, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x114]
mov dword [eax + 0x20], edx
mov edx, dword [ebp - 0x124]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0xfc]
add dword [eax + 0x88], edx
push eax
call fcn.00426bb0
mov ecx, dword [ebp - 4]
add esp, 4
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004cf2b6
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x10]
mov ecx, dword [eax + 8]
mov dword [ebp - 0xe8], ecx
mov edi, dword [edi + 4]
lea edx, [edi + edi*4]
lea eax, [ebx + edx*8]
mov ecx, 1
mov dword [ebp - 0xe4], eax
call fcn.004249e0
mov dword [ebp - 0xec], eax
test eax, eax
jne case.default.0x42c53e
mov edx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xe8]
mov edx, dword [edx + 4]
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x4c]
call eax
mov ecx, dword [ebp - 0xe8]
push ecx
push esi
mov dword [ebp - 0xec], eax
call fcn.004298c0
add esp, 0x10
and dword [esi + 0x64], 0xffffffdf
jmp case.default.0x42c53e
mov edx, dword [edi + 0x10]
mov eax, dword [edx + 8]
mov dword [ebp - 0xe8], eax
mov eax, dword [eax]
mov dword [ebp - 0xe4], eax
mov ecx, dword [edi + 8]
mov dword [ebp - 0xe0], ecx
cmp dword [eax + 0x34], 0
je case.default.0x42c53e
mov eax, dword [ebp - 0xf0]
mov dl, byte [eax + 0x44]
mov eax, dword [esi + 0xc]
mov dword [ebp - 0xd0], eax
mov eax, dword [edi + 0xc]
mov byte [ebp - 0x119], dl
lea edx, [eax + eax*4]
lea ebx, [ebx + edx*8]
mov dword [ebp - 0xcc], ebx
mov dword [ebp - 0xdc], 0
test ecx, ecx
jle 0x431ab0
mov edi, edi
mov ecx, ebx
call fcn.0042c190
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xd0]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0xdc]
mov ebx, dword [ebp - 0xcc]
inc eax
add ebx, 0x28
mov dword [ebp - 0xcc], ebx
mov dword [ebp - 0xdc], eax
cmp eax, dword [ebp - 0xe0]
jl 0x431a70
mov al, byte [edi + 3]
mov ebx, dword [ebp - 0xf0]
mov byte [ebx + 0x44], al
mov edx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xe0]
lea ecx, [ebp - 0xd8]
push ecx
mov ecx, dword [ebp - 0xe8]
push edx
mov edx, dword [ebp - 0xe4]
push eax
mov eax, dword [edx + 0x34]
push ecx
call eax
mov cl, byte [ebp - 0x119]
mov byte [ebx + 0x44], cl
mov edx, dword [ebp - 0xe8]
push edx
push esi
mov dword [ebp - 0xec], eax
call fcn.004298c0
mov ecx, dword [ebp - 0xec]
add esp, 0x18
test ecx, ecx
jne 0x431b35
cmp dword [edi + 4], ecx
je 0x431b35
mov eax, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0x118], eax
mov dword [ebx + 0x20], eax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0x114], edx
mov dword [ebx + 0x24], eax
cmp cl, 0x13
jne 0x431b75
mov ecx, dword [edi + 0x10]
cmp byte [ecx + 0x10], 0
je 0x431b75
mov al, byte [edi + 3]
cmp al, 4
jne 0x431b59
mov dword [ebp - 0xec], 0
jmp case.default.0x42c53e
cmp al, 5
jne 0x431b6a
mov eax, 2
mov byte [esi + 0x60], al
jmp case.default.0x42c53e
movzx eax, al
mov byte [esi + 0x60], al
jmp case.default.0x42c53e
inc dword [esi + 0x68]
jmp case.default.0x42c53e
mov edx, dword [edi + 4]
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax + 0x10]
add edx, edx
mov edx, dword [ecx + edx*8 + 4]
mov eax, dword [edx + 4]
mov ecx, dword [eax + 0x2c]
mov eax, dword [ebp - 0xf4]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], 0
jmp case.default.0x42c53e
mov eax, dword [ebp - 0xf0]
mov edx, dword [edi + 4]
mov ecx, dword [eax + 0x10]
mov edi, dword [edi + 0xc]
add edx, edx
mov ecx, dword [ecx + edx*8 + 4]
xor eax, eax
test edi, edi
je 0x431bd1
mov edx, dword [ecx + 4]
mov eax, dword [edx + 0x2c]
cmp eax, edi
jae 0x431bd1
mov eax, edi
call fcn.0041bcd0
mov ecx, dword [ebp - 0xf4]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.default.0x42c53e
mov eax, dword [ebp - 0xf0]
cmp dword [eax + 0xa4], 0
je case.default.0x42c53e
test dword [esi + 0x64], 0x800
jne case.default.0x42c53e
mov edi, dword [edi + 0x10]
mov ecx, edi
test edi, edi
jne 0x431c0c
mov ecx, dword [esi + 0xb8]
mov dword [ebp - 0xe8], ecx
test ecx, ecx
je case.default.0x42c53e
push esi
call fcn.0042bdd0
mov esi, dword [ebp - 0xf0]
add esp, 4
mov dword [ebp - 0xe4], eax
mov ecx, dword [esi + 0xa8]
mov edx, dword [esi + 0xa4]
push eax
push ecx
call edx
mov eax, dword [ebp - 0xe4]
add esp, 8
mov ecx, esi
call fcn.00409080
inc dword [ebp - 0xf8]
cmp dword [ebp - 0xec], 0
je 0x42c4c0
jmp 0x4318d4
mov eax, dword [edi + 4]
mov edx, dword [ebp - 0xf8]
mov dword [esi + 0x5c], eax
mov cl, byte [edi + 8]
mov byte [esi + 0x60], cl
mov dword [esi + 0x58], edx
test eax, eax
je 0x431d1f
mov al, byte [edi + 3]
test al, al
je 0x431c93
movzx eax, al
mov eax, dword [eax*4 + 0x4e3864]
jmp 0x431c95
xor eax, eax
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], str.abort_at__d_in___s_:__s
test eax, eax
je 0x431ccc
mov ecx, dword [edi + 0x10]
test ecx, ecx
je 0x431ccc
push ecx
mov ecx, dword [ebp - 0xf0]
push eax
push str._s_constraint_failed:__s
push ecx
lea ebx, [esi + 0x38]
push ebx
call fcn.00409480
add esp, 0x14
jmp 0x431cfb
mov ecx, dword [edi + 0x10]
lea ebx, [esi + 0x38]
test ecx, ecx
je 0x431ce5
mov edx, dword [ebp - 0xf0]
push ecx
push 0x4e2a14
push edx
jmp 0x431cf2
push eax
mov eax, dword [ebp - 0xf0]
push str._s_constraint_failed
push eax
push ebx
call fcn.00409480
add esp, 0x10
mov ecx, dword [ebx]
mov edx, dword [esi + 0xb8]
mov eax, dword [ebp - 0xf8]
push ecx
mov ecx, dword [ebp - 0xe4]
push edx
mov edx, dword [edi + 4]
push eax
push ecx
push edx
call fcn.0040aa90
add esp, 0x14
mov eax, esi
call fcn.00428160
mov edi, 5
cmp eax, edi
je 0x431d76
mov edi, dword [esi + 0x5c]
neg edi
sbb edi, edi
and edi, 0xffffff9c
add edi, 0x65
jmp 0x431962
lea ecx, [ebp - 0xd8]
push ecx
call fcn.00424dc0
add esp, 4
jmp 0x42dbf6
mov dword [ebp - 0xec], 0x14
jmp 0x431e4b
mov edx, dword [ebp - 0xf8]
mov dword [esi + 0x58], edx
mov byte [ebx + 0x3e], 0
mov edi, 5
mov dword [esi + 0x5c], edi
jmp 0x431962
test edi, edi
je 0x431dbe
mov esi, dword [ebp - 0xf0]
push 0x204
mov eax, esi
call fcn.004759f0
add esp, 4
mov byte [esi + 0x3e], 1
mov esi, dword [ebp - 0xf0]
call fcn.00474ff0
mov eax, dword [ebp - 0xfc]
mov edi, dword [eax + 0x5c]
neg edi
sbb edi, edi
and edi, 0xffffff9c
add edi, 0x65
jmp 0x431962
push 1
mov eax, esi
call fcn.004280f0
mov edi, eax
add esp, 4
test edi, edi
jne 0x431962
mov al, byte [ebp - 0xe8]
mov edi, dword [ebp - 0xf0]
mov byte [edi + 0x3e], al
mov eax, esi
call fcn.00428160
cmp eax, 5
jne 0x431d9b
mov ecx, dword [ebp - 0xf8]
mov dl, 1
sub dl, byte [ebp - 0xe8]
mov dword [esi + 0x58], ecx
mov byte [edi + 0x3e], dl
mov edi, eax
mov dword [esi + 0x5c], edi
jmp 0x431962
mov dword [ebp - 0xec], 8
jmp 0x431e4b
mov ecx, dword [ebp - 0xf8]
mov edi, 5
mov dword [esi + 0x58], ecx
mov dword [esi + 0x5c], edi
jmp 0x431962
mov eax, 0x110cd
call fcn.00477a30
mov dword [ebp - 0xec], eax
jmp 0x431e4b
mov dword [ebp - 0xec], 0xd
mov edx, dword [ebp - 0xf0]
cmp byte [edx + 0x40], 0
je 0x431e73
mov dword [ebp - 0xec], 7
mov ecx, dword [ebp - 0xec]
mov eax, str.unknown_error
call fcn.00475ae0
jmp 0x431ea6
cmp dword [ebp - 0xec], 0xc0a
je 0x4318d4
cmp dword [ebp - 0xec], 0x204
je 0x431ea1
mov ecx, dword [ebp - 0xec]
mov eax, str.unknown_error
call fcn.00475ae0
jmp 0x431ea6
mov eax, str.abort_due_to_ROLLBACK
push eax
push 0x4e2a14
push edx
mov edx, dword [ebp - 0xfc]
add edx, 0x38
push edx
call fcn.00409480
add esp, 0x10
jmp 0x4318d4
mov eax, 9
mov dword [esi + 0x5c], eax
mov ecx, dword [str.interrupted]
mov dword [ebp - 0xec], eax
mov eax, str.unknown_error
test ecx, ecx
je 0x431ee3
mov eax, ecx
push eax
push 0x4e2a14
push edi
add esi, 0x38
push esi
call fcn.00409480
add esp, 0x10
jmp 0x4318d4