Function at 0x423d90
Capabilities:
Enumerate pe sections
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x124
mov eax, dword [0x53f4a0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, ecx
mov ecx, dword [ebx + 0x14]
xor eax, eax
push esi
mov esi, dword [ebx + 0x4c]
push edi
mov edi, dword [ebx]
mov edx, dword [edi + 8]
mov dword [ebp - 0x104], ecx
mov ecx, dword [edx + 0xc]
mov dl, byte [ecx + 0x49]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd0], eax
mov byte [ebp - 0xe9], al
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0x100], eax
lea eax, [ebx + 0x80]
push eax
mov dword [ebp - 0xe0], ebx
mov dword [ebp - 0xcc], edi
mov byte [ebp - 0xe8], dl
mov dword [ebp - 0xe4], esi
mov dword [ebp - 0xfc], eax
call fcn.00413d60
add esp, 4
cmp dword [ebx + 0x58], 7
je 0x4243e4
xor eax, eax
mov dword [ebx + 0x58], eax
mov dword [ebx + 0x2c], eax
mov ecx, dword [edi + 0xe0]
mov dword [edi + 0x1a8], eax
test ecx, ecx
jne 0x429403
xor edx, edx
cmp dword [edi + 0x108], eax
mov eax, dword [ebx + 0x54]
setne dl
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0x108], edx
jmp 0x423e60
cmp byte [edi + 0x1e], 0
jne 0x4243e4
cmp dword [ebp - 0x108], 0
mov eax, dword [ebp - 0xd4]
mov edx, dword [ebp - 0x104]
lea ecx, [eax + eax*4]
lea edi, [edx + ecx*4]
mov dword [ebp - 0xdc], edi
je 0x423ec5
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax + 0x110]
cmp ecx, dword [ebp - 0xf4]
jne 0x423ebf
mov edx, dword [eax + 0x10c]
mov eax, dword [eax + 0x108]
push edx
call eax
add esp, 4
test eax, eax
jne 0x429211
mov dword [ebp - 0xf4], eax
inc dword [ebp - 0xf4]
test byte [edi + 2], 2
je 0x423ef4
mov eax, dword [edi + 8]
mov edx, dword [ebp - 0xe4]
lea ecx, [eax + eax*4]
lea esi, [edx + ecx*8]
mov dword [ebp - 0xd8], esi
call fcn.0041dbd0
mov eax, 4
mov word [esi + 0x1c], ax
mov esi, dword [ebp - 0xe4]
movzx eax, byte [edi]
dec eax
cmp eax, 0x90
ja case.0x423f03.17
jmp dword [eax*4 + 0x42943c]
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ecx + 0xe0]
test edx, edx
jne 0x429403
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xd4], edi
jmp case.0x423f03.17
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
mov eax, dword [ebp - 0xd4]
mov edx, 4
mov word [ecx + 0x1c], dx
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov eax, dword [edi + 8]
dec eax
mov dword [ebp - 0xd4], eax
jmp case.0x423f03.17
mov edi, dword [edi + 4]
lea ecx, [edi + edi*4]
mov edx, dword [esi + ecx*8]
mov dword [ebp - 0xd4], edx
jmp case.0x423f03.17
mov edi, dword [edi + 4]
lea eax, [edi + edi*4]
lea ecx, [esi + eax*8]
mov eax, dword [ecx]
mov edx, 4
mov word [ecx + 0x1c], dx
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xd4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xd4], ecx
jmp case.0x423f03.17
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
test byte [esi + edx*8 + 0x1c], 1
je case.0x423f03.17
cmp dword [edi + 4], 0
jne 0x429220
mov eax, dword [ebx + 0xdc]
test eax, eax
je 0x429220
mov ecx, dword [eax + 0x3c]
mov edx, dword [ebp - 0xcc]
dec dword [ebx + 0xe0]
mov dword [ebx + 0xdc], ecx
mov ecx, dword [ebx + 0x6c]
add dword [edx + 0x40], ecx
mov dword [edx + 0x3c], ecx
call fcn.0041ff80
cmp dword [edi + 8], 4
mov dword [ebp - 0xd4], eax
jne 0x42400e
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x14]
mov ecx, dword [eax + edx*4 + 8]
dec ecx
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebx + 0x14]
mov eax, dword [ebx + 0x4c]
mov dword [ebp - 0x104], edx
mov dword [ebp - 0xe4], eax
jmp case.0x423f03.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd8]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x423f03.17
mov edi, dword [edi + 0x10]
mov ecx, dword [edi]
mov eax, dword [ebp - 0xd8]
mov dword [eax], ecx
mov edx, dword [edi + 4]
mov dword [eax + 4], edx
jmp case.0x423f03.17
mov eax, dword [ebp - 0xd8]
mov ecx, 8
mov word [eax + 0x1c], cx
mov edx, dword [edi + 0x10]
fld qword [edx]
fstp qword [eax + 8]
jmp case.0x423f03.17
mov ecx, dword [edi + 0x10]
mov byte [edi], 9
mov dword [ebp - 0xdc], ecx
call fcn.004088f0
cmp byte [ebp - 0xe8], 1
mov dword [edi + 4], eax
je 0x4241b0
mov esi, dword [ebp - 0xd8]
test ecx, ecx
jne 0x4240a6
push esi
call fcn.0041dfa0
add esp, 4
jmp 0x42414b
mov eax, dword [esi + 0x10]
test eax, eax
je 0x4240b8
mov eax, dword [eax + 0x48]
mov dword [ebp - 0xd0], eax
jmp 0x4240c2
mov dword [ebp - 0xd0], 0x3b9aca00
mov eax, dword [ebp - 0xd0]
xor ebx, ebx
test eax, eax
jl 0x4240df
mov ecx, dword [ebp - 0xdc]
cmp byte [ebx + ecx], 0
je 0x4240df
inc ebx
cmp ebx, eax
jle 0x4240d4
xor ecx, ecx
mov dword [ebp - 0xf0], 0x202
push esi
cmp ecx, fcn.00406900
jne 0x424107
call fcn.0041dc40
mov eax, dword [ebp - 0xdc]
mov dword [esi + 0x14], eax
mov dword [esi + 0x24], eax
jmp 0x42411f
call fcn.0041dc40
mov edx, dword [ebp - 0xdc]
mov dword [esi + 0x14], edx
mov dword [ebp - 0xf0], 0xa02
mov ax, word [ebp - 0xf0]
add esp, 4
cmp ebx, dword [ebp - 0xd0]
mov dword [esi + 0x20], 0
mov dword [esi + 0x18], ebx
mov word [esi + 0x1c], ax
mov byte [esi + 0x1f], 1
mov byte [esi + 0x1e], 3
jg 0x424b03
movzx ecx, byte [ebp - 0xe8]
mov eax, esi
mov dword [ebp - 0xd0], 0
call fcn.0041d850
test eax, eax
jne 0x4243e4
mov cx, word [esi + 0x1c]
mov dword [esi + 0x24], eax
mov edx, 0xfbff
and cx, dx
mov eax, 0x800
or cx, ax
or bl, 0xff
mov word [esi + 0x1c], cx
cmp byte [edi + 1], bl
jne 0x4241a1
mov ecx, dword [edi + 0x10]
mov edx, dword [ebp - 0xcc]
push ecx
push edx
call fcn.00406900
add esp, 8
mov byte [edi + 1], bl
mov eax, dword [esi + 0x14]
mov dword [edi + 0x10], eax
mov ecx, dword [esi + 0x18]
mov dword [edi + 4], ecx
mov edx, dword [edi + 4]
mov eax, dword [ebp - 0xcc]
cmp edx, dword [eax + 0x48]
jg 0x424b03
mov eax, dword [ebp - 0xd8]
mov ecx, 0xa02
mov word [eax + 0x1c], cx
mov edx, dword [edi + 0x10]
mov dword [eax + 0x14], edx
mov ecx, dword [edi + 4]
mov dl, byte [ebp - 0xe8]
mov dword [eax + 0x18], ecx
mov byte [eax + 0x1f], dl
jmp case.0x423f03.17
mov ecx, dword [ebp - 0xd8]
mov eax, 1
mov word [ecx + 0x1c], ax
jmp case.0x423f03.17
mov ebx, dword [edi + 0x10]
mov edi, dword [edi + 4]
test ebx, ebx
jne 0x42422c
mov edx, dword [ebp - 0xd8]
push edx
call fcn.0041dfa0
mov cl, byte [ebp - 0xe8]
mov edx, dword [ebp - 0xd8]
add esp, 4
mov byte [edx + 0x1f], cl
jmp case.0x423f03.17
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x42423e
mov eax, dword [eax + 0x48]
jmp 0x424243
mov eax, 0x3b9aca00
mov dword [ebp - 0xdc], 0x10
test edi, edi
jge 0x424271
xor edi, edi
test eax, eax
jl 0x424267
mov cl, byte [edi + ebx + 1]
or cl, byte [edi + ebx]
je 0x424267
add edi, 2
cmp edi, eax
jle 0x424257
mov dword [ebp - 0xdc], 0x210
mov esi, dword [ebp - 0xd8]
xor edx, edx
push esi
cmp edx, fcn.00406900
jne 0x424299
call fcn.0041dc40
add esp, 4
mov dword [esi + 0x14], ebx
mov dword [esi + 0x24], ebx
mov dword [esi + 0x20], 0
jmp 0x4242bb
call fcn.0041dc40
add esp, 4
or dword [ebp - 0xdc], 0x800
mov dword [esi + 0x14], ebx
mov dword [esi + 0x20], 0
mov esi, dword [ebp - 0xd8]
mov ax, word [ebp - 0xdc]
mov cl, byte [ebp - 0xe8]
mov edx, dword [ebp - 0xd8]
mov byte [esi + 0x1f], 1
mov dword [esi + 0x18], edi
mov word [esi + 0x1c], ax
mov byte [esi + 0x1e], 4
mov byte [edx + 0x1f], cl
jmp case.0x423f03.17
mov edi, dword [edi + 4]
mov ecx, dword [ebx + 0x3c]
lea eax, [edi + edi*4]
lea esi, [ecx + eax*8 - 0x28]
mov ecx, esi
mov dword [ebp - 0xc8], esi
call fcn.0041e140
test eax, eax
jne 0x424b03
mov ebx, dword [ebp - 0xd8]
push 0x800
push esi
call fcn.0041e170
add esp, 8
jmp case.0x423f03.17
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xc4], eax
mov ecx, dword [edi + 4]
mov dword [ebp - 0xc0], ecx
mov edi, dword [edi + 8]
lea edx, [ecx + ecx*4]
lea ecx, [edi + edi*4]
lea ebx, [esi + edx*8]
lea esi, [esi + ecx*8]
mov dword [ebp - 0xbc], edi
mov dword [ebp - 0xd8], esi
test eax, eax
je 0x42438e
dec eax
mov dword [ebp - 0xc4], eax
mov edx, dword [esi + 0x24]
mov dword [ebp - 0xc8], edx
mov eax, esi
mov dword [esi + 0x24], 0
call fcn.0041e220
mov eax, dword [ebp - 0xc8]
mov dword [ebx + 0x24], eax
mov eax, dword [ebp - 0xc4]
add ebx, 0x28
add esi, 0x28
test eax, eax
jne 0x424351
mov dword [ebp - 0xd8], esi
dec eax
mov dword [ebp - 0xc4], eax
jmp case.0x423f03.17
mov eax, dword [edi + 8]
mov edi, dword [edi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xe4]
lea ebx, [eax + ecx*8]
lea edx, [edi + edi*4]
lea eax, [eax + edx*8]
push 0x1000
push eax
mov dword [ebp - 0xd8], ebx
call fcn.0041e170
mov ecx, 0x1000
add esp, 8
test word [ebx + 0x1c], cx
je case.0x423f03.17
mov eax, ebx
call fcn.0041d9a0
test eax, eax
je case.0x423f03.17
mov eax, dword [ebp - 0xcc]
mov esi, dword [ebp - 0xe0]
push str.out_of_memory
add esi, 0x5c
mov byte [eax + 0x1e], 1
call fcn.00406cf0
mov dword [ebp - 0xd0], 7
jmp 0x424b26
mov eax, dword [edi + 8]
mov edi, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xe4]
lea ebx, [eax + edx*8]
lea ecx, [edi + edi*4]
lea edx, [eax + ecx*8]
push 0x1000
push edx
mov dword [ebp - 0xd8], ebx
call fcn.0041e170
add esp, 8
jmp case.0x423f03.17
push 0
mov ecx, ebx
call fcn.00420840
add esp, 4
mov dword [ebp - 0xd0], eax
test eax, eax
jne case.0x423f03.17
push 1
push ebx
call fcn.00420770
add esp, 8
mov dword [ebp - 0xd0], eax
test eax, eax
jne case.0x423f03.17
mov edx, dword [ebx + 0x50]
add edx, 2
or edx, 1
mov dword [ebx + 0x50], edx
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
xor eax, eax
mov dword [ebx + 0x2c], esi
mov dword [ebp - 0xc8], esi
mov dword [ebp - 0xc4], eax
cmp dword [edi + 8], eax
jle 0x4244d9
mov edx, dword [ebp - 0xc8]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
call fcn.0041da60
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xc8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00423a70
mov eax, dword [ebp - 0xc4]
inc eax
mov dword [ebp - 0xc4], eax
cmp eax, dword [edi + 8]
jl 0x42449f
mov edx, dword [ebp - 0xcc]
cmp byte [edx + 0x1e], 0
jne 0x4243e4
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xe0]
inc eax
mov dword [ecx + 0x54], eax
mov edi, 0x64
jmp 0x424b90
mov eax, dword [edi + 4]
mov ecx, dword [edi + 8]
mov edi, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + ecx*4]
lea eax, [esi + eax*8]
lea ebx, [esi + ecx*8]
movzx ecx, word [eax + 0x1c]
lea edx, [edi + edi*4]
lea edi, [esi + edx*8]
mov dl, byte [ebx + 0x1c]
or dl, cl
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xf0], ebx
mov dword [ebp - 0xd8], edi
test dl, 1
je 0x42454c
push edi
call fcn.0041dfa0
add esp, 4
jmp case.0x423f03.17
test ecx, 0x4000
je 0x424567
call fcn.0041da00
test eax, eax
jne 0x4243e4
mov eax, dword [ebp - 0xdc]
mov ecx, 0x4000
test word [ebx + 0x1c], cx
je 0x424587
mov eax, ebx
call fcn.0041da00
test eax, eax
jne 0x4243e4
mov eax, dword [ebp - 0xdc]
test byte [eax + 0x1c], 0x12
jne 0x4245a7
movzx esi, byte [ebp - 0xe8]
call fcn.0041dab0
test eax, eax
jne 0x4243e4
mov eax, dword [ebp - 0xdc]
test byte [ebx + 0x1c], 0x12
jne 0x4245c9
movzx esi, byte [ebp - 0xe8]
mov eax, ebx
call fcn.0041dab0
test eax, eax
jne 0x4243e4
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x18]
add eax, dword [ebx + 0x18]
cdq
mov ecx, edx
mov edx, dword [ebp - 0xcc]
mov esi, eax
mov dword [ebp - 0xc8], esi
mov dword [ebp - 0xc4], ecx
mov eax, dword [edx + 0x48]
cdq
cmp ecx, edx
jg 0x424b03
jl 0x4245fc
cmp esi, eax
ja 0x424b03
mov ax, word [edi + 0x1c]
mov esi, dword [ebp - 0xf0]
mov ecx, 0xbf02
and ax, cx
or ax, 2
mov word [edi + 0x1c], ax
mov ecx, dword [ebp - 0xc8]
xor eax, eax
cmp edi, esi
sete al
add ecx, 2
mov ebx, edi
call fcn.0041d870
test eax, eax
jne 0x4243e4
cmp edi, esi
je 0x42464d
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov ecx, dword [edi + 0x14]
push edx
push eax
push ecx
call fcn.004ec470
add esp, 0xc
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 0x18]
mov ecx, dword [esi + 0x18]
mov eax, dword [eax + 0x14]
add ecx, dword [edi + 0x14]
push edx
push eax
push ecx
call fcn.004ec470
mov eax, dword [ebp - 0xc8]
mov edx, dword [edi + 0x14]
mov byte [eax + edx], 0
mov edx, dword [ebp - 0xc8]
mov ecx, dword [edi + 0x14]
mov byte [edx + ecx + 1], 0
mov dl, byte [ebp - 0xe8]
mov eax, 0x200
add esp, 0xc
or word [edi + 0x1c], ax
mov ecx, dword [ebp - 0xc8]
mov dword [edi + 0x18], ecx
mov byte [edi + 0x1f], dl
jmp case.0x423f03.17
mov edi, dword [edi + 4]
lea eax, [edi + edi*4]
lea esi, [esi + eax*8]
mov edi, esi
call fcn.00423ba0
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ecx + 8]
mov ebx, dword [ebp - 0xe4]
lea edx, [eax + eax*4]
lea edi, [ebx + edx*8]
call fcn.00423ba0
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0xc]
movzx edx, word [edi + 0x1c]
lea ecx, [eax + eax*4]
movzx eax, word [esi + 0x1c]
or edx, eax
lea ebx, [ebx + ecx*8]
mov dword [ebp - 0xd8], ebx
mov dword [ebp - 0xc8], edx
test dl, 1
jne 0x424937
mov cl, byte [edi + 0x1c]
and cl, byte [esi + 0x1c]
test cl, 4
je 0x424808
mov ecx, dword [esi]
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0xc0], ecx
mov esi, dword [esi + 4]
mov dword [ebp - 0xbc], esi
mov eax, dword [edi]
mov dword [ebp - 0xb8], eax
mov edi, dword [edi + 4]
mov dword [ebp - 0xb4], edi
movzx edx, byte [edx]
add edx, 0xffffffaa
cmp edx, 3
ja case.default.0x42473f
jmp dword [edx*4 + 0x429680]
add eax, ecx
adc edi, esi
mov dword [ebp - 0xb4], edi
jmp 0x4247de
sub eax, ecx
sbb edi, esi
mov dword [ebp - 0xb4], edi
jmp 0x4247de
push esi
push ecx
push edi
push eax
call fcn.00507750
jmp 0x4247d8
mov edx, ecx
or edx, esi
je 0x424937
mov edx, ecx
and edx, esi
cmp edx, 0xffffffff
jne 0x42479e
test eax, eax
jne 0x42479e
cmp edi, 0x80000000
jne 0x42479e
mov ecx, 1
xor esi, esi
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0xbc], esi
push esi
push ecx
push edi
push eax
call fcn.00502d00
jmp 0x4247d8
mov edx, ecx
or edx, esi
je 0x424937
mov edx, ecx
and edx, esi
cmp edx, 0xffffffff
jne 0x4247cf
mov ecx, 1
xor esi, esi
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0xbc], esi
push esi
push ecx
push edi
push eax
call fcn.00502db0
mov dword [ebp - 0xb4], edx
mov dword [ebp - 0xb8], eax
mov cx, word [ebx + 0x1c]
mov edx, 0xbf04
and cx, dx
mov dword [ebx], eax
mov eax, dword [ebp - 0xb4]
or cx, 4
mov dword [ebx + 4], eax
mov word [ebx + 0x1c], cx
jmp case.0x423f03.17
call fcn.0041dda0
fstp qword [ebp - 0xb0]
mov esi, edi
call fcn.0041dda0
fst qword [ebp - 0xa8]
mov eax, dword [ebp - 0xdc]
movzx eax, byte [eax]
add eax, 0xffffffaa
cmp eax, 3
ja case.default.0x424831
jmp dword [eax*4 + 0x429690]
fadd qword [ebp - 0xb0]
jmp 0x4248e1
fsub qword [ebp - 0xb0]
jmp 0x4248e1
fmul qword [ebp - 0xb0]
jmp 0x4248e1
fldz
fld qword [ebp - 0xb0]
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x424933
fdivp st(1)
jmp 0x4248e1
fld qword [ebp - 0xb0]
call fcn.004ecbf6
mov esi, eax
mov edi, edx
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xbc], edi
call fcn.004ecbf6
mov ecx, esi
or ecx, edi
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], edx
je 0x424937
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x4248c6
mov esi, 1
xor edi, edi
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xbc], edi
push edi
push esi
push edx
push eax
call fcn.00502db0
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x11c], edx
fild qword [ebp - 0x120]
sub esp, 8
fst qword [ebp - 0xa8]
fstp qword [esp]
call fcn.004088c0
add esp, 8
test eax, eax
jne 0x424937
mov dx, word [ebx + 0x1c]
fld qword [ebp - 0xa8]
mov eax, 0xbf08
fstp qword [ebx + 8]
and dx, ax
or dx, 8
mov word [ebx + 0x1c], dx
test byte [ebp - 0xc8], 8
jne case.0x423f03.17
mov esi, dword [ebp - 0xd8]
call fcn.0041de20
jmp case.0x423f03.17
fstp st(0)
fstp st(0)
push ebx
call fcn.0041dfa0
add esp, 4
jmp case.0x423f03.17
movzx ecx, byte [edi + 3]
mov edx, dword [ebx + 0x24]
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x80], edx
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
xor eax, eax
mov dword [ebp - 0xc4], esi
mov dword [ebp - 0xc8], eax
test ecx, ecx
jle 0x42499f
mov ecx, dword [ebp - 0x80]
mov dword [ecx + eax*4], esi
mov ecx, dword [ebp - 0xc4]
call fcn.00423a70
mov eax, dword [ebp - 0xc8]
mov esi, dword [ebp - 0xc4]
inc eax
add esi, 0x28
cmp eax, dword [ebp - 0x7c]
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], esi
jl 0x42496d
xor ecx, ecx
cmp byte [edi + 1], 0xfb
jne 0x4249b8
mov edx, dword [edi + 0x10]
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0xbc], ecx
jmp 0x4249c9
mov eax, dword [edi + 0x10]
mov dword [ebp - 0xbc], eax
mov eax, dword [eax]
mov dword [ebp - 0xc0], eax
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xe4]
lea esi, [eax + edx*8]
mov eax, dword [ebp - 0xcc]
mov edx, 1
mov dword [ebp - 0xa8], eax
mov ebx, esi
lea eax, [ebp - 0xb8]
mov dword [ebp - 0xd8], esi
mov word [ebp - 0x9c], dx
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x94], ecx
call fcn.0041e220
mov ecx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0xc0]
and ecx, 0xbf01
or ecx, 1
mov word [ebp - 0x9c], cx
mov dword [ebp - 0x8c], 0
test byte [eax + 3], 8
je 0x424a44
mov edx, dword [edi - 4]
mov dword [ebp - 0x88], edx
mov ecx, dword [ebp - 0x80]
mov edx, dword [ebp - 0x7c]
push ecx
push edx
mov edx, dword [eax + 0xc]
lea ecx, [ebp - 0xc0]
push ecx
call edx
mov eax, dword [ebp - 0xcc]
add esp, 0xc
cmp byte [eax + 0x1e], 0
jne 0x4292b0
mov ebx, dword [ebp - 0xbc]
test ebx, ebx
je 0x424a8e
mov ecx, dword [edi + 4]
push ecx
call fcn.00420da0
mov edx, dword [ebp - 0xbc]
add esp, 4
mov dword [edi + 0x10], edx
mov byte [edi + 1], 0xf9
cmp dword [ebp - 0x8c], 0
je 0x424ad5
lea eax, [ebp - 0xb8]
push eax
call fcn.00421df0
mov esi, dword [ebp - 0xe0]
add esp, 4
push eax
mov eax, dword [ebp - 0xcc]
push 0x52b35c
add esi, 0x5c
call fcn.00406cf0
mov ecx, dword [ebp - 0x8c]
mov esi, dword [ebp - 0xd8]
add esp, 8
mov dword [ebp - 0xd0], ecx
movzx ecx, byte [ebp - 0xe8]
lea eax, [ebp - 0xb8]
call fcn.0041d850
lea ebx, [ebp - 0xb8]
mov eax, esi
call fcn.0041e220
mov ecx, esi
call fcn.0041e140
test eax, eax
je case.0x423f03.17
mov esi, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xcc]
push str.string_or_blob_too_big
add esi, 0x5c
call fcn.00406cf0
mov dword [ebp - 0xd0], 0x12
mov ebx, dword [ebp - 0xe0]
add esp, 4
mov edx, dword [ebx + 0x5c]
mov eax, dword [ebx + 0xbc]
mov ecx, dword [ebp - 0xd4]
mov esi, dword [ebp - 0xd0]
push edx
push eax
push ecx
push str.statement_aborts_at__d:___s___s
mov ecx, esi
mov dword [ebx + 0x58], esi
call fcn.004080d0
add esp, 0x10
mov eax, ebx
call fcn.004208a0
cmp esi, 0xc0a
jne 0x424b72
mov edx, dword [ebp - 0xcc]
mov byte [edx + 0x1e], 1
cmp byte [ebp - 0xe9], 0
mov edi, 1
je 0x424b90
mov eax, dword [ebp - 0xcc]
push 0
call fcn.00434ad0
add esp, 4
mov eax, dword [ebp - 0xfc]
push eax
call fcn.00413db0
mov ecx, dword [ebp - 4]
add esp, 4
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004ea5a8
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
mov eax, dword [edi + 0xc]
lea ebx, [esi + edx*8]
lea edx, [eax + eax*4]
mov al, byte [ecx + 0x1c]
or al, byte [ebx + 0x1c]
lea esi, [esi + edx*8]
mov dword [ebp - 0xd8], esi
test al, 1
je 0x424beb
push esi
call fcn.0041dfa0
add esp, 4
jmp case.0x423f03.17
mov esi, ecx
call fcn.0041dd10
mov esi, ebx
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
call fcn.0041dd10
mov ecx, eax
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0xbc], edx
movzx eax, byte [edi]
sub eax, 0x52
je 0x424c65
sub eax, 1
je 0x424c57
mov edx, dword [ebp - 0xc4]
sub eax, 1
mov eax, dword [ebp - 0xc8]
je 0x424c44
call fcn.0050b440
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
jmp 0x424c71
call fcn.0050b3a0
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
jmp 0x424c71
or dword [ebp - 0xc8], ecx
or dword [ebp - 0xc4], edx
jmp 0x424c71
and dword [ebp - 0xc8], ecx
and dword [ebp - 0xc4], edx
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xc8]
mov dword [eax], ecx
mov edx, dword [ebp - 0xc4]
mov cx, word [eax + 0x1c]
mov dword [eax + 4], edx
mov edx, 0xbf04
and cx, dx
or cx, 4
mov word [eax + 0x1c], cx
jmp case.0x423f03.17
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov eax, esi
call fcn.0041dec0
mov eax, dword [edi + 8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
jmp case.0x423f03.17
mov edi, dword [edi + 4]
lea ecx, [edi + edi*4]
lea esi, [esi + ecx*8]
mov edi, esi
call fcn.00423ba0
test byte [esi + 0x1c], 8
je 0x424cda
call fcn.0041de20
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x424cff
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx + 8]
test eax, eax
je 0x4292c4
dec eax
mov dword [ebp - 0xd4], eax
jmp case.0x423f03.17
and eax, 0xbf04
or eax, 4
mov word [esi + 0x1c], ax
jmp case.0x423f03.17
mov edi, dword [edi + 4]
lea eax, [edi + edi*4]
test byte [esi + eax*8 + 0x1c], 4
lea eax, [esi + eax*8]
je case.0x423f03.17
call fcn.0041def0
jmp case.0x423f03.17
mov edi, dword [edi + 4]
lea ecx, [edi + edi*4]
lea edi, [esi + ecx*8]
movzx ecx, word [edi + 0x1c]
test cl, 1
jne case.0x423f03.17
mov eax, ecx
shr eax, 3
and eax, 2
or eax, ecx
mov word [edi + 0x1c], ax
test al, 2
jne 0x424d68
test al, 0xc
je 0x424d68
movzx esi, byte [ebp - 0xe8]
mov eax, edi
call fcn.0041dab0
mov edx, 0xfff3
and word [edi + 0x1c], dx
movzx eax, word [edi + 0x1c]
test eax, 0x4000
je 0x424d97
mov eax, edi
call fcn.0041da00
mov dword [ebp - 0xd0], eax
mov eax, 0xbfe3
and word [edi + 0x1c], ax
jmp case.0x423f03.17
mov eax, 0xbfe3
and word [edi + 0x1c], ax
mov dword [ebp - 0xd0], 0
jmp case.0x423f03.17
mov edi, dword [edi + 4]
lea ecx, [edi + edi*4]
movzx eax, word [esi + ecx*8 + 0x1c]
lea edi, [esi + ecx*8]
test al, 1
jne case.0x423f03.17
test al, 0x10
jne 0x424df8
test al, 2
jne 0x424ddf
test al, 0xc
je 0x424ddf
movzx esi, byte [ebp - 0xe8]
mov eax, edi
call fcn.0041dab0
mov dx, word [edi + 0x1c]
mov eax, 0xbf10
and dx, ax
or dx, 0x10
mov word [edi + 0x1c], dx
jmp case.0x423f03.17
and eax, 0xff10
mov word [edi + 0x1c], ax
jmp case.0x423f03.17
mov edi, dword [edi + 4]
lea ecx, [edi + edi*4]
test byte [esi + ecx*8 + 0x1c], 0xd
lea eax, [esi + ecx*8]
jne case.0x423f03.17
call fcn.0041df20
jmp case.0x423f03.17
mov edi, dword [edi + 4]
lea edx, [edi + edi*4]
test byte [esi + edx*8 + 0x1c], 1
lea eax, [esi + edx*8]
jne case.0x423f03.17
call fcn.0041dec0
jmp case.0x423f03.17
mov edi, dword [edi + 4]
lea eax, [edi + edi*4]
test byte [esi + eax*8 + 0x1c], 1
lea eax, [esi + eax*8]
jne case.0x423f03.17
call fcn.0041def0
jmp case.0x423f03.17
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0xc]
lea ebx, [esi + ecx*8]
mov cx, word [ebx + 0x1c]
lea edx, [eax + eax*4]
lea eax, [esi + edx*8]
mov word [ebp - 0xc2], cx
mov dx, word [eax + 0x1c]
mov word [ebp - 0xc0], dx
movzx ecx, word [ebx + 0x1c]
mov dword [ebp - 0xdc], eax
movzx eax, word [eax + 0x1c]
mov dl, al
or dl, cl
test dl, 1
je 0x424efd
mov dl, byte [edi + 3]
test dl, dl
jns 0x424eb7
and al, cl
test al, 1
mov eax, 0
sete al
jmp 0x424f82
test dl, 0x10
je 0x424ee5
mov edi, dword [edi + 8]
lea eax, [edi + edi*4]
mov cx, word [esi + eax*8 + 0x1c]
lea eax, [esi + eax*8]
mov edx, 0xbf01
and cx, dx
or cx, 1
mov dword [ebp - 0xd8], eax
mov word [eax + 0x1c], cx
jmp case.0x423f03.17
test dl, 8
je case.0x423f03.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xd4], edi
jmp case.0x423f03.17
mov al, byte [edi + 3]
and al, 0x67
mov byte [ebp - 0xc4], al
je 0x424f46
mov ecx, dword [ebp - 0xe8]
push ecx
mov ecx, ebx
call fcn.00423c90
mov edx, dword [ebp - 0xe8]
mov al, byte [ebp - 0xc4]
mov ecx, dword [ebp - 0xdc]
add esp, 4
push edx
call fcn.00423c90
mov eax, dword [ebp - 0xcc]
add esp, 4
cmp byte [eax + 0x1e], 0
jne 0x4243e4
mov ecx, 0x4000
test word [ebx + 0x1c], cx
je 0x424f58
mov eax, ebx
call fcn.0041da00
mov eax, dword [ebp - 0xdc]
mov edx, 0x4000
test word [eax + 0x1c], dx
je 0x424f6e
call fcn.0041da00
mov ecx, dword [edi + 0x10]
push ecx
mov ecx, dword [ebp - 0xdc]
mov eax, ebx
call fcn.0041e3d0
add esp, 4
mov dword [ebp - 0xc8], eax
movzx ecx, byte [edi]
add ecx, 0xffffffb5
cmp ecx, 4
ja case.default.0x424f93
jmp dword [ecx*4 + 0x4296a0]
xor edx, edx
test eax, eax
sete dl
mov eax, edx
jmp 0x424fd6
xor ecx, ecx
test eax, eax
setne cl
jmp 0x424fd4
xor edx, edx
test eax, eax
setl dl
mov eax, edx
jmp 0x424fd6
xor ecx, ecx
test eax, eax
setle cl
jmp 0x424fd4
xor edx, edx
test eax, eax
setg dl
mov eax, edx
jmp 0x424fd6
xor ecx, ecx
test eax, eax
setge cl
mov eax, ecx
mov dword [ebp - 0xc8], eax
test byte [edi + 3], 0x10
je 0x42502f
mov edi, dword [edi + 8]
lea edx, [edi + edi*4]
mov ax, word [esi + edx*8 + 0x1c]
lea esi, [esi + edx*8]
mov ecx, 0xbf04
and ax, cx
mov ecx, dword [ebp - 0xdc]
or ax, 4
mov word [esi + 0x1c], ax
mov eax, dword [ebp - 0xc8]
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
mov dl, byte [ebp - 0xc2]
mov byte [ebx + 0x1c], dl
mov al, byte [ebp - 0xc0]
mov dword [ebp - 0xd8], esi
mov byte [ecx + 0x1c], al
jmp case.0x423f03.17
test eax, eax
je 0x42503d
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xd4], edi
mov dl, byte [ebp - 0xc2]
mov ecx, dword [ebp - 0xdc]
mov byte [ebx + 0x1c], dl
mov al, byte [ebp - 0xc0]
mov byte [ecx + 0x1c], al
jmp case.0x423f03.17
mov edx, dword [edi + 0x10]
mov dword [ebp - 0x100], edx
jmp case.0x423f03.17
mov ecx, dword [edi + 0xc]
mov dword [ebp - 0xc8], ecx
mov esi, dword [edi + 0x10]
mov dword [ebp - 0xb8], esi
mov eax, dword [edi + 4]
mov dword [ebp - 0xc0], eax
mov edx, dword [edi + 8]
xor eax, eax
mov dword [ebp - 0xbc], edx
mov dword [ebp - 0xc4], eax
test ecx, ecx
jle 0x425149
mov edi, dword [ebp - 0xe4]
mov ebx, dword [ebp - 0x100]
jmp 0x4250b6
mov esi, dword [ebp - 0xb8]
test ebx, ebx
je 0x4250bf
mov ecx, dword [ebx + eax*4]
jmp 0x4250c1
mov ecx, eax
mov dword [ebp - 0xb4], ecx
mov edx, dword [esi + eax*4 + 0xc]
mov dword [ebp - 0xb0], edx
mov esi, dword [esi + 8]
movzx eax, byte [esi + eax]
push edx
mov edx, dword [ebp - 0xbc]
mov dword [ebp - 0xac], eax
lea eax, [ecx + edx]
mov edx, dword [ebp - 0xc0]
add ecx, edx
lea eax, [eax + eax*4]
lea ecx, [ecx + ecx*4]
lea eax, [edi + eax*8]
lea ecx, [edi + ecx*8]
call fcn.0041e3d0
add esp, 4
mov dword [ebp - 0xf8], eax
test eax, eax
jne 0x425132
mov eax, dword [ebp - 0xc4]
inc eax
cmp eax, dword [ebp - 0xc8]
mov dword [ebp - 0xc4], eax
jl 0x4250b0
mov dword [ebp - 0x100], 0
jmp case.0x423f03.17
cmp dword [ebp - 0xac], 0
je 0x425149
mov edx, dword [ebp - 0xf8]
neg edx
mov dword [ebp - 0xf8], edx
mov dword [ebp - 0x100], 0
jmp case.0x423f03.17
mov eax, dword [ebp - 0xf8]
test eax, eax
jge 0x425171
mov edi, dword [edi + 4]
dec edi
mov dword [ebp - 0xd4], edi
jmp case.0x423f03.17
jne 0x425182
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xd4], edi
jmp case.0x423f03.17
mov edi, dword [edi + 0xc]
dec edi
mov dword [ebp - 0xd4], edi
jmp case.0x423f03.17
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 0x1c], 1
lea esi, [esi + eax*8]
je 0x4251a8
mov ecx, 2
jmp 0x4251ba
call fcn.0041dd10
or eax, edx
je 0x4251b8
mov ecx, 1
jmp 0x4251ba
xor ecx, ecx
mov ebx, dword [ebp - 0xe4]
mov dword [ebp - 0xc8], ecx
mov eax, dword [edi + 8]
lea edx, [eax + eax*4]
test byte [ebx + edx*8 + 0x1c], 1
lea esi, [ebx + edx*8]
je 0x4251dd
mov eax, 2
jmp 0x4251f5
call fcn.0041dd10
or eax, edx
mov ecx, dword [ebp - 0xc8]
je 0x4251f3
mov eax, 1
jmp 0x4251f5
xor eax, eax
mov dword [ebp - 0xc4], eax
cmp byte [edi], 0x45
jne 0x42520d
lea eax, [eax + ecx*2]
movzx eax, byte [ecx + eax + 0x5272d0]
jmp 0x425218
lea edx, [eax + ecx*2]
movzx eax, byte [ecx + edx + 0x5272dc]
mov dword [ebp - 0xc8], eax
mov edi, dword [edi + 0xc]
lea ecx, [edi + edi*4]
lea ecx, [ebx + ecx*8]
mov dword [ebp - 0xd8], ecx
cmp eax, 2
jne 0x42524b
mov dx, word [ecx + 0x1c]
mov eax, 0xbf01
and dx, ax
or dx, 1
mov word [ecx + 0x1c], dx
jmp case.0x423f03.17
cdq
mov dword [ecx + 4], edx
mov dx, word [ecx + 0x1c]
mov dword [ecx], eax
mov eax, 0xbf04
and dx, ax
or dx, 4
mov word [ecx + 0x1c], dx
jmp case.0x423f03.17
mov eax, dword [edi + 4]
mov edi, dword [edi + 8]
lea ecx, [eax + eax*4]
test byte [esi + ecx*8 + 0x1c], 1
lea edx, [edi + edi*4]
lea eax, [esi + ecx*8]
lea edi, [esi + edx*8]
mov dword [ebp - 0xd8], edi
je 0x425297
push edi
call fcn.0041dfa0
add esp, 4
jmp case.0x423f03.17
mov esi, eax
call fcn.0041dd10
or eax, edx
jne 0x4252b9
mov eax, 1
cdq
push edx
push eax
mov esi, edi
call fcn.0041dff0
add esp, 8
jmp case.0x423f03.17
xor eax, eax
cdq
push edx
push eax
mov esi, edi
call fcn.0041dff0
add esp, 8
jmp case.0x423f03.17
mov eax, dword [edi + 4]
mov edi, dword [edi + 8]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 0x1c], 1
lea ecx, [edi + edi*4]
lea eax, [esi + eax*8]
lea edi, [esi + ecx*8]
mov dword [ebp - 0xd8], edi
je 0x4252fa
push edi
call fcn.0041dfa0
add esp, 4
jmp case.0x423f03.17
mov esi, eax
call fcn.0041dd10
not edx
not eax
push edx
push eax
mov esi, edi
call fcn.0041dff0
add esp, 8
jmp case.0x423f03.17
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
test byte [esi + edx*8 + 0x1c], 1
lea esi, [esi + edx*8]
je 0x42532b
mov eax, dword [edi + 0xc]
jmp 0x42535a
call fcn.0041dda0
fcomp qword [0x52e6c0]
fnstsw ax
test ah, 0x44
jnp 0x425344
mov eax, 1
jmp 0x425346
xor eax, eax
mov dword [ebp - 0xc8], eax
cmp byte [edi], 0x1b
jne 0x425360
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
mov dword [ebp - 0xc8], eax
test eax, eax
je case.0x423f03.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xd4], edi
jmp case.0x423f03.17
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
test byte [esi + edx*8 + 0x1c], 1
je case.0x423f03.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xd4], edi
jmp case.0x423f03.17
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 0x1c], 1
jne case.0x423f03.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xd4], edi
jmp case.0x423f03.17
mov ecx, dword [edi + 4]
xor eax, eax
mov dword [ebp - 0xb8], ecx
mov edx, dword [edi + 8]
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0xb4], edx
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [ebp - 0x8c], eax
mov cx, word [eax + 0x1c]
mov edx, 0xbf01
and cx, dx
or cx, 1
mov word [eax + 0x1c], cx
mov ecx, dword [ebp - 0xb8]
mov eax, dword [ebx + 0x34]
xor edx, edx
mov dword [ebp - 0xac], edx
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xb0], eax
mov ecx, dword [eax]
mov dword [ebp - 0xa8], ecx
cmp ecx, edx
je 0x425531
mov edi, eax
call fcn.00420f90
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x4293b2
mov eax, dword [ebp - 0xb0]
cmp byte [eax + 0x14], 0
je 0x425472
mov dword [ebp - 0xc8], 0
jmp case.0x423f03.17
mov edx, dword [eax + 0x44]
mov ecx, dword [ebp - 0xe0]
cmp edx, dword [ecx + 0x50]
jne 0x425494
mov edx, dword [eax + 0x48]
mov dword [ebp - 0xc8], edx
mov ecx, dword [eax + 0x54]
mov dword [ebp - 0xac], ecx
jmp 0x4254c3
cmp byte [eax + 0x17], 0
je 0x425514
mov eax, dword [ebp - 0xa8]
lea edi, [ebp - 0xc0]
call fcn.00417330
mov edx, dword [ebp - 0xc0]
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp - 0xb0]
mov ebx, dword [ebp - 0xe0]
mov edi, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xc8]
test ecx, ecx
je case.0x423f03.17
mov edx, dword [ebp - 0xcc]
cmp ecx, dword [edx + 0x48]
ja 0x424b03
mov edx, dword [eax + 0x2c]
mov dword [ebp - 0x9c], edx
mov ecx, dword [eax + 0x4c]
mov dword [ebp - 0xa4], ecx
mov esi, dword [eax + 0x44]
cmp esi, dword [ebx + 0x50]
jne 0x425585
mov eax, dword [eax + 0x50]
mov dword [ebp - 0xa0], eax
jmp 0x4257d2
mov esi, dword [ebp - 0xa8]
lea eax, [ebp - 0xc8]
push eax
call fcn.00417360
add esp, 4
mov dword [ebp - 0xd0], eax
jmp 0x4254bd
mov ecx, dword [eax + 0x24]
cmp ecx, edx
jle 0x42557a
lea ecx, [ecx + ecx*4]
lea esi, [esi + ecx*8]
mov dword [ebp - 0x48], esi
mov ecx, dword [esi + 0x18]
mov dword [ebp - 0xc8], ecx
mov ecx, dword [esi + 0x14]
mov dword [ebp - 0xac], ecx
test byte [edi + 3], 0x20
je 0x425569
xor ecx, ecx
mov dword [eax + 0x44], ecx
mov eax, dword [ebp - 0xb0]
jmp 0x4254cf
mov ecx, dword [ebx + 0x50]
mov dword [eax + 0x44], ecx
mov eax, dword [ebp - 0xb0]
jmp 0x4254cf
mov dword [ebp - 0xc8], edx
jmp case.0x423f03.17
lea ecx, [ecx + edx*4]
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0x4c], 0
mov dword [eax + 0x50], ecx
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xc8]
mov dword [ecx + 0x48], edx
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ebx + 0x50]
mov dword [ecx + 0x44], eax
mov ecx, dword [ebp - 0xac]
test ecx, ecx
je 0x4255c5
mov dword [ebp - 0x90], ecx
jmp 0x425629
mov edx, dword [ebp - 0xb0]
cmp byte [edx + 0x17], 0
je 0x4255e2
lea eax, [ebp - 0x4c]
push eax
mov eax, dword [ebp - 0xa8]
call fcn.00417950
jmp 0x4255f1
mov eax, dword [ebp - 0xa8]
lea ecx, [ebp - 0x4c]
push ecx
call fcn.00417970
mov edx, dword [ebp - 0xc8]
add esp, 4
mov dword [ebp - 0x90], eax
cmp edx, dword [ebp - 0x4c]
ja 0x425616
mov ecx, dword [ebp - 0xb0]
mov dword [ebp - 0xac], eax
mov dword [ecx + 0x54], eax
jmp 0x425623
mov edx, dword [ebp - 0xb0]
mov dword [edx + 0x54], 0
mov ecx, dword [ebp - 0x90]
mov al, byte [ecx]
cmp al, 0x80
jae 0x42563c
movzx edx, al
mov dword [ebp - 0x58], edx
mov eax, 1
jmp 0x425650
lea esi, [ebp - 0x58]
call fcn.004095c0
mov edx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x90]
movzx eax, al
movzx eax, al
mov dword [ebp - 0x50], eax
cmp edx, 0x18003
jbe 0x425673
mov eax, 0xed3a
call fcn.0045f130
mov dword [ebp - 0xd0], eax
jmp case.0x423f03.17
mov esi, dword [ebp - 0x9c]
lea eax, [esi + esi*4 + 3]
cmp eax, edx
mov dword [ebp - 0x98], eax
jle 0x42568f
mov eax, edx
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0xac], 0
jne 0x4256f4
cmp dword [ebp - 0x4c], eax
jge 0x4256f4
mov edx, dword [ebp - 0xb0]
xor ecx, ecx
mov word [ebp - 0x6c], cx
mov dword [ebp - 0x78], ecx
movzx ecx, byte [edx + 0x17]
push ecx
push eax
mov eax, dword [ebp - 0xa8]
push 0
lea edi, [ebp - 0x88]
call fcn.0041e660
add esp, 0xc
mov dword [ebp - 0xd0], eax
test eax, eax
jne case.0x423f03.17
mov ecx, dword [ebp - 0x74]
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x98]
mov esi, dword [ebp - 0x9c]
mov edi, dword [ebp - 0xdc]
mov dword [ebp - 0x90], ecx
add eax, ecx
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x50]
add eax, ecx
xor ecx, ecx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x94], ecx
test esi, esi
jle 0x425789
mov eax, dword [ebp - 0x60]
cmp eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0xa0]
jae 0x42581f
mov dword [eax + ecx*4], edx
mov ecx, dword [ebp - 0x60]
mov al, byte [ecx]
mov edx, dword [ebp - 0x94]
cmp al, 0x80
jae 0x425744
movzx ecx, al
mov eax, dword [ebp - 0xa4]
mov dword [eax + edx*4], ecx
mov eax, 1
jmp 0x425755
mov eax, dword [ebp - 0xa4]
lea esi, [eax + edx*4]
call fcn.004095c0
movzx eax, al
mov edx, dword [ebp - 0xa4]
movzx ecx, al
add dword [ebp - 0x60], ecx
mov ecx, dword [ebp - 0x94]
mov eax, dword [edx + ecx*4]
call fcn.00421110
mov edx, dword [ebp - 0x58]
add edx, eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x58], edx
cmp edx, eax
jae 0x42582f
mov ecx, dword [ebp - 0x5c]
inc ecx
mov dword [ebp - 0x60], ecx
lea edx, [ebp - 0x88]
push edx
call fcn.0041dc40
mov ecx, dword [ebp - 0x5c]
mov eax, 1
mov word [ebp - 0x6c], ax
mov eax, dword [ebp - 0x60]
add esp, 4
cmp eax, ecx
ja 0x425951
mov edx, dword [ebp - 0x58]
mov esi, dword [ebp - 0xc8]
cmp edx, esi
ja 0x425951
cmp eax, ecx
jne 0x4257cc
cmp edx, esi
jne 0x425951
mov ecx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xa0]
cmp dword [edx + eax*4], 0
je 0x4258e2
cmp dword [ebp - 0xac], 0
je 0x425847
mov esi, dword [ebp - 0x8c]
call fcn.0041dbd0
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xa4]
mov edx, dword [ecx + eax*4]
mov ecx, dword [ebp - 0xa0]
mov ecx, dword [ecx + eax*4]
add ecx, dword [ebp - 0xac]
jmp 0x4258c2
mov dword [eax + ecx*4], 0
mov edx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x94]
inc ecx
cmp ecx, dword [ebp - 0x9c]
mov dword [ebp - 0x94], ecx
jl 0x42570d
jmp 0x425789
mov eax, dword [ecx + eax*4]
call fcn.00421110
mov ebx, dword [ebp - 0x8c]
mov dword [ebp - 0x98], eax
lea eax, [ebp - 0x88]
call fcn.0041e220
mov edx, dword [ebp - 0xb0]
movzx eax, byte [edx + 0x17]
mov ecx, dword [ebp - 0x98]
mov edx, dword [ebp - 0xa0]
push eax
mov eax, dword [ebp - 0xb4]
push ecx
mov ecx, dword [edx + eax*4]
mov eax, dword [ebp - 0xa8]
push ecx
lea edi, [ebp - 0x88]
call fcn.0041e660
add esp, 0xc
mov dword [ebp - 0xd0], eax
test eax, eax
jne case.0x423f03.17
mov ecx, dword [ebp - 0x74]
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x90], ecx
mov edx, dword [edx + eax*4]
mov esi, dword [ebp - 0x8c]
push edx
call fcn.004211e0
mov eax, dword [ebp - 0x8c]
mov cl, byte [ebp - 0xe8]
add esp, 4
mov byte [eax + 0x1f], cl
jmp 0x4258ff
cmp byte [edi + 1], 0xf8
jne 0x4258ff
mov edx, dword [edi + 0x10]
mov ebx, dword [ebp - 0x8c]
push 0x800
push edx
call fcn.0041e170
add esp, 8
cmp dword [ebp - 0x64], 0
je 0x42593b
mov eax, dword [ebp - 0x8c]
mov ecx, 0xe7ff
and word [eax + 0x1c], cx
mov eax, dword [ebp - 0x8c]
mov edx, 0x200
or word [eax + 0x1c], dx
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x74]
mov dword [eax + 0x14], ecx
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x8c]
mov dword [eax + 0x24], edx
mov eax, dword [ebp - 0x8c]
call fcn.0041d9a0
mov dword [ebp - 0xd0], eax
jmp case.0x423f03.17
mov eax, 0xed84
call fcn.0045f130
mov dword [ebp - 0xd0], eax
jmp case.0x423f03.17
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0xc8], ecx
mov edi, dword [edi + 4]
mov al, byte [ecx]
lea edx, [edi + edi*4]
lea esi, [esi + edx*8]
mov byte [ebp - 0xc4], al
test al, al
je 0x4259c9
inc ecx
mov dword [ebp - 0xc8], ecx
mov ecx, 0x4000
test word [esi + 0x1c], cx
je 0x4259a3
mov eax, esi
call fcn.0041da00
mov al, byte [ebp - 0xc4]
mov edx, dword [ebp - 0xe8]
push edx
mov ecx, esi
call fcn.00423c90
mov ecx, dword [ebp - 0xc8]
mov al, byte [ecx]
add esp, 4
add esi, 0x28
mov byte [ebp - 0xc4], al
test al, al
jne 0x425984
inc ecx
mov dword [ebp - 0xc8], ecx
jmp case.0x423f03.17
xor eax, eax
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x94], eax
mov ecx, dword [edi + 0x10]
lea edx, [eax + eax*4]
lea esi, [esi + edx*8]
mov dword [ebp - 0x90], ecx
movzx ecx, byte [ebx + 0x64]
mov dword [ebp - 0x9c], esi
mov eax, dword [edi + 8]
mov dword [ebp - 0x94], eax
lea eax, [eax + eax*4]
lea eax, [esi + eax*8 - 0x28]
mov ebx, esi
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0xc4], ebx
cmp esi, eax
ja 0x425b3b
lea esp, [esp]
cmp dword [ebp - 0x90], 0
je 0x425a94
mov edx, dword [ebp - 0xe8]
mov ecx, ebx
sub ecx, esi
push edx
mov eax, 0x66666667
imul ecx
mov ecx, dword [ebp - 0x90]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov al, byte [eax + ecx]
mov ecx, ebx
call fcn.00423c90
mov esi, dword [ebp - 0x9c]
mov ebx, dword [ebp - 0xc4]
add esp, 4
mov edx, 0x4000
test word [ebx + 0x1c], dx
je 0x425ab8
cmp dword [ebx + 0x18], 0
jle 0x425ab8
mov eax, ebx
call fcn.0041da00
mov esi, dword [ebp - 0x9c]
mov ebx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0x8c]
push eax
mov ecx, ebx
call fcn.00421030
add esp, 4
mov dword [ebp - 0xa0], eax
call fcn.00421110
mov ecx, dword [ebp - 0xa0]
mov dword [ebp - 0x84], eax
cdq
add dword [ebp - 0xc0], eax
push 0
push ecx
adc dword [ebp - 0xbc], edx
call fcn.00409640
add dword [ebp - 0xb8], eax
mov edx, 0x4000
add esp, 8
test word [ebx + 0x1c], dx
je 0x425b13
mov eax, dword [ebx]
add dword [ebp - 0xa8], eax
jmp 0x425b26
cmp dword [ebp - 0x84], 0
je 0x425b26
mov dword [ebp - 0xa8], 0
add ebx, 0x28
mov dword [ebp - 0xc4], ebx
cmp ebx, dword [ebp - 0x98]
jbe 0x425a50
mov esi, dword [ebp - 0xb8]
mov eax, esi
cdq
push edx
push eax
call fcn.00409640
mov ebx, eax
add esi, ebx
mov eax, esi
cdq
push edx
push eax
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 0xb8], esi
call fcn.00409640
add esp, 0x10
cmp ebx, eax
jge 0x425b73
inc esi
mov dword [ebp - 0xb8], esi
mov eax, esi
cdq
mov ecx, eax
mov eax, dword [ebp - 0xa8]
mov esi, edx
cdq
sub ecx, eax
sbb esi, edx
add ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xcc]
adc esi, dword [ebp - 0xbc]
mov dword [ebp - 0xb0], ecx
mov dword [ebp - 0xac], esi
mov eax, dword [edx + 0x48]
cdq
cmp esi, edx
jg 0x424b03
jl 0x425bb9
cmp ecx, eax
ja 0x424b03
mov edi, dword [edi + 0xc]
mov edx, dword [ebp - 0xe4]
lea eax, [edi + edi*4]
lea edi, [edx + eax*8]
xor eax, eax
mov ebx, edi
mov dword [ebp - 0xd8], edi
call fcn.0041d870
test eax, eax
jne 0x4243e4
mov eax, dword [ebp - 0xb8]
mov ecx, dword [edi + 0x14]
mov dword [ebp - 0xc8], ecx
cmp eax, 0x80
jae 0x425bfe
mov byte [ecx], al
mov eax, 1
jmp 0x425c03
call fcn.00409410
mov ecx, dword [ebp - 0x9c]
movzx esi, al
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x88], esi
mov dword [ebp - 0xc4], ecx
cmp ecx, eax
ja 0x425c8c
mov edx, dword [ebp - 0x8c]
push edx
call fcn.00421030
add esp, 4
mov dword [ebp - 0xa0], eax
cmp eax, 0x80
jae 0x425c4e
mov ecx, dword [ebp - 0xc8]
mov byte [esi + ecx], al
mov eax, 1
jmp 0x425c5c
mov edx, dword [ebp - 0xc8]
lea ecx, [esi + edx]
call fcn.00409410
mov esi, dword [ebp - 0x88]
mov ecx, dword [ebp - 0xc4]
movzx eax, al
add esi, eax
mov eax, dword [ebp - 0x98]
add ecx, 0x28
mov dword [ebp - 0x88], esi
mov dword [ebp - 0xc4], ecx
cmp ecx, eax
jbe 0x425c22
mov ecx, dword [ebp - 0x9c]
mov dword [ebp - 0xc4], ecx
cmp ecx, eax
ja 0x425ce5
jmp 0x425ca0
mov edx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xc8]
sub edx, esi
lea ebx, [esi + eax]
mov eax, dword [ebp - 0x8c]
push edx
call fcn.00421130
mov ecx, dword [ebp - 0xc4]
mov esi, dword [ebp - 0x88]
add ecx, 0x28
add esi, eax
add esp, 4
mov dword [ebp - 0x88], esi
mov dword [ebp - 0xc4], ecx
cmp ecx, dword [ebp - 0x98]
jbe 0x425ca0
mov ecx, dword [ebp - 0xb0]
mov edx, 0x410
mov dword [edi + 0x18], ecx
mov word [edi + 0x1c], dx
mov dword [edi + 0x20], 0
mov eax, dword [ebp - 0xa8]
test eax, eax
je 0x425d13
mov dword [edi], eax
mov eax, 0x4410
mov word [edi + 0x1c], ax
mov byte [edi + 0x1f], 1
jmp case.0x423f03.17
mov ecx, dword [edi + 4]
mov edx, dword [ebx + 0x34]
mov eax, dword [edx + ecx*4]
mov eax, dword [eax]
xor ecx, ecx
mov dword [ebp - 0xc0], eax
cmp eax, ecx
je 0x425d64
lea ecx, [ebp - 0xc8]
push ecx
call fcn.0041b3a0
mov edx, dword [ebp - 0xc8]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xd8]
mov dword [eax], edx
mov ecx, dword [ebp - 0xc4]
add esp, 4
mov dword [eax + 4], ecx
jmp case.0x423f03.17
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xc4], ecx
mov edx, ecx
mov dword [eax], edx
mov ecx, dword [ebp - 0xc4]
mov dword [eax + 4], ecx
jmp case.0x423f03.17
mov eax, dword [edi + 4]
mov dword [ebp - 0xc8], eax
mov edi, dword [edi + 0x10]
mov dword [ebp - 0xc4], edi
test eax, eax
jne 0x425e72
mov edx, dword [ebp - 0xcc]
cmp dword [edx + 0x90], eax
jle 0x425dd1
push str.cannot_open_savepoint___SQL_statements_in_progress
lea esi, [ebx + 0x5c]
mov eax, edx
call fcn.00406cf0
add esp, 4
mov dword [ebp - 0xd0], 5
jmp case.0x423f03.17
mov ecx, edi
call fcn.004088f0
lea ecx, [eax + 0x19]
mov esi, edx
mov dword [ebp - 0xc0], eax
call fcn.00406b00
mov dword [ebp - 0xbc], eax
test eax, eax
je case.0x423f03.17
lea ecx, [eax + 0x18]
mov dword [eax], ecx
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xbc]
inc edx
push edx
mov edx, dword [ecx]
push eax
push edx
call fcn.004ec470
add esp, 0xc
cmp byte [esi + 0x1c], 0
je 0x425e2e
mov byte [esi + 0x1c], 0
mov byte [esi + 0x1dc], 1
jmp 0x425e34
inc dword [esi + 0x1d4]
mov eax, dword [esi + 0x1d0]
mov ecx, dword [ebp - 0xbc]
mov dword [ecx + 0x10], eax
mov edx, dword [ebp - 0xbc]
mov eax, dword [esi + 0x1e0]
mov dword [esi + 0x1d0], edx
mov ecx, dword [ebp - 0xbc]
mov dword [ecx + 8], eax
mov edx, dword [esi + 0x1e4]
mov eax, dword [ebp - 0xbc]
mov dword [eax + 0xc], edx
jmp case.0x423f03.17
mov ecx, dword [ebp - 0xcc]
mov dword [ebp - 0xb0], 0
mov esi, dword [ecx + 0x1d0]
mov dword [ebp - 0xb8], esi
test esi, esi
je 0x425eb2
mov ecx, dword [esi]
mov edx, edi
call fcn.00408af0
test eax, eax
je 0x425ed8
inc dword [ebp - 0xb0]
mov esi, dword [esi + 0x10]
mov dword [ebp - 0xb8], esi
test esi, esi
jne 0x425e92
mov eax, dword [ebp - 0xcc]
push edi
push str.no_such_savepoint:__s
lea esi, [ebx + 0x5c]
call fcn.00406cf0
add esp, 8
mov dword [ebp - 0xd0], 1
jmp case.0x423f03.17
mov edx, dword [ebp - 0xcc]
cmp dword [edx + 0x90], 0
jg 0x4260d1
mov eax, dword [ebp - 0xc8]
cmp eax, 2
jne 0x425f03
cmp dword [edx + 0x8c], 1
jg 0x4260da
cmp dword [esi + 0x10], 0
jne 0x425ffd
cmp byte [edx + 0x1dc], 0
je 0x425ffd
mov dword [ebp - 0xf0], 1
cmp eax, 1
jne 0x426007
push eax
mov ecx, ebx
call fcn.00420840
mov edi, eax
add esp, 4
test edi, edi
jne 0x424b90
mov esi, dword [ebp - 0xcc]
mov eax, ebx
mov byte [esi + 0x1c], 1
call fcn.004208a0
cmp eax, 5
je 0x4292d3
mov byte [esi + 0x1dc], 0
mov edx, dword [ebx + 0x58]
mov esi, dword [ebp - 0xb8]
mov dword [ebp - 0xd0], edx
mov edi, dword [ebp - 0xcc]
cmp dword [edi + 0x1d0], esi
je 0x425fb9
mov eax, dword [edi + 0x1d0]
mov dword [ebp - 0xb4], eax
mov eax, dword [eax + 0x10]
mov dword [edi + 0x1d0], eax
mov ecx, dword [ebp - 0xb4]
push ecx
push edi
call fcn.00406900
dec dword [edi + 0x1d4]
mov esi, dword [ebp - 0xb8]
add esp, 8
cmp dword [edi + 0x1d0], esi
jne 0x425f80
cmp dword [ebp - 0xc8], 1
jne 0x4260ba
mov edx, dword [esi + 0x10]
mov dword [edi + 0x1d0], edx
mov eax, dword [ebp - 0xb8]
push eax
push edi
call fcn.00406900
add esp, 8
cmp dword [ebp - 0xf0], 0
jne case.0x423f03.17
mov eax, dword [ebp - 0xcc]
dec dword [eax + 0x1d4]
jmp case.0x423f03.17
mov dword [ebp - 0xf0], 0
mov ecx, dword [edx + 0x1d4]
sub ecx, dword [ebp - 0xb0]
xor eax, eax
dec ecx
mov dword [ebp - 0xb0], ecx
mov dword [ebp - 0xac], eax
cmp dword [edx + 4], eax
jle 0x42607c
jmp 0x426036
mov ecx, dword [ebp - 0xb0]
mov edx, dword [edx + 8]
push ecx
mov ecx, dword [ebp - 0xc8]
shl eax, 4
mov eax, dword [eax + edx + 4]
push ecx
call fcn.00417040
add esp, 8
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x4293b2
mov eax, dword [ebp - 0xac]
mov edx, dword [ebp - 0xcc]
inc eax
mov dword [ebp - 0xac], eax
cmp eax, dword [edx + 4]
jl 0x426030
mov esi, dword [ebp - 0xb8]
cmp dword [ebp - 0xc8], 2
jne 0x425f72
mov edi, dword [ebp - 0xcc]
test dword [edi + 0xc], 0x200
je 0x425f78
mov eax, edi
call fcn.004219a0
push 0
mov eax, edi
call fcn.00434ad0
mov esi, dword [ebp - 0xb8]
add esp, 4
jmp 0x425f78
mov ecx, dword [esi + 8]
mov dword [edi + 0x1e0], ecx
mov edx, dword [esi + 0xc]
mov dword [edi + 0x1e4], edx
jmp case.0x423f03.17
cmp dword [ebp - 0xc8], 2
jne 0x4260e1
mov eax, str.rollback
jmp 0x4260e6
mov eax, str.release
push eax
push str.cannot__s_savepoint___SQL_statements_in_progress
lea esi, [ebx + 0x5c]
mov eax, edx
call fcn.00406cf0
add esp, 8
mov dword [ebp - 0xd0], 5
jmp case.0x423f03.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xcc]
mov dword [ebp - 0xc8], eax
mov edi, dword [edi + 8]
mov dword [ebp - 0xc4], edi
test eax, eax
je 0x426162
cmp byte [ecx + 0x1c], 0
jne 0x426162
mov edx, 1
mov dword [ebp - 0xc0], edx
test edi, edi
je 0x426183
cmp dword [ecx + 0x8c], edx
jle 0x42616c
push str.cannot_rollback_transaction___SQL_statements_in_progress
lea esi, [ebx + 0x5c]
mov eax, ecx
call fcn.00406cf0
add esp, 4
mov dword [ebp - 0xd0], 5
jmp case.0x423f03.17
mov dword [ebp - 0xc0], 0
movzx ecx, byte [ecx + 0x1c]
cmp eax, ecx
jne 0x4292ed
test eax, eax
jne 0x4261ad
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x4261bb
cmp dword [ecx + 0x90], 0
jle 0x42616c
push str.cannot_commit_transaction___SQL_statements_in_progress
lea esi, [ebx + 0x5c]
mov eax, ecx
call fcn.00406cf0
add esp, 4
mov dword [ebp - 0xd0], 5
jmp case.0x423f03.17
mov eax, str.cannot_rollback___no_transaction_is_active
test edi, edi
jne 0x4261bb
mov eax, str.cannot_commit___no_transaction_is_active
push eax
mov eax, dword [ebp - 0xcc]
lea esi, [ebx + 0x5c]
call fcn.00406cf0
add esp, 4
mov dword [ebp - 0xd0], 1
jmp case.0x423f03.17
mov edx, dword [edi + 4]
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax + 8]
shl edx, 4
mov eax, dword [edx + ecx + 4]
mov dword [ebp - 0xc8], eax
test eax, eax
je case.0x423f03.17
mov edx, dword [edi + 8]
push edx
push eax
call fcn.00415ff0
add esp, 8
mov dword [ebp - 0xd0], eax
cmp eax, 5
je 0x429374
test eax, eax
jne 0x4293b2
cmp dword [edi + 8], eax
je case.0x423f03.17
cmp byte [ebx + 0x66], al
je case.0x423f03.17
mov esi, dword [ebp - 0xcc]
cmp byte [esi + 0x1c], al
je 0x42624b
cmp dword [esi + 0x8c], 1
jle case.0x423f03.17
cmp dword [ebx + 0xd8], 0
jne 0x42626e
inc dword [esi + 0x1d8]
mov eax, dword [esi + 0x1d8]
mov ecx, dword [esi + 0x1d4]
add ecx, eax
mov dword [ebx + 0xd8], ecx
mov edx, dword [ebx + 0xd8]
mov eax, dword [ebp - 0xc8]
push edx
call fcn.00416ff0
mov dword [ebp - 0xd0], eax
mov eax, dword [esi + 0x1e0]
mov dword [ebx + 0xd0], eax
mov ecx, dword [esi + 0x1e4]
add esp, 4
mov dword [ebx + 0xd4], ecx
jmp case.0x423f03.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xcc]
mov dword [ebp - 0xc4], eax
mov edi, dword [edi + 0xc]
lea edx, [ebp - 0xc8]
mov dword [ebp - 0xc0], edi
push edx
mov edx, dword [ecx + 8]
shl eax, 4
mov eax, dword [eax + edx + 4]
push edi
call fcn.0041b2a0
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xd8]
cdq
add esp, 8
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x423f03.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xcc]
shl eax, 4
add eax, dword [ecx + 8]
mov dword [ebp - 0xc8], eax
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
lea esi, [esi + edx*8]
mov eax, esi
call fcn.0041dec0
mov eax, dword [esi]
mov ecx, dword [edi + 8]
mov edx, dword [ebp - 0xc8]
push eax
mov eax, dword [edx + 4]
push ecx
call fcn.0041b310
mov dword [ebp - 0xd0], eax
mov eax, dword [edi + 8]
add esp, 8
cmp eax, 1
jne 0x426356
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 0xc]
mov edx, dword [esi]
mov eax, dword [ebp - 0xcc]
mov dword [ecx], edx
or dword [eax + 0xc], 0x200
jmp 0x426369
cmp eax, 2
jne 0x426369
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 0xc]
mov dl, byte [esi]
mov byte [ecx + 0x48], dl
cmp dword [edi + 4], 1
jne case.0x423f03.17
mov eax, dword [ebp - 0xcc]
call fcn.004219a0
mov byte [ebx + 0x62], 0
jmp case.0x423f03.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ecx + 8]
shl eax, 4
mov eax, dword [eax + edx + 4]
mov dword [ebp - 0xc4], eax
test eax, eax
je 0x4263b7
lea ecx, [ebp - 0xc8]
push ecx
push 1
call fcn.0041b2a0
add esp, 8
jmp 0x4263c1
mov dword [ebp - 0xc8], 0
mov edx, dword [ebp - 0xc8]
cmp edx, dword [edi + 8]
je case.0x423f03.17
mov eax, dword [ebp - 0xe0]
mov ecx, dword [eax + 0x5c]
mov esi, dword [ebp - 0xcc]
push ecx
push esi
call fcn.00406900
push esi
mov ebx, str.database_schema_has_changed
call fcn.00406c70
mov edx, dword [ebp - 0xe0]
mov dword [edx + 0x5c], eax
mov edi, dword [edi + 4]
mov ecx, dword [esi + 8]
mov eax, edi
shl eax, 4
mov edx, dword [eax + ecx + 0xc]
mov eax, dword [edx]
add esp, 0xc
cmp eax, dword [ebp - 0xc8]
je 0x426421
push edi
mov eax, esi
call fcn.00434ad0
add esp, 4
mov eax, esi
call fcn.004219a0
mov dword [ebp - 0xd0], 0x11
jmp case.0x423f03.17
cmp byte [ebx + 0x62], 0
je 0x42644c
mov dword [ebp - 0xd0], 4
jmp case.0x423f03.17
xor ecx, ecx
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xc4], ecx
mov edx, dword [edi + 8]
mov dword [ebp - 0xc0], edx
mov eax, dword [edi + 0xc]
mov edx, dword [ebp - 0xcc]
mov dword [ebp - 0xbc], eax
shl eax, 4
add eax, dword [edx + 8]
mov dword [ebp - 0xac], eax
mov edx, dword [eax + 4]
mov dword [ebp - 0xb4], edx
cmp byte [edi], 0x27
jne 0x4264a6
mov dword [ebp - 0xb8], 1
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x48]
cmp al, byte [ebx + 0x64]
jae 0x4264b0
mov byte [ebx + 0x64], al
jmp 0x4264b0
mov dword [ebp - 0xb8], 0
cmp byte [edi + 3], 0
je 0x4264e0
mov eax, dword [ebp - 0xc0]
lea ecx, [eax + eax*4]
lea esi, [esi + ecx*8]
mov eax, esi
call fcn.0041dec0
mov esi, dword [esi]
cmp esi, 2
mov dword [ebp - 0xc0], esi
jl 0x42938a
mov ecx, dword [ebp - 0xc8]
mov al, byte [edi + 1]
cmp al, 0xfa
jne 0x42650b
mov eax, dword [edi + 0x10]
mov edx, dword [ebx]
mov dword [ebp - 0xc4], eax
mov ecx, dword [edx + 8]
mov edx, dword [ecx + 0xc]
mov cl, byte [edx + 0x49]
mov byte [eax + 4], cl
mov edx, dword [ebp - 0xc4]
movzx ecx, word [edx + 6]
inc ecx
jmp 0x426512
cmp al, 0xf2
jne 0x426518
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0xc8], ecx
mov eax, dword [ebp - 0xbc]
push 1
push eax
push ecx
mov ecx, dword [edi + 4]
push ecx
mov edi, ebx
call fcn.00423aa0
add esp, 0x10
mov dword [ebp - 0xb0], eax
test eax, eax
je 0x4243e4
mov byte [eax + 0x14], 1
mov edx, dword [ebp - 0xb0]
mov eax, dword [edx]
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xb8]
push eax
mov eax, dword [ebp - 0xc0]
push ecx
push edx
push eax
mov eax, dword [ebp - 0xb4]
call fcn.00417170
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xc4]
add esp, 0x10
mov dword [ebp - 0xd0], eax
mov dword [ecx + 0x28], edx
cmp eax, 0x10
jne 0x42659e
mov eax, dword [ebp - 0xb0]
mov dword [eax], 0
mov dword [ebp - 0xd0], 0
mov ecx, dword [ebp - 0xdc]
cmp byte [ecx + 1], 0xfa
mov eax, dword [ebp - 0xb0]
setne dl
mov byte [eax + 0x16], dl
mov eax, dword [ebp - 0xb0]
cmp byte [eax + 0x16], 0
sete cl
mov byte [eax + 0x17], cl
jmp case.0x423f03.17
mov edx, dword [edi + 8]
mov eax, dword [edi + 4]
push 1
push 0xffffffffffffffff
push edx
push eax
mov edi, ebx
call fcn.00423aa0
add esp, 0x10
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x4243e4
mov edx, dword [ebp - 0xcc]
mov byte [eax + 0x14], 1
mov ecx, dword [ebp - 0xc8]
add ecx, 0x20
push ecx
push 0x1f4
push 1
mov eax, 0x41e
xor ecx, ecx
call fcn.0045e420
add esp, 0xc
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x426713
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx + 0x20]
push 1
push eax
call fcn.00415ff0
add esp, 8
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x426713
mov esi, dword [ebp - 0xdc]
cmp dword [esi + 0x10], eax
je 0x4266e9
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx + 0x20]
lea ecx, [ebp - 0x10c]
push 2
push ecx
call fcn.0041ada0
add esp, 8
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x4266ca
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax]
mov edx, dword [esi + 0x10]
mov eax, dword [eax + 0x20]
push ecx
mov ecx, dword [ebp - 0x10c]
push edx
push 1
push ecx
call fcn.00417170
mov edx, dword [esi + 0x10]
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x28], edx
mov edx, dword [ecx]
mov eax, dword [edx + 8]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx + 0x28]
mov cl, byte [ecx + 0x49]
add esp, 0x10
mov byte [eax + 4], cl
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0x16], 0
mov eax, dword [ebp - 0xc8]
cmp byte [eax + 0x16], 0
sete cl
mov byte [eax + 0x17], cl
jmp case.0x423f03.17
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax]
mov eax, dword [eax + 0x20]
push ecx
push 0
push 1
push 1
call fcn.00417170
mov edx, dword [ebp - 0xc8]
add esp, 0x10
mov dword [ebp - 0xd0], eax
mov byte [edx + 0x16], 1
mov eax, dword [ebp - 0xc8]
cmp byte [eax + 0x16], 0
sete cl
mov byte [eax + 0x17], cl
jmp case.0x423f03.17
mov edx, dword [edi + 0xc]
mov eax, dword [edi + 4]
push 0
push 0xffffffffffffffff
push edx
push eax
mov edi, ebx
call fcn.00423aa0
add esp, 0x10
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x4243e4
mov ecx, dword [ebp - 0xdc]
mov byte [eax + 0x14], 1
mov edx, dword [ecx + 8]
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x24], edx
mov ecx, dword [ebp - 0xc8]
mov byte [ecx + 0x16], 1
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0x17], 0
jmp case.0x423f03.17
mov ebx, dword [ebp - 0xe0]
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x34]
mov eax, dword [ecx + eax*4]
call fcn.0041ff30
mov edx, dword [edi + 4]
mov eax, dword [ebx + 0x34]
mov dword [eax + edx*4], 0
jmp case.0x423f03.17
mov ecx, dword [edi + 4]
mov edx, dword [ebx + 0x34]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0xc0], eax
cmp dword [eax], 0
je 0x423f1e
movzx ecx, byte [edi]
mov dword [ebp - 0xc4], ecx
mov byte [eax + 0x14], 0
mov ecx, dword [ebp - 0xc0]
cmp byte [ecx + 0x16], 0
je 0x4269b9
mov edi, dword [edi + 0xc]
mov eax, dword [ebp - 0xe4]
lea edx, [edi + edi*4]
lea esi, [eax + edx*8]
mov edi, esi
call fcn.00423ba0
call fcn.0041dd10
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], edx
mov byte [ecx + 0x11], 0
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x426942
test al, 8
jne 0x42682c
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx + 8]
dec eax
mov dword [ebp - 0xd4], eax
jmp case.0x423f03.17
xor ebx, ebx
cmp dword [ebp - 0x98], ebx
jne 0x4268f2
mov eax, SysReAllocString
cmp dword [ebp - 0x94], eax
jne 0x4268f2
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x118], ebx
fild qword [ebp - 0x118]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
je 0x426873
fldz
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x4268f2
fldz
mov dword [ebp - 0xc8], 1
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x4268a7
cmp dword [ebp - 0xc4], 0x2e
jl 0x4268dd
mov eax, dword [ebp - 0xc0]
mov esi, dword [eax]
lea edi, [ebp - 0xc8]
call fcn.00417cc0
jmp 0x4268c3
cmp dword [ebp - 0xc4], 0x2d
jg 0x4268dd
mov ecx, dword [ebp - 0xc0]
mov esi, dword [ecx]
lea edi, [ebp - 0xc8]
call fcn.00417cf0
mov dword [ebp - 0xd0], eax
cmp eax, ebx
jne 0x4293b2
cmp dword [ebp - 0xc8], ebx
je case.0x423f03.17
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx + 8]
dec eax
mov dword [ebp - 0xd4], eax
jmp case.0x423f03.17
mov eax, dword [ebp - 0xc4]
cmp eax, 0x2c
je 0x426925
cmp eax, 0x2e
je 0x426925
fild qword [ebp - 0x98]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x426942
mov eax, 0xffffffff
add dword [ebp - 0x98], eax
adc dword [ebp - 0x94], eax
jmp 0x426942
fild qword [ebp - 0x98]
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x426942
add dword [ebp - 0x98], 1
adc dword [ebp - 0x94], ebx
mov ecx, dword [ebp - 0x94]
mov edx, dword [ebp - 0x98]
lea eax, [ebp - 0xc8]
push eax
mov eax, dword [ebp - 0xc0]
push 0
push ecx
mov ecx, dword [eax]
push edx
push 0
push ecx
call fcn.00417d30
add esp, 0x18
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x4293b2
mov edi, dword [ebp - 0xdc]
cmp dword [ebp - 0xc8], eax
jne 0x426a43
mov edx, dword [ebp - 0xc0]
mov byte [edx + 0x11], 1
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0xc0]
mov dword [ecx + 8], eax
mov edx, dword [ebp - 0x94]
mov eax, dword [ebp - 0xc0]
mov dword [eax + 0xc], edx
jmp 0x426a43
mov edx, dword [edi + 0x10]
mov dword [ebp - 0xa0], edx
mov eax, dword [ecx + 0x28]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xc4]
and eax, 1
add eax, eax
add eax, eax
add eax, eax
mov word [ebp - 0xb4], dx
mov word [ebp - 0xb2], ax
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
lea eax, [esi + edx*8]
mov edx, 0x4000
mov dword [ebp - 0xa8], eax
test word [eax + 0x1c], dx
je 0x426a0d
call fcn.0041da00
mov ecx, dword [ebp - 0xc0]
lea eax, [ebp - 0xc8]
push eax
mov eax, dword [ecx]
push 0
push 0
push 0
lea edx, [ebp - 0xb8]
push edx
push eax
call fcn.00417d30
add esp, 0x18
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x4293b2
mov ecx, dword [ebp - 0xc0]
mov byte [ecx + 0x11], al
mov edx, dword [ebp - 0xc0]
mov byte [edx + 0x15], 0
mov eax, dword [ebp - 0xc0]
xor esi, esi
mov dword [eax + 0x44], esi
mov ecx, dword [ebp - 0xc4]
cmp ecx, 0x2e
mov eax, dword [ebp - 0xc8]
jl 0x426ab1
cmp eax, esi
jl 0x426a7f
jne 0x426a74
cmp ecx, 0x2f
je 0x426a7f
mov dword [ebp - 0xc8], esi
jmp case.0x423f03.17
mov edx, dword [ebp - 0xc0]
mov eax, dword [edx]
lea ecx, [ebp - 0xc8]
push ecx
push eax
call fcn.00418110
add esp, 8
mov dword [ebp - 0xd0], eax
cmp eax, esi
jne 0x4293b2
mov ecx, dword [ebp - 0xc0]
mov byte [ecx + 0x11], 0
jmp 0x426b05
cmp eax, esi
jg 0x426ad5
jne 0x426abc
cmp ecx, 0x2c
je 0x426ad5
mov edx, dword [ebp - 0xc0]
mov eax, dword [edx]
xor ecx, ecx
cmp byte [eax + 0x43], 1
setne cl
mov dword [ebp - 0xc8], ecx
jmp 0x426b05
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax]
lea edx, [ebp - 0xc8]
push edx
push ecx
call fcn.00418240
add esp, 8
mov dword [ebp - 0xd0], eax
cmp eax, esi
jne 0x4293b2
mov edx, dword [ebp - 0xc0]
mov byte [edx + 0x11], 0
cmp dword [ebp - 0xc8], 0
je case.0x423f03.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xd4], edi
jmp case.0x423f03.17
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x34]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xc8], eax
cmp dword [eax], 0
je case.0x423f03.17
mov byte [eax + 0x14], 0
mov edi, dword [edi + 8]
mov eax, dword [ebp - 0xe4]
lea edx, [edi + edi*4]
lea esi, [eax + edx*8]
call fcn.0041dd10
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 0x18], eax
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x1c], edx
mov ecx, dword [ebp - 0xc8]
mov byte [ecx + 0x11], 0
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0x15], 1
jmp case.0x423f03.17
mov ecx, dword [ebx + 0x34]
xor edx, edx
mov dword [ebp - 0xc8], edx
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xc4], eax
mov ecx, dword [edi + 0xc]
lea ecx, [ecx + ecx*4]
lea esi, [esi + ecx*8]
cmp dword [eax], edx
je 0x426c96
cmp dword [edi + 0x10], edx
jle 0x426bdd
mov edx, dword [eax + 0x28]
mov dword [ebp - 0xb8], edx
mov cx, word [edi + 0x10]
mov word [ebp - 0xb4], cx
mov edx, 0x10
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0xa8], esi
mov word [ebp - 0xb2], dx
mov dword [ebp - 0xbc], ecx
jmp 0x426c2d
mov edx, 0x4000
test word [esi + 0x1c], dx
je 0x426bf5
mov eax, esi
call fcn.0041da00
mov eax, dword [ebp - 0xc4]
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0x18]
mov eax, dword [eax + 0x28]
push ecx
push edx
push eax
mov edx, 0x97
lea eax, [ebp - 0xa0]
call fcn.00421410
add esp, 0xc
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x4243e4
or word [eax + 6], 0x10
mov eax, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xbc]
mov eax, dword [eax]
lea ecx, [ebp - 0xc0]
push ecx
push 0
push 0
push 0
push edx
push eax
call fcn.00417d30
add esp, 0x18
cmp dword [edi + 0x10], 0
mov ebx, eax
mov dword [ebp - 0xd0], ebx
jne 0x426c65
mov esi, dword [ebp - 0xbc]
call fcn.00421540
test ebx, ebx
jne case.0x423f03.17
mov edx, dword [ebp - 0xc4]
xor ecx, ecx
cmp dword [ebp - 0xc0], ecx
sete cl
mov dword [ebp - 0xc8], ecx
mov byte [edx + 0x15], bl
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x44], ebx
mov edx, dword [ebp - 0xc8]
cmp byte [edi], 0x32
jne 0x426cb2
test edx, edx
je case.0x423f03.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xd4], edi
jmp case.0x423f03.17
test edx, edx
jne case.0x423f03.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xd4], edi
jmp case.0x423f03.17
mov eax, dword [edi + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x10]
lea edx, [esi + ecx*8]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
mov eax, dword [ebx + 0x34]
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0xdc], edx
mov edx, dword [edi + 4]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0xc4], eax
xor ecx, ecx
mov dword [eax + 0x40], ecx
mov edx, dword [ebp - 0xc4]
mov dword [edx + 0x44], ecx
mov edx, dword [ebp - 0xc4]
mov eax, dword [edx]
mov ebx, dword [ebp - 0xb8]
mov dword [ebp - 0xc0], eax
mov ecx, dword [edx + 0x28]
mov cx, word [ecx + 6]
xor eax, eax
xor esi, esi
mov word [ebp - 0xbc], cx
mov word [ebp - 0xc8], ax
cmp si, cx
jae 0x426d5f
jmp 0x426d40
movzx esi, ax
lea esi, [esi + esi*4]
test byte [ebx + esi*8 + 0x1c], 1
jne 0x426e1c
inc ax
mov word [ebp - 0xc8], ax
cmp ax, cx
jb 0x426d40
cmp dword [ebp - 0xc0], 0
je case.0x423f03.17
mov edx, dword [edx + 0x28]
mov eax, dword [ebp - 0xbc]
mov esi, dword [ebp - 0xdc]
inc eax
mov word [ebp - 0xac], ax
mov ecx, 0x20
mov eax, esi
mov dword [ebp - 0xb0], edx
mov word [ebp - 0xaa], cx
mov dword [ebp - 0xa0], ebx
call fcn.0041dec0
mov ecx, dword [ebp - 0xc4]
mov edx, dword [esi]
add ecx, 0x40
push ecx
push 0
mov dword [ebp - 0x98], edx
mov eax, dword [esi + 4]
push 0
push 0
lea edx, [ebp - 0xb0]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0xc0]
push edx
push eax
call fcn.00417d30
add esp, 0x18
test byte [ebp - 0xaa], 0x20
mov dword [ebp - 0xd0], eax
jne 0x423f1e
mov eax, dword [ebp - 0xa8]
cmp eax, dword [ebp - 0x98]
jne 0x426e0c
mov ecx, dword [ebp - 0xa4]
cmp ecx, dword [ebp - 0x94]
je 0x423f1e
mov dword [esi], eax
mov edx, dword [ebp - 0xa4]
mov dword [esi + 4], edx
jmp case.0x423f03.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xd4], edi
mov dword [ebp - 0xc0], 0
jmp case.0x423f03.17
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 4]
mov edx, dword [ebx + 0x34]
mov ecx, dword [edx + ecx*4]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov dword [ebp - 0xc8], ecx
mov eax, dword [ecx]
mov dword [ebp - 0xc4], eax
test eax, eax
je 0x426f01
mov dword [ebp - 0xc0], 0
mov ecx, dword [esi]
lea ebx, [ebp - 0xc0]
push ebx
push 0
mov dword [ebp - 0xb8], ecx
mov edx, dword [esi + 4]
push edx
push ecx
push 0
push eax
mov dword [ebp - 0xb4], edx
call fcn.00417d30
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xd0], eax
mov eax, dword [esi]
mov dword [ecx + 8], eax
mov edx, dword [esi + 4]
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0xc], edx
mov edx, dword [ebp - 0xc8]
add esp, 0x18
cmp dword [ebp - 0xc0], 0
sete cl
mov byte [edx + 0x11], cl
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x14], 0
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 0x44], 0
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0x15], 0
mov eax, dword [ebp - 0xc0]
test eax, eax
je 0x426ef3
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xd4], edi
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 0x40], eax
jmp case.0x423f03.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xd4], edi
mov dword [ecx + 0x40], 0
jmp case.0x423f03.17
mov edx, dword [edi + 4]
mov eax, dword [ebx + 0x34]
mov eax, dword [eax + edx*4]
mov edx, dword [eax + 0x30]
mov ecx, dword [ebp - 0xd8]
mov dword [ecx], edx
mov eax, dword [eax + 0x34]
mov dword [ecx + 4], eax
mov ecx, dword [edi + 4]
mov edx, dword [ebx + 0x34]
mov eax, dword [edx + ecx*4]
add dword [eax + 0x30], 1
adc dword [eax + 0x34], 0
jmp case.0x423f03.17
mov edx, dword [ebx + 0x34]
xor eax, eax
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xbc], eax
mov ecx, dword [edi + 4]
mov ecx, dword [edx + ecx*4]
mov dword [ebp - 0xc0], ecx
cmp dword [ecx], eax
je 0x42723c
mov dword [ebp - 0xb8], eax
cmp byte [ecx + 0x13], al
jne 0x427131
mov ecx, dword [ecx]
mov eax, dword [ecx + 0x18]
mov dword [ebp - 0xc8], eax
mov ecx, dword [ecx + 0x1c]
mov edx, eax
or edx, ecx
mov dword [ebp - 0xc4], ecx
jne 0x42703f
mov eax, dword [ebp - 0xc0]
mov esi, dword [eax]
lea edi, [ebp - 0xbc]
call fcn.00417cf0
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x4293b2
cmp dword [ebp - 0xbc], eax
je 0x426fd1
mov eax, 1
xor ecx, ecx
jmp 0x427021
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ecx]
lea edi, [ebp - 0xc8]
call fcn.00417330
mov ecx, dword [ebp - 0xc4]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xc8]
cmp eax, 0xffffffff
jne 0x42701b
cmp ecx, 0x7fffffff
jne 0x42701b
mov edx, dword [ebp - 0xc0]
mov byte [edx + 0x13], 1
mov ecx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xc8]
jmp 0x42702d
add eax, 1
adc ecx, 0
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0xc8], eax
mov edi, dword [ebp - 0xdc]
mov ebx, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xe4]
mov edx, dword [edi + 0xc]
test edx, edx
je 0x427104
mov ecx, dword [ebx + 0xdc]
test ecx, ecx
je 0x42707e
mov dword [ebp - 0xb0], ecx
mov eax, dword [ecx + 0x3c]
test eax, eax
je 0x427070
mov ecx, eax
mov dword [ebp - 0xb0], ecx
mov eax, dword [ecx + 0x3c]
test eax, eax
jne 0x427061
mov edi, dword [edi + 0xc]
mov ecx, dword [ecx + 0x10]
lea eax, [edi + edi*4]
lea eax, [ecx + eax*8]
jmp 0x427084
lea edx, [edx + edx*4]
lea eax, [esi + edx*8]
mov dword [ebp - 0xb4], eax
call fcn.0041dec0
mov edx, dword [ebp - 0xb4]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
cmp eax, 0xffffffff
jne 0x4270ab
cmp ecx, 0x7fffffff
je 0x42939c
mov esi, dword [ebp - 0xc0]
cmp byte [esi + 0x13], 0
jne 0x42939c
mov esi, dword [ebp - 0xc4]
add eax, 1
adc ecx, 0
cmp esi, ecx
jg 0x4270e1
jl 0x4270d5
cmp dword [ebp - 0xc8], eax
jae 0x4270e1
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], ecx
mov eax, dword [ebp - 0xc8]
mov dword [edx], eax
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xb4]
mov dword [edx + 4], ecx
mov ecx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xc8]
cmp ecx, 0x7fffffff
jg 0x42711b
jl 0x427113
cmp eax, 0xffffffff
jae 0x42711b
add eax, 1
adc ecx, 0
jmp 0x42711f
xor eax, eax
xor ecx, ecx
push ecx
push eax
mov eax, dword [ebp - 0xc0]
mov esi, dword [eax]
call fcn.004171c0
add esp, 8
mov ecx, dword [ebp - 0xc0]
cmp byte [ecx + 0x13], 0
je 0x42721b
mov eax, dword [ebp - 0xcc]
mov edx, dword [eax + 0x30]
mov dword [ebp - 0xc8], edx
mov eax, dword [eax + 0x34]
xor ecx, ecx
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xb8], ecx
xor esi, esi
cmp ecx, esi
jne 0x427193
mov edx, dword [ebp - 0xc8]
mov eax, edx
and eax, 0xffffff
xor ecx, ecx
cmp eax, edx
jne 0x427193
cmp ecx, dword [ebp - 0xc4]
jne 0x427193
add edx, 1
adc dword [ebp - 0xc4], esi
mov dword [ebp - 0xc8], edx
jmp 0x4271bd
lea ecx, [ebp - 0xc8]
push ecx
push 8
call fcn.00408220
add esp, 8
cmp dword [ebp - 0xb8], 5
jge 0x4271bd
and dword [ebp - 0xc8], 0xffffff
mov dword [ebp - 0xc4], esi
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xc8]
lea edx, [ebp - 0xbc]
push edx
mov edx, dword [ebp - 0xc0]
push esi
push eax
mov eax, dword [edx]
push ecx
push esi
push eax
call fcn.00417d30
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xbc]
inc ecx
add esp, 0x18
cmp ecx, 0x64
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xb8], ecx
jge 0x42720f
cmp eax, esi
jne 0x42721b
cmp edx, esi
je 0x427163
cmp eax, esi
jne 0x42721b
cmp edx, esi
je 0x4293a8
mov ecx, dword [ebp - 0xc0]
mov byte [ecx + 0x11], 0
mov edx, dword [ebp - 0xc0]
mov byte [edx + 0x15], 0
mov eax, dword [ebp - 0xc0]
mov dword [eax + 0x44], 0
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xc8]
mov dword [eax], ecx
mov edx, dword [ebp - 0xc4]
mov dword [eax + 4], edx
jmp case.0x423f03.17
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
mov eax, dword [ebx + 0x34]
mov dword [ebp - 0xc8], ecx
mov edx, dword [edi + 4]
mov edx, dword [eax + edx*4]
mov dword [ebp - 0xb8], edx
cmp byte [edi], 0x37
mov eax, dword [edi + 0xc]
jne 0x427297
lea eax, [eax + eax*4]
lea edx, [esi + eax*8]
mov dword [ebp - 0xc4], edx
mov eax, dword [edx]
mov dword [ebp - 0xc0], eax
mov edx, dword [edx + 4]
jmp 0x42729e
cdq
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], edx
test byte [edi + 3], 1
je 0x4272ad
inc dword [ebx + 0x6c]
test byte [edi + 3], 2
je 0x4272cb
mov ecx, dword [ebp - 0xcc]
mov dword [ecx + 0x30], eax
mov eax, dword [ebp - 0xbc]
mov dword [ecx + 0x34], eax
mov ecx, dword [ebp - 0xc8]
xor eax, eax
test byte [ecx + 0x1c], 1
je 0x4272e5
mov dword [ecx + 0x14], eax
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 0x18], eax
mov ecx, dword [ebp - 0xc8]
test byte [edi + 3], 0x10
je 0x4272fc
mov edx, dword [ebp - 0xb8]
mov edx, dword [edx + 0x40]
mov dword [ebp - 0xb0], edx
jmp 0x427302
mov dword [ebp - 0xb0], eax
mov edx, 0x4000
test word [ecx + 0x1c], dx
je 0x42730f
mov eax, dword [ecx]
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 0xb4], eax
mov esi, dword [ecx]
push 0
push 0
call fcn.004171c0
movzx edx, byte [edi + 3]
mov eax, dword [ebp - 0xb4]
and edx, 8
push edx
push eax
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x14]
mov eax, dword [ebp - 0xbc]
push ecx
mov ecx, dword [ebp - 0xc0]
push edx
mov edx, dword [ebp - 0xb8]
push eax
mov eax, dword [ebp - 0xb0]
push ecx
mov ecx, dword [edx]
push 0
call fcn.0041a6d0
mov ecx, dword [ebp - 0xb8]
mov byte [ecx + 0x11], 0
mov edx, dword [ebp - 0xb8]
mov byte [edx + 0x15], 0
mov ecx, dword [ebp - 0xb8]
add esp, 0x24
mov dword [ebp - 0xd0], eax
mov dword [ecx + 0x44], 0
test eax, eax
jne case.0x423f03.17
mov ecx, dword [ebp - 0xcc]
cmp dword [ecx + 0xb8], eax
je case.0x423f03.17
cmp dword [edi + 0x10], eax
je case.0x423f03.17
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx + 4]
mov edx, dword [ecx + 8]
shl eax, 4
mov edx, dword [eax + edx]
mov dword [ebp - 0xac], edx
mov esi, dword [edi + 0x10]
mov dword [ebp - 0xa8], esi
mov al, byte [edi + 3]
mov edi, dword [ebp - 0xbc]
and al, 4
movzx eax, al
push edi
mov edi, dword [ebp - 0xc0]
neg eax
sbb eax, eax
push edi
and eax, 5
add eax, 0x12
push esi
push edx
mov dword [ebp - 0xa4], eax
mov edx, dword [ecx + 0xb4]
push eax
mov eax, dword [ecx + 0xb8]
push edx
call eax
add esp, 0x18
jmp case.0x423f03.17
mov eax, dword [ebx + 0x34]
xor ecx, ecx
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xc4], ecx
mov edx, dword [edi + 4]
mov eax, dword [eax + edx*4]
mov edx, dword [ebp - 0xcc]
mov dword [ebp - 0xc0], eax
cmp dword [edx + 0xb8], ecx
je 0x427456
cmp dword [edi + 0x10], ecx
je 0x427456
mov ecx, dword [eax + 8]
mov dword [ebp - 0xc8], ecx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0xc4], edx
mov edi, eax
call fcn.00420f90
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x4293b2
push eax
push eax
mov eax, dword [ebp - 0xc0]
mov esi, dword [eax]
call fcn.004171c0
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ecx]
add esp, 8
call fcn.0041a8d0
mov edx, dword [ebp - 0xc0]
mov dword [ebp - 0xd0], eax
mov dword [edx + 0x44], 0
test eax, eax
jne 0x4274ee
mov edx, dword [ebp - 0xcc]
mov ecx, dword [edx + 0xb8]
test ecx, ecx
je 0x4274ee
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x4274ee
mov esi, dword [ebp - 0xc4]
push esi
mov esi, dword [ebp - 0xc8]
push esi
mov esi, dword [edx + 8]
mov edx, dword [edx + 0xb4]
push eax
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 4]
shl eax, 4
mov eax, dword [eax + esi]
push eax
push 9
push edx
call ecx
add esp, 0x18
mov eax, dword [ebp - 0xdc]
test byte [eax + 8], 1
je case.0x423f03.17
mov eax, dword [ebp - 0xe0]
inc dword [eax + 0x6c]
jmp case.0x423f03.17
mov eax, dword [ebx + 0x6c]
mov ecx, dword [ebp - 0xcc]
add dword [ecx + 0x40], eax
mov dword [ecx + 0x3c], eax
mov dword [ebx + 0x6c], 0
jmp case.0x423f03.17
mov eax, dword [edi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 4]
lea edx, [esi + ecx*8]
mov ecx, dword [ebx + 0x34]
mov edi, dword [ecx + eax*4]
mov dword [ebp - 0xd8], edx
mov dword [ebp - 0xc8], edi
mov edx, dword [edi]
mov dword [ebp - 0xc4], edx
call fcn.00420f90
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x4293b2
mov eax, dword [ebp - 0xc8]
cmp byte [eax + 0x17], 0
je 0x4275ad
mov eax, dword [ebp - 0xc4]
lea edi, [ebp - 0xb8]
call fcn.00417330
mov ecx, dword [ebp - 0xcc]
mov eax, dword [ecx + 0x48]
mov ecx, dword [ebp - 0xb4]
cdq
cmp ecx, edx
jg 0x424b03
mov ecx, dword [ebp - 0xb8]
jl 0x4275a5
cmp ecx, eax
ja 0x424b03
mov dword [ebp - 0xc0], ecx
jmp 0x4275d7
mov esi, dword [ebp - 0xc4]
lea edx, [ebp - 0xc0]
push edx
call fcn.00417360
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xcc]
add esp, 4
cmp ecx, dword [eax + 0x48]
ja 0x424b03
mov ebx, dword [ebp - 0xd8]
xor eax, eax
call fcn.0041d870
test eax, eax
jne 0x4243e4
mov ecx, dword [ebp - 0xc0]
mov edi, ebx
mov dx, word [edi + 0x1c]
mov eax, 0xbf10
and dx, ax
mov eax, dword [edi + 0x14]
or dx, 0x10
mov dword [edi + 0x18], ecx
mov word [edi + 0x1c], dx
mov ecx, dword [ebp - 0xc8]
cmp byte [ecx + 0x17], 0
je 0x427640
mov edx, dword [ebp - 0xc0]
mov esi, dword [ebp - 0xc4]
push 0
push eax
push edx
push 0
call fcn.00417550
mov dword [ebp - 0xd0], eax
mov byte [edi + 0x1f], 1
jmp 0x4291e4
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xc4]
push eax
push ecx
push 0
push edx
call fcn.00417880
mov dword [ebp - 0xd0], eax
mov byte [edi + 0x1f], 1
jmp 0x4291e4
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x34]
mov edi, dword [ecx + eax*4]
mov dword [ebp - 0xc8], edi
cmp byte [edi + 0x14], 0
je 0x42768e
mov eax, dword [ebp - 0xd8]
mov edx, 1
mov word [eax + 0x1c], dx
jmp case.0x423f03.17
cmp byte [edi + 0x15], 0
je 0x4276bc
mov ecx, dword [edi + 0x18]
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xc0], ecx
mov edx, dword [edi + 0x1c]
mov dword [ebp - 0xbc], edx
mov dword [eax], ecx
mov edx, dword [ebp - 0xbc]
mov dword [eax + 4], edx
jmp case.0x423f03.17
cmp dword [edi + 0x38], 0
je 0x42772d
mov eax, dword [edi + 0x38]
mov eax, dword [eax]
mov dword [ebp - 0xb8], eax
mov eax, dword [eax]
mov dword [ebp - 0xb4], eax
mov edx, dword [edi + 0x38]
mov eax, dword [eax + 0x30]
lea ecx, [ebp - 0xc0]
push ecx
push edx
call eax
mov ecx, dword [ebx + 0x5c]
mov edx, dword [ebp - 0xcc]
push ecx
push edx
mov dword [ebp - 0xd0], eax
call fcn.00406900
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax + 8]
mov dword [ebx + 0x5c], ecx
mov dword [eax + 8], 0
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xc0]
mov dword [eax], ecx
mov edx, dword [ebp - 0xbc]
add esp, 0x10
mov dword [eax + 4], edx
jmp case.0x423f03.17
call fcn.00420f90
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x4293b2
mov eax, dword [ebp - 0xc8]
cmp byte [eax + 0x11], 0
je 0x427776
mov edx, dword [eax + 8]
mov dword [ebp - 0xc0], edx
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xd8]
mov ecx, edx
mov dword [eax], ecx
mov edx, dword [ebp - 0xbc]
mov dword [eax + 4], edx
jmp case.0x423f03.17
mov eax, dword [eax]
lea edi, [ebp - 0xc0]
call fcn.00417330
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xd8]
mov dword [eax], ecx
mov edx, dword [ebp - 0xbc]
mov dword [eax + 4], edx
jmp case.0x423f03.17
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x34]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xc8], eax
mov byte [eax + 0x14], 1
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0x11], 0
mov eax, dword [ebp - 0xc8]
mov esi, dword [eax]
test esi, esi
je case.0x423f03.17
call fcn.00414140
jmp case.0x423f03.17
mov ecx, dword [edi + 4]
mov edx, dword [ebx + 0x34]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0xc8], eax
mov esi, dword [eax]
mov dword [ebp - 0xc4], esi
test esi, esi
jne 0x427803
mov dword [ebp - 0xc0], 1
jmp 0x427820
lea edi, [ebp - 0xc0]
call fcn.00417cf0
mov edi, dword [ebp - 0xdc]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xc8]
mov cl, byte [ebp - 0xc0]
mov byte [eax + 0x14], cl
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0x15], 0
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x11], 0
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 0x44], 0
mov edi, dword [edi + 8]
test edi, edi
jle case.0x423f03.17
cmp dword [ebp - 0xc0], 0
je case.0x423f03.17
dec edi
mov dword [ebp - 0xd4], edi
jmp case.0x423f03.17
inc dword [ebx + 0xb4]
mov edx, dword [edi + 4]
mov eax, dword [ebx + 0x34]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc0], 1
mov esi, dword [eax]
mov dword [ebp - 0xc4], esi
test esi, esi
je 0x4278ea
lea edi, [ebp - 0xc0]
call fcn.00417cc0
cmp dword [ebp - 0xc0], 0
mov edx, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xdc]
sete cl
mov byte [edx + 0x12], cl
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x15], 0
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 0x44], 0
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0x11], 0
mov eax, dword [ebp - 0xc8]
mov cl, byte [ebp - 0xc0]
mov byte [eax + 0x14], cl
cmp dword [ebp - 0xc0], 0
je case.0x423f03.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xd4], edi
jmp case.0x423f03.17
mov edx, dword [ebp - 0xcc]
mov eax, dword [edx + 0xe0]
test eax, eax
jne 0x429403
mov ecx, dword [edi + 4]
mov edx, dword [ebx + 0x34]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0xc8], eax
test eax, eax
je case.0x423f03.17
mov ecx, dword [eax]
mov dword [ebp - 0xc4], ecx
test ecx, ecx
jne 0x42794f
mov byte [eax + 0x14], 1
jmp case.0x423f03.17
mov dword [ebp - 0xc0], 1
cmp byte [edi], 0x43
jne 0x42796d
lea eax, [ebp - 0xc0]
push eax
push ecx
call fcn.00418110
jmp 0x42797a
lea edx, [ebp - 0xc0]
push edx
push ecx
call fcn.00418240
mov cl, byte [ebp - 0xc0]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x14], cl
mov edx, dword [ebp - 0xc8]
add esp, 8
mov dword [edx + 0x44], 0
cmp dword [ebp - 0xc0], 0
jne 0x4279ca
mov eax, dword [edi + 8]
dec eax
mov dword [ebp - 0xd4], eax
mov al, byte [edi + 3]
test al, al
je 0x4279ca
movzx eax, al
inc dword [ebx + eax*4 + 0xac]
lea ebx, [ebx + eax*4 + 0xac]
mov ecx, dword [ebp - 0xc8]
mov byte [ecx + 0x11], 0
jmp case.0x423f03.17
mov edx, dword [edi + 4]
mov eax, dword [ebx + 0x34]
mov edx, dword [eax + edx*4]
mov dword [ebp - 0xc8], edx
mov eax, dword [edi + 8]
lea ecx, [eax + eax*4]
lea esi, [esi + ecx*8]
mov ecx, dword [edx]
mov dword [ebp - 0xc4], ecx
test ecx, ecx
je case.0x423f03.17
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x427a2d
mov eax, esi
call fcn.0041da00
mov dword [ebp - 0xd0], eax
test eax, eax
jne case.0x423f03.17
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xc8]
mov eax, dword [esi + 0x18]
mov dword [ebp - 0xc0], eax
mov esi, dword [esi + 0x14]
mov dword [ebp - 0xbc], esi
test byte [edi + 3], 0x10
je 0x427a4a
mov ebx, dword [edx + 0x40]
jmp 0x427a4c
xor ebx, ebx
mov edx, dword [edi + 0xc]
push edx
push 0
push 0
cdq
push 0x52a44c
push edx
push eax
push esi
mov eax, ebx
call fcn.0041a6d0
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xc8]
add esp, 0x1c
mov dword [eax + 0x44], 0
jmp case.0x423f03.17
mov ecx, dword [edi + 4]
mov edx, dword [ebx + 0x34]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0xc8], eax
mov ecx, dword [eax]
mov dword [ebp - 0xc4], ecx
test ecx, ecx
je case.0x423f03.17
mov eax, dword [eax + 0x28]
mov dword [ebp - 0xb8], eax
mov dx, word [edi + 0xc]
xor eax, eax
mov word [ebp - 0xb4], dx
mov word [ebp - 0xb2], ax
mov edi, dword [edi + 8]
lea edx, [edi + edi*4]
lea eax, [esi + edx*8]
lea edx, [ebp - 0xc0]
push edx
push 0
push 0
mov dword [ebp - 0xa8], eax
push 0
lea eax, [ebp - 0xb8]
push eax
push ecx
call fcn.00417d30
add esp, 0x18
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x427b0a
cmp dword [ebp - 0xc0], eax
jne 0x427b0a
mov eax, dword [ebp - 0xc4]
call fcn.0041a8d0
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 0x44], 0
jmp case.0x423f03.17
mov edx, dword [edi + 4]
mov eax, dword [ebx + 0x34]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0xc4], eax
mov ecx, dword [eax]
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xc8], ecx
mov edx, 1
mov word [eax + 0x1c], dx
cmp dword [ebp - 0xc8], 0
je case.0x423f03.17
mov edi, dword [ebp - 0xc4]
call fcn.00420f90
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x4293b2
mov ecx, dword [ebp - 0xc4]
cmp byte [ecx + 0x14], al
jne case.0x423f03.17
mov eax, dword [ebp - 0xc8]
lea edx, [ebp - 0xc0]
push edx
call fcn.004217a0
add esp, 4
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x4293b2
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xd8]
mov dword [eax], ecx
mov edx, dword [ebp - 0xbc]
mov ecx, 4
mov dword [eax + 4], edx
mov word [eax + 0x1c], cx
jmp case.0x423f03.17
mov edx, dword [edi + 4]
mov eax, dword [ebx + 0x34]
mov ebx, dword [eax + edx*4]
mov dword [ebp - 0xc8], ebx
cmp dword [ebx], 0
je case.0x423f03.17
mov ecx, dword [ebx + 0x28]
mov dword [ebp - 0xc0], ecx
mov dx, word [edi + 0x10]
mov word [ebp - 0xbc], dx
cmp byte [edi + 3], 0
je 0x427bff
mov eax, 0xc
mov word [ebp - 0xba], ax
jmp 0x427c0b
mov ecx, 4
mov word [ebp - 0xba], cx
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xe4]
lea ecx, [eax + edx*8]
lea edx, [ebp - 0xc4]
push edx
lea eax, [ebp - 0xc0]
push eax
mov dword [ebp - 0xb0], ecx
call fcn.004218d0
add esp, 8
cmp byte [edi], 0x51
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xc4]
jne 0x427c4b
neg eax
jmp 0x427c4c
inc eax
mov dword [ebp - 0xc4], eax
test eax, eax
jle case.0x423f03.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xd4], edi
jmp case.0x423f03.17
mov ecx, dword [ebp - 0xcc]
mov dword [ebp - 0xc4], 0
mov eax, dword [ecx + 0x88]
mov dword [ebp - 0xc0], eax
mov ecx, 1
test eax, eax
je 0x427cb8
mov edi, edi
cmp dword [eax + 0x44], 0xbdf20da3
jne 0x427cab
cmp byte [eax + 0x65], 2
jae 0x427cab
cmp dword [eax + 0x54], 0
jl 0x427cab
add dword [ebp - 0xc4], ecx
mov eax, dword [eax + 8]
mov dword [ebp - 0xc0], eax
test eax, eax
jne 0x427c90
mov eax, dword [ebp - 0xd8]
mov edx, ecx
mov word [eax + 0x1c], dx
cmp dword [ebp - 0xc4], ecx
jle 0x427cdf
mov dword [ebp - 0xd0], 6
mov byte [ebx + 0x38], 2
jmp case.0x423f03.17
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xbc], eax
mov edx, dword [edi + 4]
lea ecx, [ebp - 0xc8]
push ecx
mov ecx, dword [ebp - 0xcc]
push edx
mov edx, dword [ecx + 8]
shl eax, 4
mov eax, dword [eax + edx + 4]
call fcn.0041b250
mov esi, dword [ebp - 0xd8]
mov ecx, eax
mov eax, 4
mov word [esi + 0x1c], ax
mov eax, dword [ebp - 0xc8]
cdq
add esp, 8
mov dword [ebp - 0xd0], ecx
mov dword [esi], eax
mov dword [esi + 4], edx
test ecx, ecx
jne case.0x423f03.17
mov edx, dword [ebp - 0xc8]
test edx, edx
je case.0x423f03.17
mov esi, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xcc]
mov edi, dword [edi + 4]
shl esi, 4
add esi, dword [ecx + 8]
call fcn.00436a70
mov byte [ebp - 0xe9], 1
jmp case.0x423f03.17
mov dword [ebp - 0xc8], 0
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 4]
neg edx
sbb edx, edx
lea eax, [ebp - 0xc8]
and edx, eax
mov eax, dword [ebp - 0xcc]
push edx
mov edx, dword [edi + 8]
push ecx
mov ecx, dword [eax + 8]
shl edx, 4
mov eax, dword [edx + ecx + 4]
call fcn.0041af90
add esp, 8
cmp dword [edi + 0xc], 0
mov dword [ebp - 0xd0], eax
je case.0x423f03.17
mov eax, dword [ebp - 0xc8]
add dword [ebx + 0x6c], eax
mov edi, dword [edi + 0xc]
test edi, edi
jle case.0x423f03.17
lea edx, [edi + edi*4]
lea ecx, [esi + edx*8]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
jmp case.0x423f03.17
mov ecx, dword [ebp - 0xcc]
mov dword [ebp - 0xc8], 0
mov eax, dword [edi + 4]
shl eax, 4
add eax, dword [ecx + 8]
xor ecx, ecx
mov dword [ebp - 0xc0], eax
cmp byte [edi], 0x62
lea edx, [ebp - 0xc8]
setne cl
dec ecx
and ecx, 3
add ecx, 2
push ecx
mov dword [ebp - 0xc4], ecx
mov eax, dword [eax + 4]
push edx
call fcn.0041ada0
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xc8]
cdq
add esp, 8
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x423f03.17
mov eax, dword [edi + 4]
mov esi, dword [ebp - 0xcc]
push esi
mov dword [ebp - 0xc8], eax
call fcn.00413bc0
mov eax, dword [ebp - 0xc8]
add esp, 4
cmp dword [edi + 8], 0
jne 0x427e7c
mov edx, dword [esi + 8]
mov ecx, eax
shl ecx, 4
mov ecx, dword [ecx + edx + 0xc]
test byte [ecx + 0x4a], 1
je 0x427f39
mov ebx, dword [ebp - 0xe0]
mov ecx, str.sqlite_temp_master
cmp eax, 1
je 0x427e8b
mov ecx, str.sqlite_master
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0xbc], esi
mov edx, dword [edi + 4]
mov dword [ebp - 0xb8], edx
add ebx, 0x5c
mov dword [ebp - 0xb4], ebx
mov edx, dword [edi + 0x10]
push edx
push ecx
mov ecx, dword [esi + 8]
shl eax, 4
mov edx, dword [eax + ecx]
push edx
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
mov edi, esi
call fcn.00407e30
add esp, 0x10
mov dword [ebp - 0xc0], eax
test eax, eax
jne 0x427edd
mov dword [ebp - 0xd0], 7
jmp 0x427f39
mov esi, dword [ebp - 0xcc]
push 0
lea eax, [ebp - 0xbc]
push eax
mov byte [esi + 0x7c], 1
mov ecx, dword [ebp - 0xc0]
push fcn.00445e70
push ecx
push esi
mov dword [ebp - 0xb0], 0
call fcn.00443210
add esp, 0x14
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x427f25
mov edx, dword [ebp - 0xb0]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xc0]
push eax
push esi
call fcn.00406900
add esp, 8
mov byte [esi + 0x7c], 0
mov ebx, dword [ebp - 0xcc]
call fcn.00413ca0
cmp dword [ebp - 0xd0], 7
je 0x4243e4
jmp case.0x423f03.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xcc]
call fcn.00433190
mov dword [ebp - 0xd0], eax
jmp case.0x423f03.17
mov ecx, dword [ebp - 0xcc]
mov eax, dword [edi + 4]
push ecx
mov ecx, dword [edi + 0x10]
call fcn.00434f70
add esp, 4
jmp case.0x423f03.17
mov edx, dword [ebp - 0xcc]
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 4]
push edx
call fcn.00434a10
add esp, 4
jmp case.0x423f03.17
mov eax, dword [ebp - 0xcc]
mov ecx, dword [edi + 0x10]
push eax
mov eax, dword [edi + 4]
call fcn.0044fa30
add esp, 4
jmp case.0x423f03.17
mov eax, dword [edi + 8]
mov esi, dword [ebp - 0xcc]
lea ecx, [eax*4 + 4]
mov dword [ebp - 0xc8], eax
call fcn.00406b00
mov dword [ebp - 0xc4], eax
test eax, eax
je 0x4243e4
mov ecx, dword [edi + 0xc]
mov ebx, dword [ebp - 0xe4]
lea ecx, [ecx + ecx*4]
lea edx, [ebx + ecx*8]
mov dword [ebp - 0xb4], edx
mov ecx, dword [edi + 4]
lea ecx, [ecx + ecx*4]
lea ebx, [ebx + ecx*8]
xor ecx, ecx
cmp dword [ebp - 0xc8], ecx
mov dword [ebp - 0xc0], ecx
jle 0x428049
lea edx, [ecx + ecx*4]
lea esi, [ebx + edx*8]
call fcn.0041dd10
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xc4]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0xc0]
inc ecx
cmp ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xc0], ecx
jl 0x428014
mov eax, dword [ebp - 0xc4]
mov esi, dword [ebp - 0xcc]
mov dword [eax + ecx*4], 0
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax]
mov edx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xc4]
push ecx
movzx ecx, byte [edi + 3]
push edx
push eax
mov eax, dword [esi + 8]
shl ecx, 4
mov ecx, dword [ecx + eax + 4]
lea edx, [ebp - 0xbc]
call fcn.0041c130
mov ecx, dword [ebp - 0xc4]
add esp, 0xc
push ecx
push esi
mov dword [ebp - 0xb8], eax
call fcn.00406900
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xb4]
cdq
sub dword [ecx], eax
mov eax, dword [ebp - 0xb4]
push ebx
sbb dword [eax + 4], edx
call fcn.0041dfa0
add esp, 0xc
cmp dword [ebp - 0xbc], 0
je 0x4280e9
mov eax, dword [ebp - 0xb8]
test eax, eax
je 0x4243e4
push 1
push eax
mov eax, fcn.00406880
or ecx, 0xffffffff
mov edx, ebx
call fcn.0041e250
add esp, 8
movzx ecx, byte [ebp - 0xe8]
mov eax, ebx
call fcn.0041d850
jmp case.0x423f03.17
mov eax, dword [edi + 4]
mov edi, dword [edi + 8]
lea edx, [eax + eax*4]
test byte [esi + edx*8 + 0x1c], 0x20
lea ebx, [esi + edx*8]
lea eax, [edi + edi*4]
lea esi, [esi + eax*8]
jne 0x428126
mov edi, ebx
call fcn.0041e0b0
test byte [ebx + 0x1c], 0x20
je 0x4243e4
mov ecx, dword [esi + 4]
mov edx, dword [esi]
mov edi, dword [ebx]
push ecx
push edx
call fcn.0040d410
add esp, 8
jmp case.0x423f03.17
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax + 0xe0]
test ecx, ecx
jne 0x429403
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
test byte [esi + edx*8 + 0x1c], 0x20
lea ebx, [esi + edx*8]
je 0x42819b
mov eax, dword [ebx]
lea esi, [ebp - 0xc8]
call fcn.0040d7a0
test eax, eax
je 0x42819b
mov eax, dword [ebp - 0xc4]
mov edi, dword [edi + 0xc]
mov ecx, dword [ebp - 0xc8]
push eax
mov eax, dword [ebp - 0xe4]
lea edx, [edi + edi*4]
push ecx
lea esi, [eax + edx*8]
call fcn.0041dff0
add esp, 8
jmp case.0x423f03.17
push ebx
call fcn.0041dfa0
mov edi, dword [edi + 8]
add esp, 4
dec edi
mov dword [ebp - 0xd4], edi
jmp case.0x423f03.17
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 ebx, [esi + ecx*8]
mov dword [ebp - 0xc8], eax
test byte [ebx + 0x1c], 0x20
lea esi, [esi + edx*8]
jne 0x4281f1
mov edi, ebx
call fcn.0041e0b0
test byte [ebx + 0x1c], 0x20
je 0x4243e4
mov eax, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xdc]
test eax, eax
je 0x428239
jl 0x4281fc
and eax, 0xf
jmp 0x428201
mov eax, 0xff
mov ecx, dword [esi + 4]
mov edx, dword [esi]
push ecx
mov ecx, dword [ebx]
push edx
call fcn.0040d820
add esp, 8
mov dword [ebp - 0xc4], eax
test eax, eax
je 0x42822b
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xd4], edi
jmp case.0x423f03.17
mov eax, dword [ebp - 0xc8]
test eax, eax
jl case.0x423f03.17
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov edi, dword [ebx]
push eax
push ecx
call fcn.0040d410
add esp, 8
jmp case.0x423f03.17
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0xb0], ecx
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
lea esi, [esi + edx*8]
mov dword [ebp - 0xc0], esi
cmp byte [edi + 3], 0
je 0x42829c
mov eax, dword [ebx + 0xdc]
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0xac], edx
mov dword [ebp - 0xb4], eax
test eax, eax
je 0x42829c
cmp dword [eax + 0x20], edx
je case.0x423f03.17
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0xb4], eax
test eax, eax
jne 0x428286
mov eax, dword [ebx + 0xe0]
mov edx, dword [ebp - 0xcc]
cmp eax, dword [edx + 0x70]
jl 0x4282ce
push str.too_many_levels_of_trigger_recursion
lea esi, [ebx + 0x5c]
mov eax, edx
mov dword [ebp - 0xd0], 1
call fcn.00406cf0
add esp, 4
jmp case.0x423f03.17
test byte [esi + 0x1c], 0x40
jne 0x428437
mov eax, dword [ecx + 8]
add eax, dword [ecx + 0xc]
mov dword [ebp - 0xc8], eax
mov ecx, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*2]
lea edi, [edi*4 + 0x40]
mov eax, edx
mov dword [ebp - 0xc4], edi
call fcn.00406ae0
mov dword [ebp - 0xb4], eax
test eax, eax
je 0x4243e4
mov edx, dword [ebp - 0xc0]
push edx
call fcn.0041dc40
mov ecx, dword [ebp - 0xc0]
mov eax, 0x40
mov word [ecx + 0x1c], ax
mov edx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xc0]
mov dword [eax], edx
mov ecx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xe0]
mov dword [ecx], eax
mov edx, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xc8]
mov dword [edx + 0x24], ecx
mov edx, dword [ebp - 0xb0]
mov ecx, dword [edx + 0xc]
mov edx, dword [ebp - 0xb4]
mov dword [edx + 0x28], ecx
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xd4]
mov dword [ecx + 4], edx
mov ecx, dword [eax + 0x4c]
mov edx, dword [ebp - 0xb4]
mov dword [edx + 0x10], ecx
mov ecx, dword [eax + 0x48]
mov edx, dword [ebp - 0xb4]
mov dword [edx + 0x14], ecx
mov ecx, dword [eax + 0x34]
mov edx, dword [ebp - 0xb4]
mov dword [edx + 0x18], ecx
mov cx, word [eax + 0x32]
mov edx, dword [ebp - 0xb4]
mov word [edx + 0x1c], cx
mov ecx, dword [eax + 0x14]
mov edx, dword [ebp - 0xb4]
mov dword [edx + 8], ecx
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0xc], eax
mov edx, dword [ebp - 0xb0]
mov eax, dword [edx + 0x14]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x20], eax
mov ecx, dword [ebp - 0xb4]
mov eax, dword [ecx + 0x24]
lea edx, [eax + eax*4]
lea edx, [ecx + edx*8 + 0x40]
lea eax, [ecx + 0x40]
add esp, 4
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0xbc], eax
cmp eax, edx
je 0x42843f
jmp 0x428400
mov ecx, 1
mov word [eax + 0x1c], cx
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xcc]
mov dword [edx + 0x10], eax
mov eax, dword [ebp - 0xbc]
add eax, 0x28
mov dword [ebp - 0xbc], eax
cmp eax, dword [ebp - 0xb8]
jne 0x428400
mov ecx, dword [ebp - 0xb4]
jmp 0x42843f
mov ecx, dword [esi]
mov dword [ebp - 0xb4], ecx
mov eax, dword [ebp - 0xe0]
inc dword [eax + 0xe0]
mov edx, dword [eax + 0xdc]
mov dword [ecx + 0x3c], edx
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ecx + 0x30]
mov esi, dword [ebp - 0xb4]
mov dword [esi + 0x30], edx
mov ecx, dword [ecx + 0x34]
mov edx, dword [ebp - 0xb4]
mov dword [edx + 0x34], ecx
mov ecx, dword [eax + 0x6c]
mov edx, dword [ebp - 0xb4]
mov dword [edx + 0x38], ecx
mov ecx, dword [ebp - 0xb4]
lea edx, [ecx + 0x18]
mov dword [eax + 0xdc], ecx
mov dword [eax + 0x4c], edx
mov dword [eax + 0x6c], 0
mov esi, dword [ecx + 0x24]
mov dword [eax + 0x48], esi
mov cx, word [ecx + 0x28]
mov word [eax + 0x32], cx
mov ecx, esi
inc ecx
lea ecx, [ecx + ecx*4]
mov dword [ebp - 0xe4], edx
lea edx, [edx + ecx*8]
mov dword [eax + 0x34], edx
mov edx, dword [ebp - 0xb0]
mov ecx, dword [edx]
mov dword [ebp - 0x104], ecx
mov dword [eax + 0x14], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 0xc], ecx
mov dword [ebp - 0xd4], 0xffffffff
jmp case.0x423f03.17
mov edx, dword [ebp - 0xe0]
mov ecx, dword [edx + 0xdc]
mov ebx, dword [ebp - 0xd8]
mov dword [ebp - 0xc8], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 8]
mov ecx, dword [ecx + 0x10]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4 + 4]
add eax, dword [edi + 4]
push 0x1000
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
mov dword [ebp - 0xc4], eax
call fcn.0041e170
add esp, 8
jmp case.0x423f03.17
cmp dword [edi + 4], 0
mov eax, dword [edi + 8]
cdq
je 0x428548
mov ecx, dword [ebp - 0xcc]
add dword [ecx + 0x1e0], eax
adc dword [ecx + 0x1e4], edx
jmp case.0x423f03.17
add dword [ebx + 0xc8], eax
adc dword [ebx + 0xcc], edx
jmp case.0x423f03.17
cmp dword [edi + 4], 0
je 0x428586
mov eax, dword [ebp - 0xcc]
mov edx, dword [eax + 0x1e0]
or edx, dword [eax + 0x1e4]
jne case.0x423f03.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xd4], edi
jmp case.0x423f03.17
mov eax, dword [ebx + 0xc8]
or eax, dword [ebx + 0xcc]
jne case.0x423f03.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xd4], edi
jmp case.0x423f03.17
mov ebx, dword [ebx + 0xdc]
test ebx, ebx
je 0x4285dd
mov ecx, ebx
mov dword [ebp - 0xc4], ecx
mov eax, dword [ecx + 0x3c]
test eax, eax
je 0x4285cf
mov ecx, eax
mov dword [ebp - 0xc4], ecx
mov eax, dword [ecx + 0x3c]
test eax, eax
jne 0x4285c0
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [ecx + 0x10]
lea eax, [eax + edx*8]
jmp 0x4285e6
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
lea eax, [esi + ecx*8]
mov dword [ebp - 0xc8], eax
call fcn.0041dec0
mov edi, dword [edi + 8]
lea edx, [edi + edi*4]
lea esi, [esi + edx*8]
mov eax, esi
call fcn.0041dec0
mov ecx, dword [ebp - 0xc8]
mov eax, dword [esi]
mov esi, dword [esi + 4]
mov edx, dword [ecx + 4]
cmp edx, esi
jg case.0x423f03.17
jl 0x428623
mov edx, dword [ecx]
cmp edx, eax
jae case.0x423f03.17
mov dword [ecx], eax
mov eax, dword [ebp - 0xc8]
mov dword [eax + 4], esi
jmp case.0x423f03.17
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
cmp dword [esi + eax*8 + 4], 0
jl case.0x423f03.17
jg 0x428650
cmp dword [esi + eax*8], 0
jbe case.0x423f03.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xd4], edi
jmp case.0x423f03.17
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
cmp dword [esi + eax*8 + 4], 0
jg case.0x423f03.17
jl 0x42867c
cmp dword [esi + eax*8], 0
jae case.0x423f03.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xd4], edi
jmp case.0x423f03.17
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0xc]
lea ecx, [esi + ecx*8]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
mov edx, dword [ecx]
or edx, dword [ecx + 4]
jne case.0x423f03.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xd4], edi
jmp case.0x423f03.17
movzx ecx, byte [edi + 3]
mov edx, dword [ebx + 0x24]
mov dword [ebp - 0xc8], ecx
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
xor eax, eax
mov dword [ebp - 0xbc], esi
mov dword [ebp - 0x78], edx
mov dword [ebp - 0xc4], eax
test ecx, ecx
jle 0x428717
mov ecx, dword [ebp - 0x78]
mov dword [ecx + eax*4], esi
mov ecx, dword [ebp - 0xbc]
call fcn.00423a70
mov eax, dword [ebp - 0xc4]
mov esi, dword [ebp - 0xbc]
inc eax
add esi, 0x28
cmp eax, dword [ebp - 0xc8]
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xbc], esi
jl 0x4286e2
mov edx, dword [edi + 0x10]
mov ecx, dword [ebp - 0xe4]
mov ebx, dword [ebp - 0xcc]
mov dword [ebp - 0xb8], edx
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
xor esi, esi
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0x88], eax
inc dword [eax + 0x18]
mov eax, dword [ebp - 0xb8]
mov edx, 1
mov word [ebp - 0x94], dx
mov dword [ebp - 0x9c], esi
mov dword [ebp - 0x8c], esi
mov dword [ebp - 0x90], esi
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0x84], esi
mov dword [ebp - 0x80], esi
test byte [eax + 3], 8
je 0x428785
mov ecx, dword [edi - 4]
mov dword [ebp - 0x80], ecx
mov edx, dword [ebp - 0x78]
mov ecx, dword [ebp - 0xc8]
mov eax, dword [eax + 0x10]
push edx
push ecx
lea edx, [ebp - 0xb8]
push edx
call eax
add esp, 0xc
cmp dword [ebp - 0x84], esi
je 0x4287db
lea ecx, [ebp - 0xb0]
push ecx
call fcn.00421df0
mov esi, dword [ebp - 0xe0]
add esp, 4
push eax
push 0x52b35c
add esi, 0x5c
mov eax, ebx
call fcn.00406cf0
mov edx, dword [ebp - 0x84]
add esp, 8
mov dword [ebp - 0xd0], edx
lea eax, [ebp - 0xb0]
push eax
call fcn.0041dc40
add esp, 4
jmp case.0x423f03.17
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
lea ecx, [esi + ecx*8]
mov dword [ebp - 0xc8], ecx
mov eax, dword [edi + 0x10]
call fcn.0041db60
mov dword [ebp - 0xd0], eax
test eax, eax
je 0x428836
mov edx, dword [ebp - 0xc8]
push edx
call fcn.00421df0
add esp, 4
push eax
mov eax, dword [ebp - 0xcc]
push 0x52b35c
lea esi, [ebx + 0x5c]
call fcn.00406cf0
add esp, 8
movzx ecx, byte [ebp - 0xe8]
mov eax, dword [ebp - 0xc8]
call fcn.0041d850
mov ecx, dword [ebp - 0xc8]
call fcn.0041e140
test eax, eax
jne 0x424b03
jmp case.0x423f03.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xcc]
push eax
push ecx
call fcn.0045e360
add esp, 8
mov dword [ebp - 0xd0], eax
jmp case.0x423f03.17
mov eax, dword [ebp - 0xfc]
cmp dword [eax], 0
mov edx, dword [edi + 0xc]
mov dword [ebp - 0xc0], edx
jne 0x4288b1
mov ecx, dword [edi + 4]
mov esi, ebx
call fcn.0041f790
mov ecx, dword [ebp - 0xfc]
push ecx
call fcn.00413d60
mov edx, dword [ebp - 0xc0]
add esp, 4
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xcc]
mov ecx, dword [ecx + 8]
shl eax, 4
mov eax, dword [eax + ecx + 4]
mov dword [ebp - 0xc8], eax
mov eax, dword [eax + 4]
mov esi, dword [eax]
mov dword [ebp - 0xc4], esi
movzx eax, byte [esi + 5]
mov dword [ebp - 0xbc], eax
cmp edx, 0xffffffff
jne 0x4288ec
mov edx, eax
mov dword [ebp - 0xc0], edx
cmp byte [esi + 0xf], 0
jne 0x428908
mov ecx, dword [esi + 0x3c]
cmp dword [ecx], 0
je 0x428910
cmp dword [esi + 0x4c], 0
jl 0x428910
jg 0x428908
cmp dword [esi + 0x48], 0
jbe 0x428910
mov edx, eax
mov dword [ebp - 0xc0], edx
mov ecx, dword [esi + 0x8c]
mov dword [ebp - 0xb8], ecx
cmp edx, 5
jne 0x428944
cmp byte [ecx], 0
je 0x428937
mov eax, esi
call fcn.00411ad0
test eax, eax
mov eax, dword [ebp - 0xbc]
jne 0x428944
mov edx, eax
mov dword [ebp - 0xc0], edx
jmp 0x428a1e
cmp edx, eax
je 0x428a1e
cmp eax, 5
je 0x42895a
cmp edx, 5
jne 0x428a1e
mov ecx, dword [ebp - 0xcc]
cmp byte [ecx + 0x1c], 0
je 0x4289e1
cmp dword [ecx + 0x8c], 1
jg 0x4289e1
cmp eax, 5
jne 0x42899c
mov eax, esi
call fcn.00411b50
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x4289d3
mov edx, dword [ebp - 0xc0]
mov esi, dword [ebp - 0xc4]
push edx
jmp 0x4289a3
cmp eax, 4
jne 0x4289b1
push 2
call fcn.004119f0
mov edx, dword [ebp - 0xc0]
add esp, 4
xor eax, eax
cmp edx, 5
sete al
inc eax
push eax
mov eax, dword [ebp - 0xc8]
call fcn.0041c850
add esp, 4
mov dword [ebp - 0xd0], eax
test eax, eax
je 0x428a12
mov edx, dword [ebp - 0xbc]
mov dword [ebp - 0xc0], edx
jmp 0x428a18
mov dword [ebp - 0xd0], 1
mov eax, str.into
cmp edx, 5
je 0x4289fa
mov eax, str.out_of
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
lea esi, [ebx + 0x5c]
mov eax, ecx
call fcn.00406cf0
add esp, 8
jmp case.0x423f03.17
mov edx, dword [ebp - 0xc0]
mov esi, dword [ebp - 0xc4]
push edx
call fcn.004119f0
mov edx, dword [ebp - 0xe4]
mov dword [ebp - 0xc0], eax
mov edi, dword [edi + 8]
lea ecx, [edi + edi*4]
lea edx, [edx + ecx*8]
mov eax, 0xa02
mov word [edx + 0x1c], ax
mov eax, dword [ebp - 0xc0]
add esp, 4
mov dword [ebp - 0xd8], edx
cmp eax, 6
jne 0x428a5a
xor ecx, ecx
jmp 0x428a61
mov ecx, dword [eax*4 + 0x527728]
mov dword [edx + 0x14], ecx
call fcn.004088f0
movzx ecx, byte [ebp - 0xe8]
mov dword [edx + 0x18], eax
mov eax, edx
mov byte [edx + 0x1f], 1
call fcn.0041d850
jmp case.0x423f03.17
mov eax, dword [ebp - 0xcc]
add ebx, 0x5c
push ebx
call fcn.00452a70
add esp, 4
mov dword [ebp - 0xd0], eax
jmp case.0x423f03.17
mov ecx, dword [edi + 4]
mov edx, dword [ebp - 0xcc]
mov eax, dword [edx + 8]
shl ecx, 4
mov ebx, dword [ecx + eax + 4]
mov dword [ebp - 0xc8], ebx
call fcn.00416970
mov dword [ebp - 0xd0], eax
cmp eax, 0x65
jne case.0x423f03.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xd4], edi
mov dword [ebp - 0xd0], 0
jmp case.0x423f03.17
cmp dword [edi + 4], 0
jne 0x428afc
mov eax, dword [ebp - 0xcc]
call fcn.004219a0
jmp case.0x423f03.17
mov byte [ebx + 0x62], 1
jmp case.0x423f03.17
mov cl, byte [edi + 0xc]
test cl, cl
jne 0x428b1f
mov edx, dword [ebp - 0xcc]
test dword [edx + 0xc], 0x80000
jne case.0x423f03.17
mov edx, dword [edi + 8]
mov eax, dword [edi + 4]
push edx
mov edx, dword [ebp - 0xcc]
mov edx, dword [edx + 8]
shl eax, 4
mov esi, dword [eax + edx + 4]
call fcn.0041c790
add esp, 4
mov dword [ebp - 0xd0], eax
cmp al, 6
jne case.0x423f03.17
mov eax, dword [edi + 0x10]
push eax
mov eax, dword [ebp - 0xcc]
push str.database_table_is_locked:__s
lea esi, [ebx + 0x5c]
call fcn.00406cf0
add esp, 8
jmp case.0x423f03.17
mov edi, dword [edi + 0x10]
mov ecx, dword [ebp - 0xcc]
push edi
push ecx
mov dword [ebp - 0xc8], edi
call fcn.00453e80
add esp, 8
cmp dword [ebp - 0xc8], 0
mov dword [ebp - 0xd0], eax
je case.0x423f03.17
mov edx, dword [ebx + 0x5c]
mov eax, dword [ebp - 0xcc]
push edx
push eax
call fcn.00406900
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 8]
mov dword [ebx + 0x5c], edx
mov eax, dword [eax + 8]
add esp, 8
mov dword [eax + 8], 0
jmp case.0x423f03.17
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 4]
add ebx, 0x5c
push ebx
push ecx
mov ecx, dword [ebp - 0xcc]
call fcn.004539b0
add esp, 8
mov dword [ebp - 0xd0], eax
jmp case.0x423f03.17
mov ecx, dword [ebp - 0xcc]
mov byte [ebx + 0x65], 2
mov edx, dword [edi + 0x10]
mov eax, dword [edi + 4]
push edx
call fcn.00453c70
add esp, 4
mov dword [ebp - 0xd0], eax
mov byte [ebx + 0x65], 0
jmp case.0x423f03.17
xor eax, eax
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], eax
mov eax, dword [edi + 0x10]
mov eax, dword [eax + 8]
mov dword [ebp - 0xc0], eax
mov ecx, dword [eax]
lea edx, [ebp - 0xc4]
push edx
mov dword [ebp - 0xbc], ecx
push eax
mov eax, dword [ecx + 0x18]
call eax
mov ecx, dword [ebx + 0x5c]
mov edx, dword [ebp - 0xcc]
push ecx
mov esi, eax
push edx
mov dword [ebp - 0xd0], esi
call fcn.00406900
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax + 8]
add esp, 0x10
mov dword [ebx + 0x5c], ecx
mov dword [eax + 8], 0
test esi, esi
jne case.0x423f03.17
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xc4]
push esi
push 0xffffffffffffffff
mov dword [eax], edx
mov ecx, dword [edi + 4]
push esi
push ecx
mov edi, ebx
call fcn.00423aa0
add esp, 0x10
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x428cc4
mov edx, dword [ebp - 0xc4]
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax]
mov edx, dword [ecx]
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x3c], edx
jmp case.0x423f03.17
mov ecx, dword [ebp - 0xcc]
mov byte [ecx + 0x1e], 1
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax + 0x1c]
push edx
call ecx
add esp, 4
jmp case.0x423f03.17
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
lea esi, [esi + edx*8]
mov edx, dword [ebx + 0x34]
mov dword [ebp - 0xbc], esi
lea eax, [esi + 0x28]
mov dword [ebp - 0xb8], eax
mov ecx, dword [edi + 4]
mov ecx, dword [edx + ecx*4]
mov dword [ebp - 0xac], ecx
mov edx, dword [ecx + 0x38]
mov dword [ebp - 0xb4], edx
mov ecx, dword [edx]
mov dword [ebp - 0xb0], ecx
mov ecx, dword [ecx]
mov dword [ebp - 0xc0], ecx
mov ecx, dword [eax]
mov dword [ebp - 0xc8], ecx
mov eax, dword [esi]
mov esi, dword [ebx + 0x24]
mov dword [ebp - 0xc4], eax
xor eax, eax
cmp ecx, eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa0], esi
mov dword [ebp - 0xa4], eax
jle 0x428d9a
mov edx, dword [ebp - 0xb8]
lea ecx, [eax + eax*4 + 5]
lea ecx, [edx + ecx*8]
mov edx, dword [ebp - 0xa0]
mov dword [edx + eax*4], ecx
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xa0]
mov ecx, dword [ecx + eax*4]
call fcn.00423a70
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xc8]
inc eax
cmp eax, ecx
mov dword [ebp - 0xa4], eax
jl 0x428d53
mov edx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xa0]
mov esi, dword [ebp - 0xe0]
push eax
mov eax, dword [ebp - 0xc4]
push ecx
mov byte [esi + 0x65], 1
mov ecx, dword [edi + 0x10]
push ecx
mov ecx, dword [ebp - 0xc0]
push eax
push edx
mov edx, dword [ecx + 0x20]
call edx
mov ecx, dword [ebp - 0xcc]
mov ebx, eax
mov eax, dword [esi + 0x5c]
add esp, 0x14
push eax
push ecx
mov dword [ebp - 0xd0], ebx
mov byte [esi + 0x65], 0
call fcn.00406900
mov eax, dword [ebp - 0xb0]
mov edx, dword [eax + 8]
add esp, 8
mov dword [esi + 0x5c], edx
mov dword [eax + 8], 0
test ebx, ebx
jne 0x428e17
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ecx + 0x28]
push eax
call edx
add esp, 4
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
je 0x428e2a
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xd4], edi
mov eax, dword [ebp - 0xac]
mov byte [eax + 0x14], 0
jmp case.0x423f03.17
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 4]
mov edx, dword [ebx + 0x34]
mov ecx, dword [edx + ecx*4]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov dword [ebp - 0xc0], esi
cmp byte [ecx + 0x14], 0
mov dword [ebp - 0xf0], ecx
je 0x428e6b
push esi
call fcn.0041dfa0
add esp, 4
jmp case.0x423f03.17
mov esi, dword [ebp - 0xf0]
mov ecx, dword [esi + 0x38]
mov eax, dword [ecx]
mov dword [ebp - 0xc8], eax
mov edx, dword [eax]
push 0x40
lea eax, [ebp - 0xb8]
push 0
push eax
mov dword [ebp - 0xc4], edx
call fcn.004eb2d0
mov ebx, dword [ebp - 0xc0]
add esp, 0xc
lea eax, [ebp - 0xb0]
call fcn.0041e220
mov ecx, dword [ebp - 0x94]
and ecx, 0xbf01
or ecx, 1
mov word [ebp - 0x94], cx
mov edx, dword [edi + 8]
mov ecx, dword [esi + 0x38]
push edx
mov edx, dword [ebp - 0xc4]
lea eax, [ebp - 0xb8]
push eax
mov eax, dword [edx + 0x2c]
push ecx
call eax
mov esi, dword [ebp - 0xe0]
mov ecx, dword [esi + 0x5c]
mov edx, dword [ebp - 0xcc]
add esp, 0xc
push ecx
push edx
mov dword [ebp - 0xd0], eax
call fcn.00406900
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 8]
mov dword [esi + 0x5c], ecx
mov dword [eax + 8], 0
mov eax, dword [ebp - 0x84]
add esp, 8
test eax, eax
je 0x428f1d
mov dword [ebp - 0xd0], eax
movzx ecx, byte [ebp - 0xe8]
lea eax, [ebp - 0xb0]
call fcn.0041d850
mov eax, dword [ebp - 0xc0]
lea ebx, [ebp - 0xb0]
call fcn.0041e220
mov ecx, dword [ebp - 0xc0]
call fcn.0041e140
test eax, eax
jne 0x424b03
jmp case.0x423f03.17
mov eax, dword [ebx + 0x34]
mov dword [ebp - 0xc0], 0
mov edx, dword [edi + 4]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0xbc], eax
cmp byte [eax + 0x14], 0
jne case.0x423f03.17
mov ecx, dword [eax + 0x38]
mov ecx, dword [ecx]
mov dword [ebp - 0xc8], ecx
mov ecx, dword [ecx]
mov dword [ebp - 0xc4], ecx
mov byte [ebx + 0x65], 1
mov edx, dword [eax + 0x38]
mov eax, dword [ecx + 0x24]
push edx
call eax
mov ecx, dword [ebx + 0x5c]
mov edx, dword [ebp - 0xcc]
add esp, 4
push ecx
mov esi, eax
push edx
mov dword [ebp - 0xd0], esi
mov byte [ebx + 0x65], 0
call fcn.00406900
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 8]
add esp, 8
mov dword [ebx + 0x5c], ecx
mov dword [eax + 8], 0
test esi, esi
jne 0x428ff2
mov edx, dword [ebp - 0xbc]
mov eax, dword [edx + 0x38]
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ecx + 0x28]
push eax
call edx
add esp, 4
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0
jne case.0x423f03.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xd4], edi
jmp case.0x423f03.17
mov eax, dword [edi + 0x10]
mov eax, dword [eax + 8]
mov dword [ebp - 0xc8], eax
mov edi, dword [edi + 4]
lea ecx, [edi + edi*4]
lea ecx, [esi + ecx*8]
mov dword [ebp - 0xc4], ecx
mov ecx, dword [ecx + 0x14]
mov edx, dword [eax]
mov edx, dword [edx + 0x4c]
push ecx
push eax
call edx
mov ecx, dword [ebp - 0xcc]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebx + 0x5c]
push eax
push ecx
call fcn.00406900
mov eax, dword [ebp - 0xc8]
mov edx, dword [eax + 8]
mov dword [ebx + 0x5c], edx
mov dword [eax + 8], 0
jmp 0x4291e4
mov eax, dword [edi + 0x10]
mov eax, dword [eax + 8]
mov dword [ebp - 0xc8], eax
mov edx, dword [eax]
mov dword [ebp - 0xc4], edx
mov eax, dword [edi + 8]
mov dword [ebp - 0xc0], eax
cmp dword [edx + 0x34], 0
je case.0x423f03.17
mov ecx, dword [ebx + 0x24]
mov dword [ebp - 0xb0], ecx
mov ecx, dword [edi + 0xc]
lea ecx, [ecx + ecx*4]
lea esi, [esi + ecx*8]
mov dword [ebp - 0xac], esi
mov dword [ebp - 0xbc], 0
test eax, eax
jle 0x4290f8
mov ecx, esi
call fcn.00423a70
mov eax, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xb0]
mov dword [ecx + eax*4], edx
mov ecx, dword [ebp - 0xbc]
mov esi, dword [ebp - 0xac]
mov eax, dword [ebp - 0xc0]
inc ecx
add esi, 0x28
cmp ecx, eax
mov dword [ebp - 0xac], esi
mov dword [ebp - 0xbc], ecx
jl 0x4290b0
mov edx, dword [ebp - 0xc4]
lea ecx, [ebp - 0xb8]
push ecx
mov ecx, dword [ebp - 0xb0]
push ecx
mov ecx, dword [edx + 0x34]
push eax
mov eax, dword [ebp - 0xc8]
push eax
call ecx
mov edx, dword [ebx + 0x5c]
mov esi, eax
mov eax, dword [ebp - 0xcc]
push edx
push eax
mov dword [ebp - 0xd0], esi
call fcn.00406900
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 8]
add esp, 0x18
mov dword [ebx + 0x5c], ecx
mov dword [eax + 8], 0
test esi, esi
jne 0x429162
cmp dword [edi + 4], esi
je 0x429162
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xcc]
mov dword [eax + 0x30], edx
mov ecx, dword [ebp - 0xb4]
mov dword [eax + 0x34], ecx
inc dword [ebx + 0x6c]
jmp case.0x423f03.17
mov edx, dword [edi + 4]
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax + 8]
shl edx, 4
mov edx, dword [edx + ecx + 4]
mov eax, dword [edx + 4]
mov ecx, dword [eax + 0x28]
mov eax, dword [ebp - 0xd8]
mov dword [eax], ecx
mov dword [eax + 4], 0
jmp case.0x423f03.17
mov edi, dword [edi + 0x10]
mov edx, edi
test edi, edi
jne 0x4291a3
mov edx, dword [ebx + 0xbc]
mov dword [ebp - 0xc8], edx
test edx, edx
je case.0x423f03.17
mov eax, dword [ebp - 0xcc]
cmp dword [eax + 0x94], 0
je case.0x423f03.17
push ebx
call fcn.00423700
mov edi, dword [ebp - 0xcc]
mov ecx, dword [edi + 0x98]
mov edx, dword [edi + 0x94]
add esp, 4
mov esi, eax
push esi
push ecx
call edx
push esi
push edi
call fcn.00406900
add esp, 0x10
inc dword [ebp - 0xd4]
cmp dword [ebp - 0xd0], 0
mov ebx, dword [ebp - 0xe0]
jne 0x424b2f
mov edi, dword [ebp - 0xcc]
mov esi, dword [ebp - 0xe4]
jmp 0x423e60
mov dword [ebp - 0xd0], 9
jmp 0x424b2f
mov eax, dword [edi + 4]
mov edx, dword [ebp - 0xd4]
mov dword [ebx + 0x58], eax
mov cl, byte [edi + 8]
mov byte [ebx + 0x38], cl
mov dword [ebx + 0x54], edx
mov eax, dword [edi + 0x10]
test eax, eax
je 0x429274
push eax
mov eax, dword [ebp - 0xcc]
push 0x52b35c
lea esi, [ebx + 0x5c]
call fcn.00406cf0
mov eax, dword [edi + 0x10]
mov ecx, dword [ebx + 0xbc]
mov edx, dword [ebp - 0xd4]
push eax
push ecx
mov ecx, dword [edi + 4]
push edx
push str.abort_at__d_in___s_:__s
call fcn.004080d0
add esp, 0x18
jmp 0x429298
cmp dword [ebx + 0x58], 0
je 0x429298
mov eax, dword [ebx + 0xbc]
mov ecx, dword [ebp - 0xd4]
push eax
push ecx
mov ecx, dword [edi + 4]
push str.constraint_failed_at__d_in___s_
call fcn.004080d0
add esp, 0xc
mov eax, ebx
call fcn.004208a0
mov edi, 5
cmp eax, edi
jne 0x42930b
mov dword [ebx + 0x58], edi
jmp 0x424b90
lea edx, [ebp - 0xb8]
push edx
call fcn.0041dc40
add esp, 4
jmp 0x4243e4
mov dword [ebp - 0xd0], 0x14
jmp 0x4293b2
mov eax, dword [ebp - 0xd4]
mov dword [ebx + 0x54], eax
mov edi, 5
mov byte [esi + 0x1c], 0
mov dword [ebx + 0x58], edi
jmp 0x424b90
test edi, edi
je 0x42931d
mov esi, dword [ebp - 0xcc]
call fcn.0045da40
mov byte [esi + 0x1c], 1
mov esi, dword [ebp - 0xcc]
call fcn.0045d5a0
mov edi, dword [ebx + 0x58]
neg edi
sbb edi, edi
and edi, 0xffffff9c
add edi, 0x65
jmp 0x424b90
push 1
mov ecx, ebx
call fcn.00420840
mov edi, eax
add esp, 4
test edi, edi
jne 0x424b90
mov cl, byte [ebp - 0xc8]
mov edx, dword [ebp - 0xcc]
mov eax, ebx
mov byte [edx + 0x1c], cl
call fcn.004208a0
mov edi, 5
cmp eax, edi
jne 0x429300
mov eax, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xcc]
mov cl, 1
sub cl, byte [ebp - 0xc8]
mov dword [ebx + 0x54], eax
mov byte [edx + 0x1c], cl
mov dword [ebx + 0x58], edi
jmp 0x424b90
mov eax, dword [ebp - 0xd4]
mov edi, 5
mov dword [ebx + 0x54], eax
mov dword [ebx + 0x58], edi
jmp 0x424b90
mov eax, 0xf07a
call fcn.0045f130
mov dword [ebp - 0xd0], eax
jmp 0x4293b8
mov dword [ebp - 0xd0], 0xd
jmp 0x4293b8
mov dword [ebp - 0xd0], 0xd
mov ebx, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xcc]
cmp byte [ecx + 0x1e], 0
je 0x4293d0
mov dword [ebp - 0xd0], 7
jmp 0x4293e0
cmp dword [ebp - 0xd0], 0xc0a
je 0x424b2f
mov eax, dword [ebp - 0xd0]
call fcn.0045db10
push eax
push 0x52b35c
lea esi, [ebx + 0x5c]
mov eax, ecx
call fcn.00406cf0
add esp, 8
jmp 0x424b2f
mov eax, 9
mov dword [ebp - 0xd0], eax
mov dword [ebx + 0x58], eax
mov eax, dword [str.interrupted]
test eax, eax
jne 0x42941f
mov eax, str.unknown_error
push eax
mov eax, dword [ebp - 0xcc]
push 0x52b35c
lea esi, [ebx + 0x5c]
call fcn.00406cf0
add esp, 8
jmp 0x424b2f