Function at 0x42f610
Capabilities:
Enumerate pe sections
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x134
mov eax, dword [0x4a93dc]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
mov ebx, dword [esi]
mov eax, dword [esi + 4]
mov ecx, dword [ebx + 8]
mov edx, dword [ecx + 0xc]
mov ecx, dword [esi + 8]
mov dword [ebp - 0x114], eax
mov al, byte [edx + 0x4d]
mov edx, dword [ebx + 0x30]
push edi
xor edi, edi
mov byte [ebp - 0xec], al
mov eax, dword [ebx + 0x34]
push esi
mov dword [ebp - 0xd8], esi
mov dword [ebp - 0xe4], edi
mov dword [ebp - 0xd4], edi
mov dword [ebp - 0xdc], ebx
mov byte [ebp - 0xf1], 0
mov dword [ebp - 0x10c], edi
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0xe8], edi
mov dword [ebp - 0x110], edi
mov dword [ebp - 0x118], edi
mov dword [ebp - 0x100], edx
mov dword [ebp - 0xfc], eax
call fcn.0042a1e0
add esp, 4
cmp dword [esi + 0x5c], 7
je 0x42fc3b
mov dword [esi + 0x5c], edi
mov dword [esi + 0x14], edi
mov ecx, dword [ebx + 0xe0]
mov dword [ebx + 0x1b4], edi
test ecx, ecx
jne 0x435107
mov eax, dword [esi + 0x58]
xor edx, edx
cmp dword [ebx + 0x114], edx
mov dword [ebp - 0xe4], eax
setne dl
mov dword [ebp - 0x120], edx
lea ecx, [ecx]
cmp byte [ebx + 0x1e], 0
jne 0x42fc3b
cmp dword [ebp - 0x120], 0
mov eax, dword [ebp - 0xe4]
mov edx, dword [ebp - 0x114]
lea ecx, [eax + eax*4]
lea edi, [edx + ecx*4]
mov dword [ebp - 0xf0], edi
je 0x42f73f
mov eax, dword [ebx + 0x11c]
cmp eax, dword [ebp - 0x10c]
jne 0x42f739
mov ecx, dword [ebx + 0x118]
mov edx, dword [ebx + 0x114]
push ecx
call edx
add esp, 4
test eax, eax
jne 0x434f0c
mov dword [ebp - 0x10c], eax
inc dword [ebp - 0x10c]
test byte [edi + 2], 2
je 0x42f775
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov edx, 0x2460
mov dword [ebp - 0xe8], esi
test word [esi + 0x1c], dx
je 0x42f76c
mov eax, esi
call fcn.004283f0
mov eax, 4
mov word [esi + 0x1c], ax
movzx eax, byte [edi]
dec eax
cmp eax, 0x93
ja case.0x42f784.17
jmp dword [eax*4 + 0x43513c]
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0xe0]
test edx, edx
jne 0x4350fb
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe4], edi
jmp case.0x42f784.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [ebp - 0xe4]
mov edx, 4
mov word [ecx + 0x1c], dx
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov eax, dword [edi + 8]
dec eax
mov dword [ebp - 0xe4], eax
jmp case.0x42f784.17
mov edi, dword [edi + 4]
mov edx, dword [ebp - 0xe0]
lea ecx, [edi + edi*4]
mov eax, dword [edx + ecx*8 + 0x10]
mov dword [ebp - 0xe4], eax
jmp case.0x42f784.17
mov edi, dword [edi + 4]
mov edx, dword [ebp - 0xe0]
lea ecx, [edi + edi*4]
lea ecx, [edx + ecx*8]
mov edx, dword [ecx + 0x10]
mov eax, 4
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0xd0], edx
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xe4], eax
jmp case.0x42f784.17
mov eax, dword [edi + 0xc]
mov edx, dword [ebp - 0xe0]
lea ecx, [eax + eax*4]
test byte [edx + ecx*8 + 0x1c], 1
je case.0x42f784.17
cmp dword [edi + 4], 0
mov ebx, dword [ebp - 0xd8]
jne 0x434f1b
mov eax, dword [ebx + 0xa8]
test eax, eax
je 0x434f1b
mov ecx, dword [eax + 0x3c]
dec dword [ebx + 0xb0]
mov edx, dword [ebp - 0xdc]
mov dword [ebx + 0xa8], ecx
mov ecx, dword [ebx + 0x6c]
add dword [edx + 0x40], ecx
mov dword [edx + 0x3c], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 8]
mov dword [ecx + 4], edx
mov edx, dword [eax + 0xc]
mov dword [ecx + 0x1c], edx
mov edx, dword [eax + 0x10]
mov dword [ecx + 8], edx
mov edx, dword [eax + 0x14]
mov dword [ecx + 0x18], edx
mov edx, dword [eax + 0x18]
mov dword [ecx + 0x44], edx
mov dx, word [eax + 0x1c]
mov word [ecx + 0x32], dx
mov edx, dword [ecx]
mov esi, dword [eax + 0x30]
mov dword [edx + 0x30], esi
mov esi, dword [eax + 0x34]
mov dword [edx + 0x34], esi
mov edx, dword [eax + 0x38]
mov dword [ecx + 0x6c], edx
cmp dword [edi + 8], 4
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0x30]
mov eax, dword [eax + 4]
mov ecx, dword [ecx + 0x34]
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0x100], edx
mov dword [ebp - 0xfc], ecx
jne 0x42f903
lea edx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov ecx, dword [eax + edx*4 + 8]
dec ecx
mov dword [ebp - 0xe4], ecx
mov edx, dword [ebx + 4]
mov eax, dword [ebx + 8]
mov dword [ebp - 0x114], edx
mov dword [ebp - 0xe0], eax
jmp case.0x42f784.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xe8]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.0x42f784.17
mov edi, dword [edi + 0x10]
mov ecx, dword [edi]
mov eax, dword [ebp - 0xe8]
mov dword [eax + 0x10], ecx
mov edx, dword [edi + 4]
mov dword [eax + 0x14], edx
jmp case.0x42f784.17
mov eax, dword [ebp - 0xe8]
mov ecx, 8
mov word [eax + 0x1c], cx
mov edx, dword [edi + 0x10]
fld qword [edx]
fstp qword [eax + 8]
jmp case.0x42f784.17
mov ecx, dword [edi + 0x10]
mov byte [edi], 9
call fcn.0040ee50
cmp byte [ebp - 0xec], 1
mov esi, dword [ebp - 0xe8]
mov dword [edi + 4], eax
je 0x42f9f8
push 1
push ecx
or ebx, 0xffffffff
xor eax, eax
mov ecx, ebx
mov edx, esi
call fcn.00428b20
add esp, 8
mov dword [ebp - 0xd4], eax
cmp eax, 0x12
je 0x42fa0a
movzx ecx, byte [ebp - 0xec]
mov eax, esi
call fcn.00428080
test eax, eax
jne 0x42fc2f
mov dword [esi + 0x24], eax
mov ax, word [esi + 0x1c]
mov ecx, 0xfbff
and ax, cx
mov edx, 0x800
or ax, dx
mov word [esi + 0x1c], ax
cmp byte [edi + 1], bl
jne 0x42f9e9
mov eax, dword [edi + 0x10]
mov ecx, dword [ebp - 0xdc]
push eax
push ecx
call fcn.0040cdd0
add esp, 8
mov byte [edi + 1], bl
mov edx, dword [esi + 4]
mov dword [edi + 0x10], edx
mov eax, dword [esi + 0x18]
mov dword [edi + 4], eax
mov ecx, dword [edi + 4]
mov edx, dword [ebp - 0xdc]
cmp ecx, dword [edx + 0x48]
jle 0x42fad8
mov edi, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xdc]
push str.string_or_blob_too_big
add edi, 0x38
call fcn.0040d1e0
mov dword [ebp - 0xd4], 0x12
add esp, 4
mov ebx, dword [ebp - 0xd8]
mov edx, dword [ebx + 0x38]
mov ecx, dword [ebx + 0xa0]
mov eax, dword [ebp - 0xd4]
push edx
mov edx, dword [ebp - 0xe4]
push ecx
push edx
push str.statement_aborts_at__d:___s___s
push eax
mov dword [ebx + 0x5c], eax
call fcn.0040e570
add esp, 0x14
call fcn.0042b5e0
cmp dword [ebp - 0xd4], 0xc0a
jne 0x42fa7a
mov eax, dword [ebp - 0xdc]
mov byte [eax + 0x1e], 1
mov al, byte [ebp - 0xf1]
mov edi, 1
test al, al
je 0x42fa98
mov ecx, dword [ebp - 0xdc]
movzx eax, al
dec eax
call fcn.00442c70
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0x100]
mov edx, dword [ebp - 0xfc]
mov dword [eax + 0x30], ecx
mov dword [eax + 0x34], edx
mov eax, dword [ebp - 0xd8]
push eax
call fcn.0042a250
mov ecx, dword [ebp - 4]
add esp, 4
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0048014c
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp - 0xe8]
mov eax, 0xa02
mov word [esi + 0x1c], ax
mov ecx, dword [edi + 0x10]
mov al, byte [ebp - 0xec]
mov dword [esi + 4], ecx
mov edx, dword [edi + 4]
mov dword [esi + 0x18], edx
mov byte [esi + 0x1f], al
jmp case.0x42f784.17
mov eax, dword [edi + 0x10]
mov esi, dword [ebp - 0xe8]
mov ecx, dword [edi + 4]
push 0
push eax
xor eax, eax
mov edx, esi
call fcn.00428b20
mov cl, byte [ebp - 0xec]
add esp, 8
mov byte [esi + 0x1f], cl
jmp case.0x42f784.17
mov edi, dword [edi + 4]
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x48]
lea edx, [edi + edi*4]
lea esi, [ecx + edx*8 - 0x28]
mov ecx, esi
mov dword [ebp - 0xd0], esi
call fcn.004289d0
test eax, eax
jne 0x42fa0a
mov ebx, dword [ebp - 0xe8]
push 0x800
push esi
call fcn.00428a00
add esp, 8
jmp case.0x42f784.17
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xcc], eax
mov ecx, dword [edi + 4]
lea edx, [ecx + ecx*4]
mov dword [ebp - 0xc8], ecx
mov edi, dword [edi + 8]
mov ecx, dword [ebp - 0xe0]
lea ebx, [ecx + edx*8]
lea edx, [edi + edi*4]
mov dword [ebp - 0xc4], edi
lea edi, [ecx + edx*8]
mov dword [ebp - 0xe8], edi
test eax, eax
je 0x42fbd9
dec eax
mov dword [ebp - 0xcc], eax
mov eax, dword [edi + 0x24]
mov dword [ebp - 0xd0], eax
mov eax, edi
mov dword [edi + 0x24], 0
call fcn.00428ac0
mov ecx, dword [ebp - 0xd0]
mov dword [ebx + 0x24], ecx
mov eax, dword [ebp - 0xcc]
add ebx, 0x28
add edi, 0x28
test eax, eax
jne 0x42fb9c
mov dword [ebp - 0xe8], edi
dec eax
mov dword [ebp - 0xcc], eax
jmp case.0x42f784.17
mov eax, dword [edi + 8]
mov edi, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xe0]
lea ebx, [eax + edx*8]
lea ecx, [edi + edi*4]
lea edx, [eax + ecx*8]
push 0x1000
push edx
mov dword [ebp - 0xe8], ebx
call fcn.00428a00
mov eax, 0x1000
add esp, 8
test word [ebx + 0x1c], ax
je case.0x42f784.17
mov eax, ebx
call fcn.004281c0
test eax, eax
je case.0x42f784.17
mov esi, dword [ebp - 0xd8]
mov ebx, dword [ebp - 0xdc]
push str.out_of_memory
lea edi, [esi + 0x38]
mov eax, ebx
mov byte [ebx + 0x1e], 1
call fcn.0040d1e0
mov dword [ebp - 0xd4], 7
jmp 0x42fa2d
mov eax, dword [edi + 8]
mov edi, dword [edi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xe0]
lea ebx, [eax + ecx*8]
lea edx, [edi + edi*4]
lea eax, [eax + edx*8]
push 0x1000
push eax
mov dword [ebp - 0xe8], ebx
call fcn.00428a00
add esp, 8
jmp case.0x42f784.17
mov esi, dword [ebp - 0xd8]
push 0
mov ecx, esi
call fcn.0042b580
add esp, 4
mov dword [ebp - 0xd4], eax
test eax, eax
jne case.0x42f784.17
push 1
push esi
call fcn.0042b480
add esp, 8
mov dword [ebp - 0xd4], eax
test eax, eax
jne case.0x42f784.17
mov edx, dword [esi + 0x54]
mov ecx, dword [ebp - 0xe0]
add edx, 2
or edx, 1
mov dword [esi + 0x54], edx
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
xor ecx, ecx
mov dword [esi + 0x14], eax
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], ecx
cmp dword [edi + 8], ecx
jle 0x42fd5c
mov eax, dword [ebp - 0xd0]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*8]
mov edx, 0x1000
test word [eax + 0x1c], dx
je 0x42fd22
call fcn.004281c0
test eax, eax
jne 0x42fc35
mov ecx, dword [ebp - 0xcc]
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0xd0]
lea eax, [ecx + eax*8]
call fcn.00428280
mov eax, dword [ebp - 0xcc]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xd0]
lea ecx, [eax + edx*8]
call fcn.0042f300
mov ecx, dword [ebp - 0xcc]
inc ecx
mov dword [ebp - 0xcc], ecx
cmp ecx, dword [edi + 8]
jl 0x42fcf8
mov ecx, dword [ebp - 0xdc]
cmp byte [ecx + 0x1e], 0
jne 0x42fc35
mov edx, dword [ebp - 0xe4]
inc edx
mov eax, esi
mov dword [eax + 0x58], edx
mov edi, 0x64
jmp 0x42fa98
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xe0]
lea esi, [eax + ecx*8]
mov ecx, dword [edi + 8]
mov edi, dword [edi + 0xc]
lea edx, [ecx + ecx*4]
lea ebx, [eax + edx*8]
mov dl, byte [ebx + 0x1c]
lea ecx, [edi + edi*4]
lea edi, [eax + ecx*8]
movzx eax, word [esi + 0x1c]
or dl, al
mov dword [ebp - 0x108], esi
mov dword [ebp - 0xe8], edi
test dl, 1
je 0x42fdc9
mov esi, edi
call fcn.004287b0
jmp case.0x42f784.17
test eax, 0x4000
je 0x42fddf
mov eax, esi
call fcn.00428220
test eax, eax
jne 0x42fc2f
mov eax, 0x4000
test word [ebx + 0x1c], ax
je 0x42fdf9
mov eax, ebx
call fcn.00428220
test eax, eax
jne 0x42fc2f
test byte [esi + 0x1c], 0x12
jne 0x42fe19
movzx esi, byte [ebp - 0xec]
mov eax, dword [ebp - 0x108]
call fcn.004282d0
test eax, eax
jne 0x42fc2f
test byte [ebx + 0x1c], 0x12
jne 0x42fe35
movzx esi, byte [ebp - 0xec]
mov eax, ebx
call fcn.004282d0
test eax, eax
jne 0x42fc2f
mov esi, dword [ebp - 0x108]
mov eax, dword [esi + 0x18]
add eax, dword [ebx + 0x18]
cdq
mov ecx, edx
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], ecx
mov eax, dword [edx + 0x48]
cdq
cmp ecx, edx
jg 0x42fa0a
jl 0x42fe70
cmp dword [ebp - 0xd0], eax
ja 0x42fa0a
mov ax, word [edi + 0x1c]
mov ecx, 0xbf02
and ax, cx
or ax, 2
xor edx, edx
cmp edi, ebx
sete dl
mov word [edi + 0x1c], ax
mov eax, dword [ebp - 0xd0]
add eax, 2
push edx
call fcn.004280a0
add esp, 4
test eax, eax
jne 0x42fc2f
cmp edi, ebx
je 0x42febd
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebx + 4]
mov edx, dword [edi + 4]
push eax
push ecx
push edx
call fcn.00482150
add esp, 0xc
mov eax, dword [esi + 0x18]
mov edx, dword [ebx + 0x18]
mov ecx, dword [esi + 4]
add edx, dword [edi + 4]
push eax
push ecx
push edx
call fcn.00482150
mov ecx, dword [ebp - 0xd0]
mov eax, dword [edi + 4]
mov byte [ecx + eax], 0
mov eax, dword [ebp - 0xd0]
mov edx, dword [edi + 4]
mov byte [eax + edx + 1], 0
mov al, byte [ebp - 0xec]
mov ecx, 0x200
add esp, 0xc
or word [edi + 0x1c], cx
mov edx, dword [ebp - 0xd0]
mov dword [edi + 0x18], edx
mov byte [edi + 0x1f], al
jmp case.0x42f784.17
mov eax, dword [edi + 4]
mov edx, dword [ebp - 0xe0]
lea ecx, [eax + eax*4]
lea ebx, [edx + ecx*8]
mov esi, ebx
call fcn.0042f450
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
call fcn.0042f450
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xe0]
lea ecx, [eax + edx*8]
movzx edx, word [ebx + 0x1c]
movzx eax, word [esi + 0x1c]
or edx, eax
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0xd0], edx
test dl, 1
jne 0x4301e4
mov cl, byte [ebx + 0x1c]
and cl, byte [esi + 0x1c]
test cl, 4
je 0x42ffc5
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebx + 0x14]
mov dword [ebp - 0xc4], ecx
mov edx, dword [esi + 0x10]
mov dword [ebp - 0xc0], edx
mov edx, dword [esi + 0x14]
mov dword [ebp - 0xbc], edx
movzx edx, byte [edi]
add edx, 0xffffffaa
cmp edx, 3
ja case.default.0x42ffa5
jmp dword [edx*4 + 0x43538c]
push ecx
push eax
lea eax, [ebp - 0xc0]
push eax
call fcn.0040fd50
add esp, 0xc
test eax, eax
je 0x4300b2
mov eax, ebx
call fcn.00428570
fstp qword [ebp - 0xb8]
mov eax, esi
call fcn.00428570
fst qword [ebp - 0xb0]
movzx eax, byte [edi]
add eax, 0xffffffaa
cmp eax, 3
ja case.default.0x42ffee
jmp dword [eax*4 + 0x43539c]
push ecx
push eax
lea edx, [ebp - 0xc0]
call fcn.0040fde0
add esp, 8
test eax, eax
jne 0x42ffc5
jmp 0x4300b2
push ecx
push eax
lea ecx, [ebp - 0xc0]
push ecx
call fcn.0040fe30
add esp, 0xc
test eax, eax
jne 0x42ffc5
jmp 0x4300b2
mov edx, eax
or edx, ecx
je 0x4301e4
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x430054
cmp dword [ebp - 0xc0], 0
jne 0x430054
cmp dword [ebp - 0xbc], 0x80000000
je 0x42ffc5
push ecx
mov ecx, dword [ebp - 0xc0]
push eax
mov eax, dword [ebp - 0xbc]
push eax
push ecx
call fcn.00489af0
jmp 0x4300a6
mov edx, eax
or edx, ecx
je 0x4301e4
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x430091
mov eax, 1
xor ecx, ecx
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], ecx
push ecx
mov ecx, dword [ebp - 0xc0]
push eax
mov eax, dword [ebp - 0xbc]
push eax
push ecx
call fcn.00489ba0
mov dword [ebp - 0xbc], edx
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xe8]
mov edx, dword [ebp - 0xc0]
mov dword [eax + 0x10], edx
mov ecx, dword [ebp - 0xbc]
mov dx, word [eax + 0x1c]
mov dword [eax + 0x14], ecx
mov ecx, 0xbf04
and dx, cx
or dx, 4
mov word [eax + 0x1c], dx
jmp case.0x42f784.17
fadd qword [ebp - 0xb8]
jmp 0x43018c
fsub qword [ebp - 0xb8]
jmp 0x43018c
fmul qword [ebp - 0xb8]
jmp 0x43018c
fld qword [ebp - 0xb8]
fld st(0)
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x4301e0
fdivp st(1)
jmp 0x43018c
fld qword [ebp - 0xb8]
call fcn.004918d6
mov esi, eax
mov edi, edx
mov dword [ebp - 0xc8], esi
mov dword [ebp - 0xc4], edi
call fcn.004918d6
mov ecx, esi
or ecx, edi
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], edx
je 0x4301e4
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x430171
mov esi, 1
xor edi, edi
mov dword [ebp - 0xc8], esi
mov dword [ebp - 0xc4], edi
push edi
push esi
push edx
push eax
call fcn.00489ba0
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x12c], edx
fild qword [ebp - 0x130]
sub esp, 8
fst qword [ebp - 0xb0]
fstp qword [esp]
call fcn.0040ee20
add esp, 8
test eax, eax
jne 0x4301e4
mov eax, dword [ebp - 0xe8]
fld qword [ebp - 0xb0]
mov dx, word [eax + 0x1c]
fstp qword [eax + 8]
mov ecx, 0xbf08
and dx, cx
or dx, 8
mov word [eax + 0x1c], dx
test byte [ebp - 0xd0], 8
jne case.0x42f784.17
mov esi, eax
call fcn.004285c0
jmp case.0x42f784.17
fstp st(0)
fstp st(0)
mov esi, dword [ebp - 0xe8]
call fcn.004287b0
jmp case.0x42f784.17
movzx edx, byte [edi + 3]
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x88], ecx
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0x84], edx
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
xor eax, eax
mov dword [ebp - 0xe8], ebx
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xd0], eax
test edx, edx
jle 0x430293
mov edx, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0x88]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0xcc]
mov edx, 0x1000
test word [eax + 0x1c], dx
je 0x430270
call fcn.004281c0
test eax, eax
jne 0x42fc2f
mov eax, dword [ebp - 0xcc]
mov ecx, eax
call fcn.0042f300
mov eax, dword [ebp - 0xd0]
add dword [ebp - 0xcc], 0x28
inc eax
mov dword [ebp - 0xd0], eax
cmp eax, dword [ebp - 0x84]
jl 0x43023d
cmp byte [edi + 1], 0xfb
mov eax, dword [edi + 0x10]
jne 0x4302ac
mov dword [ebp - 0xc8], eax
xor eax, eax
mov dword [ebp - 0xc4], eax
jmp 0x4302bc
mov dword [ebp - 0xc4], eax
mov ecx, dword [eax]
mov dword [ebp - 0xc8], ecx
xor eax, eax
mov esi, dword [ebp - 0xdc]
mov edx, 1
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], eax
lea eax, [ebp - 0xc0]
mov word [ebp - 0xa4], dx
mov dword [ebp - 0xc0], esi
call fcn.00428ac0
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xc8]
and eax, 0xbf01
or eax, 1
mov word [ebp - 0xa4], ax
mov dword [ebp - 0x94], 0
test byte [ecx + 3], 8
je 0x43031f
mov edx, dword [edi - 4]
mov dword [ebp - 0x90], edx
mov eax, dword [ebp - 0x100]
mov ecx, dword [ebp - 0xfc]
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x84]
push edx
mov edx, dword [ebp - 0xc8]
push eax
mov eax, dword [edx + 0xc]
lea ecx, [ebp - 0xc8]
push ecx
call eax
mov ebx, dword [ebp - 0xc4]
mov ecx, dword [esi + 0x30]
mov edx, dword [esi + 0x34]
add esp, 0xc
mov dword [ebp - 0x100], ecx
mov dword [ebp - 0xfc], edx
test ebx, ebx
je 0x430389
mov eax, dword [edi + 4]
push eax
call fcn.0042bb60
mov ecx, dword [ebp - 0xc4]
add esp, 4
mov dword [edi + 0x10], ecx
mov byte [edi + 1], 0xf9
cmp byte [esi + 0x1e], 0
jne 0x434fb5
cmp dword [ebp - 0x94], 0
je 0x4303ce
mov bl, 1
lea edi, [ebp - 0xc0]
call fcn.004290f0
mov edi, dword [ebp - 0xd8]
push eax
push 0x4a05bc
add edi, 0x38
mov eax, esi
call fcn.0040d1e0
mov edx, dword [ebp - 0x94]
add esp, 8
mov dword [ebp - 0xd4], edx
movzx ecx, byte [ebp - 0xec]
lea eax, [ebp - 0xc0]
call fcn.00428080
mov esi, dword [ebp - 0xe8]
lea ebx, [ebp - 0xc0]
mov eax, esi
call fcn.00428ac0
mov ecx, esi
call fcn.004289d0
test eax, eax
jne 0x42fa0a
jmp case.0x42f784.17
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xe0]
lea ebx, [eax + ecx*8]
mov ecx, dword [edi + 8]
lea edx, [ecx + ecx*4]
lea ecx, [eax + edx*8]
mov edx, dword [edi + 0xc]
lea edx, [edx + edx*4]
lea esi, [eax + edx*8]
mov al, byte [ecx + 0x1c]
or al, byte [ebx + 0x1c]
mov dword [ebp - 0xe8], esi
test al, 1
je 0x430442
call fcn.004287b0
jmp case.0x42f784.17
call fcn.00428500
mov ecx, ebx
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
call fcn.00428500
mov ebx, eax
mov esi, edx
mov dword [ebp - 0xc0], ebx
mov dword [ebp - 0xbc], esi
mov al, byte [edi]
mov byte [ebp - 0xb8], al
cmp al, 0x52
jne 0x430487
and dword [ebp - 0xd0], ebx
and dword [ebp - 0xcc], esi
jmp 0x4305ae
cmp al, 0x53
jne 0x43049c
or dword [ebp - 0xd0], ebx
or dword [ebp - 0xcc], esi
jmp 0x4305ae
mov ecx, ebx
or ecx, esi
je 0x4305ae
test esi, esi
jg 0x4304e6
jl 0x4304b0
test ebx, ebx
jae 0x4304db
mov dl, 0xa9
sub dl, al
mov al, dl
mov byte [ebp - 0xb8], al
cmp esi, 0xffffffff
jl 0x430513
jg 0x4304c8
cmp ebx, 0xffffffc0
jbe 0x430513
neg ebx
adc esi, 0
neg esi
mov dword [ebp - 0xc0], ebx
mov dword [ebp - 0xbc], esi
test esi, esi
jl 0x43053a
jg 0x4304e6
cmp ebx, 0x40
jb 0x43053a
cmp dword [ebp - 0xcc], 0
jg 0x430529
jl 0x4304fa
cmp dword [ebp - 0xd0], 0
jae 0x430529
cmp al, 0x54
je 0x430529
or eax, 0xffffffff
cdq
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
jmp 0x4305ae
mov dword [ebp - 0xc0], 0x40
mov dword [ebp - 0xbc], 0
jmp 0x4304e6
xor eax, eax
cdq
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
jmp 0x4305ae
mov edx, dword [ebp - 0xcc]
cmp al, 0x54
mov eax, dword [ebp - 0xd0]
mov ecx, ebx
jne 0x430557
call fcn.00491880
mov esi, eax
mov edi, edx
jmp 0x430596
call fcn.00491b20
cmp dword [ebp - 0xcc], 0
mov esi, eax
mov edi, edx
mov dword [ebp - 0xc8], esi
mov dword [ebp - 0xc4], edi
jg 0x4305a2
jl 0x430580
cmp dword [ebp - 0xd0], 0
jae 0x4305a2
mov ecx, 0x40
sub ecx, ebx
or eax, 0xffffffff
or edx, 0xffffffff
call fcn.00491880
or esi, eax
or edi, edx
mov dword [ebp - 0xc4], edi
mov dword [ebp - 0xc8], esi
mov dword [ebp - 0xd0], esi
mov dword [ebp - 0xcc], edi
mov eax, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0xd0]
mov dword [eax + 0x10], ecx
mov edx, dword [ebp - 0xcc]
mov cx, word [eax + 0x1c]
mov dword [eax + 0x14], edx
mov edx, 0xbf04
and cx, dx
or cx, 4
mov word [eax + 0x1c], cx
jmp case.0x42f784.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
call fcn.00428660
mov eax, dword [edi + 8]
cdq
add dword [esi + 0x10], eax
adc dword [esi + 0x14], edx
jmp case.0x42f784.17
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xe0]
lea esi, [eax + edx*8]
call fcn.0042f450
test byte [esi + 0x1c], 8
je 0x430621
call fcn.004285c0
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x430640
mov edi, dword [edi + 8]
test edi, edi
je 0x434fc9
dec edi
mov dword [ebp - 0xe4], edi
jmp case.0x42f784.17
and eax, 0xbf04
or eax, 4
mov word [esi + 0x1c], ax
jmp case.0x42f784.17
mov edi, dword [edi + 4]
mov edx, dword [ebp - 0xe0]
lea ecx, [edi + edi*4]
test byte [edx + ecx*8 + 0x1c], 4
lea esi, [edx + ecx*8]
je case.0x42f784.17
call fcn.00428690
jmp case.0x42f784.17
mov edi, dword [edi + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [edi + edi*4]
lea edi, [ecx + eax*8]
movzx eax, word [edi + 0x1c]
test al, 1
jne case.0x42f784.17
mov ecx, eax
shr ecx, 3
and ecx, 2
or ecx, eax
mov word [edi + 0x1c], cx
test cl, 2
jne 0x4306b6
test cl, 0xc
je 0x4306b6
movzx esi, byte [ebp - 0xec]
mov eax, edi
call fcn.004282d0
mov eax, 0xfff3
and word [edi + 0x1c], ax
movzx eax, word [edi + 0x1c]
test eax, 0x4000
je 0x4306e5
mov eax, edi
call fcn.00428220
mov ecx, 0xbfe3
and word [edi + 0x1c], cx
mov dword [ebp - 0xd4], eax
jmp case.0x42f784.17
mov ecx, 0xbfe3
and word [edi + 0x1c], cx
mov dword [ebp - 0xd4], 0
jmp case.0x42f784.17
mov edi, dword [edi + 4]
mov eax, dword [ebp - 0xe0]
lea edx, [edi + edi*4]
lea edi, [eax + edx*8]
movzx eax, word [edi + 0x1c]
test al, 1
jne case.0x42f784.17
test al, 0x10
jne 0x43074b
test al, 2
jne 0x430732
test al, 0xc
je 0x430732
movzx esi, byte [ebp - 0xec]
mov eax, edi
call fcn.004282d0
mov cx, word [edi + 0x1c]
mov edx, 0xbf10
and cx, dx
or cx, 0x10
mov word [edi + 0x1c], cx
jmp case.0x42f784.17
and eax, 0xff10
mov word [edi + 0x1c], ax
jmp case.0x42f784.17
mov edi, dword [edi + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [edi + edi*4]
lea eax, [ecx + eax*8]
call fcn.004286f0
jmp case.0x42f784.17
mov edi, dword [edi + 4]
mov eax, dword [ebp - 0xe0]
lea edx, [edi + edi*4]
test byte [eax + edx*8 + 0x1c], 1
lea esi, [eax + edx*8]
jne case.0x42f784.17
call fcn.00428660
jmp case.0x42f784.17
mov edi, dword [edi + 4]
mov edx, dword [ebp - 0xe0]
lea ecx, [edi + edi*4]
test byte [edx + ecx*8 + 0x1c], 1
lea esi, [edx + ecx*8]
jne case.0x42f784.17
call fcn.00428690
jmp case.0x42f784.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x108], edx
mov dx, word [edx + 0x1c]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov word [ebp - 0xca], dx
mov bl, byte [ebp - 0xca]
mov dword [ebp - 0xf8], eax
mov ax, word [eax + 0x1c]
mov dl, al
or dl, bl
mov word [ebp - 0xc8], ax
test dl, 1
je 0x43086c
mov dl, byte [edi + 3]
test dl, dl
jns 0x430827
mov esi, dword [ebp - 0xf8]
and al, bl
mov ebx, dword [ebp - 0x108]
test al, 1
mov eax, 0
sete al
jmp 0x4308ff
test dl, 0x10
je 0x430854
mov edi, dword [edi + 8]
lea eax, [edi + edi*4]
lea eax, [ecx + eax*8]
mov cx, word [eax + 0x1c]
mov edx, 0xbf01
and cx, dx
or cx, 1
mov dword [ebp - 0xe8], eax
mov word [eax + 0x1c], cx
jmp case.0x42f784.17
test dl, 8
je case.0x42f784.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe4], edi
jmp case.0x42f784.17
mov al, byte [edi + 3]
mov ebx, dword [ebp - 0x108]
and al, 0x67
mov byte [ebp - 0xcc], al
je 0x4308bf
mov esi, dword [ebp - 0xec]
push esi
mov edi, ebx
call fcn.0042f4d0
mov al, byte [ebp - 0xcc]
add esp, 4
push esi
mov esi, dword [ebp - 0xf8]
mov edi, esi
call fcn.0042f4d0
mov eax, dword [ebp - 0xdc]
add esp, 4
cmp byte [eax + 0x1e], 0
jne 0x42fc2f
mov edi, dword [ebp - 0xf0]
jmp 0x4308c5
mov esi, dword [ebp - 0xf8]
mov ecx, 0x4000
test word [ebx + 0x1c], cx
je 0x4308d7
mov eax, ebx
call fcn.00428220
mov edx, 0x4000
test word [esi + 0x1c], dx
je 0x4308e9
mov eax, esi
call fcn.00428220
mov eax, dword [edi + 0x10]
push eax
mov eax, ebx
mov ecx, esi
call fcn.00428d20
mov ecx, dword [ebp - 0xe0]
add esp, 4
mov dword [ebp - 0xd0], eax
movzx edx, byte [edi]
add edx, 0xffffffb5
cmp edx, 4
ja case.default.0x430910
jmp dword [edx*4 + 0x4353ac]
xor edx, edx
test eax, eax
sete dl
jmp 0x43094b
xor edx, edx
test eax, eax
setne dl
jmp 0x43094b
xor edx, edx
test eax, eax
sets dl
jmp 0x43094b
xor edx, edx
test eax, eax
setle dl
jmp 0x43094b
xor edx, edx
test eax, eax
setg dl
jmp 0x43094b
xor edx, edx
test eax, eax
setns dl
mov eax, edx
mov dword [ebp - 0xd0], eax
test byte [edi + 3], 0x10
je 0x4309a1
mov edi, dword [edi + 8]
lea eax, [edi + edi*4]
mov dx, word [ecx + eax*8 + 0x1c]
lea ecx, [ecx + eax*8]
mov eax, 0xbf04
and dx, ax
or dx, 4
mov word [ecx + 0x1c], dx
mov eax, dword [ebp - 0xd0]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov dword [ebp - 0xe8], ecx
mov cl, byte [ebp - 0xca]
mov byte [ebx + 0x1c], cl
mov dl, byte [ebp - 0xc8]
mov byte [esi + 0x1c], dl
jmp case.0x42f784.17
test eax, eax
je 0x4309af
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe4], edi
mov cl, byte [ebp - 0xca]
mov byte [ebx + 0x1c], cl
mov dl, byte [ebp - 0xc8]
mov byte [esi + 0x1c], dl
jmp case.0x42f784.17
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x118], eax
jmp case.0x42f784.17
mov ecx, dword [edi + 0xc]
mov dword [ebp - 0xd0], ecx
mov ebx, dword [edi + 0x10]
mov dword [ebp - 0xc0], ebx
mov edx, dword [edi + 4]
mov dword [ebp - 0xc8], edx
mov eax, dword [edi + 8]
mov dword [ebp - 0xc4], eax
xor eax, eax
mov dword [ebp - 0xcc], eax
test ecx, ecx
jle 0x430aad
mov edi, dword [ebp - 0x118]
mov esi, dword [ebp - 0xe0]
jmp 0x430a1c
mov ebx, dword [ebp - 0xc0]
test edi, edi
je 0x430a25
mov ecx, dword [edi + eax*4]
jmp 0x430a27
mov ecx, eax
mov dword [ebp - 0xbc], ecx
mov edx, dword [ebx + eax*4 + 0xc]
mov dword [ebp - 0xb8], edx
mov ebx, dword [ebx + 8]
movzx eax, byte [ebx + eax]
mov dword [ebp - 0xb4], eax
push edx
mov edx, dword [ebp - 0xc4]
lea eax, [ecx + edx]
add ecx, dword [ebp - 0xc8]
lea eax, [eax + eax*4]
lea ecx, [ecx + ecx*4]
lea eax, [esi + eax*8]
lea ecx, [esi + ecx*8]
call fcn.00428d20
add esp, 4
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x430a96
mov eax, dword [ebp - 0xcc]
inc eax
mov dword [ebp - 0xcc], eax
cmp eax, dword [ebp - 0xd0]
jl 0x430a16
mov dword [ebp - 0x118], 0
jmp case.0x42f784.17
cmp dword [ebp - 0xb4], 0
je 0x430aad
mov edx, dword [ebp - 0x110]
neg edx
mov dword [ebp - 0x110], edx
mov dword [ebp - 0x118], 0
jmp case.0x42f784.17
mov eax, dword [ebp - 0x110]
test eax, eax
jns 0x430ad5
mov edi, dword [edi + 4]
dec edi
mov dword [ebp - 0xe4], edi
jmp case.0x42f784.17
jne 0x430ae6
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe4], edi
jmp case.0x42f784.17
mov edi, dword [edi + 0xc]
dec edi
mov dword [ebp - 0xe4], edi
jmp case.0x42f784.17
mov eax, dword [edi + 4]
mov esi, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 0x1c], 1
lea ecx, [esi + eax*8]
je 0x430b12
mov edx, 2
jmp 0x430b24
call fcn.00428500
or eax, edx
je 0x430b22
mov edx, 1
jmp 0x430b24
xor edx, edx
mov dword [ebp - 0xd0], edx
mov eax, dword [edi + 8]
lea ecx, [eax + eax*4]
test byte [esi + ecx*8 + 0x1c], 1
lea ecx, [esi + ecx*8]
je 0x430b41
mov eax, 2
jmp 0x430b59
call fcn.00428500
or eax, edx
mov edx, dword [ebp - 0xd0]
je 0x430b57
mov eax, 1
jmp 0x430b59
xor eax, eax
mov dword [ebp - 0xcc], eax
cmp byte [edi], 0x45
jne 0x430b71
lea eax, [eax + edx*2]
movzx eax, byte [edx + eax + 0x49d60c]
jmp 0x430b7c
lea ecx, [eax + edx*2]
movzx eax, byte [edx + ecx + 0x49d640]
mov dword [ebp - 0xd0], eax
mov edi, dword [edi + 0xc]
lea edx, [edi + edi*4]
lea ecx, [esi + edx*8]
mov dword [ebp - 0xe8], ecx
cmp eax, 2
jne 0x430baf
mov ax, word [ecx + 0x1c]
mov edx, 0xbf01
and ax, dx
or ax, 1
mov word [ecx + 0x1c], ax
jmp case.0x42f784.17
cdq
mov dword [ecx + 0x10], eax
mov ax, word [ecx + 0x1c]
mov dword [ecx + 0x14], edx
mov edx, 0xbf04
and ax, dx
or ax, 4
mov word [ecx + 0x1c], ax
jmp case.0x42f784.17
mov eax, dword [edi + 4]
mov edi, dword [edi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xe0]
test byte [eax + ecx*8 + 0x1c], 1
lea edx, [edi + edi*4]
lea ecx, [eax + ecx*8]
lea esi, [eax + edx*8]
mov dword [ebp - 0xe8], esi
je 0x430bfe
call fcn.004287b0
jmp case.0x42f784.17
call fcn.00428500
or eax, edx
jne 0x430c1c
mov eax, 1
cdq
push edx
push eax
call fcn.00428800
add esp, 8
jmp case.0x42f784.17
xor eax, eax
cdq
push edx
push eax
call fcn.00428800
add esp, 8
jmp case.0x42f784.17
mov eax, dword [edi + 4]
mov edi, dword [edi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xe0]
test byte [eax + ecx*8 + 0x1c], 1
lea edx, [edi + edi*4]
lea ecx, [eax + ecx*8]
lea esi, [eax + edx*8]
mov dword [ebp - 0xe8], esi
je 0x430c5d
call fcn.004287b0
jmp case.0x42f784.17
call fcn.00428500
not edx
not eax
push edx
push eax
call fcn.00428800
add esp, 8
jmp case.0x42f784.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea esi, [ecx + eax*8]
je 0x430c90
mov eax, dword [edi + 0xc]
jmp 0x430cbf
mov eax, esi
call fcn.00428570
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x430ca9
mov eax, 1
jmp 0x430cab
xor eax, eax
mov dword [ebp - 0xd0], eax
cmp byte [edi], 0x1c
jne 0x430cc5
xor edx, edx
test eax, eax
sete dl
mov eax, edx
mov dword [ebp - 0xd0], eax
test eax, eax
je 0x430cd8
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe4], edi
jmp case.0x42f784.17
cmp byte [edi], 0x1a
jne case.0x42f784.17
mov eax, 4
mov word [esi + 0x1c], ax
mov dword [esi + 0x10], 1
mov dword [esi + 0x14], 0
jmp case.0x42f784.17
mov eax, dword [edi + 4]
mov edx, dword [ebp - 0xe0]
lea ecx, [eax + eax*4]
test byte [edx + ecx*8 + 0x1c], 1
je case.0x42f784.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe4], edi
jmp case.0x42f784.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
jne case.0x42f784.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe4], edi
jmp case.0x42f784.17
mov ecx, dword [edi + 4]
mov ebx, dword [ebp - 0xd8]
xor eax, eax
mov dword [ebp - 0xc0], ecx
mov edx, dword [edi + 8]
xor esi, esi
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], 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 - 0xbc], edx
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0xb8], esi
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0x94], eax
mov eax, dword [ebx + 0x44]
mov dword [ebp - 0xb4], esi
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0xb8], esi
mov eax, dword [esi]
mov dword [ebp - 0xb0], eax
test eax, eax
je 0x430e5e
call fcn.0042c0f0
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x4350aa
mov eax, dword [ebp - 0xb8]
cmp byte [eax + 0x1c], 0
je 0x430dfa
mov dword [ebp - 0xd0], 0
jmp 0x430ea0
mov ecx, dword [eax + 0x50]
mov edx, ebx
cmp ecx, dword [edx + 0x54]
jne 0x430e18
mov ecx, dword [eax + 0x54]
mov dword [ebp - 0xd0], ecx
mov edx, dword [eax + 0x60]
mov dword [ebp - 0xb4], edx
jmp 0x430e96
cmp byte [eax + 0x1f], 0
mov esi, dword [ebp - 0xb0]
je 0x430e47
lea eax, [ebp - 0xc8]
push eax
call fcn.00420420
mov ecx, dword [ebp - 0xc8]
add esp, 4
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd0], ecx
jmp 0x430e90
lea edx, [ebp - 0xd0]
push edx
call fcn.004204a0
add esp, 4
mov dword [ebp - 0xd4], eax
jmp 0x430e90
mov eax, dword [esi + 0x10]
test eax, eax
jle 0x430deb
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0x4c], eax
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0xd0], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0xb4], edx
test byte [edi + 3], 0x20
je 0x430e8a
xor eax, eax
jmp 0x430e8d
mov eax, dword [ebx + 0x54]
mov dword [esi + 0x50], eax
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xd0]
test ecx, ecx
jne 0x430ebf
mov eax, dword [ebp - 0x94]
mov cx, word [eax + 0x1c]
mov edx, 0xbf01
and cx, dx
or cx, 1
mov word [eax + 0x1c], cx
jmp case.0x42f784.17
mov edx, dword [ebp - 0xdc]
cmp ecx, dword [edx + 0x48]
ja 0x42fa0a
mov edx, dword [eax + 0x14]
mov esi, dword [ebp - 0xd8]
mov dword [ebp - 0xa4], edx
mov ecx, dword [eax + 0x58]
mov dword [ebp - 0xac], ecx
mov ebx, dword [eax + 0x50]
cmp ebx, dword [esi + 0x54]
jne 0x430efc
mov eax, dword [eax + 0x5c]
mov dword [ebp - 0xa8], eax
jmp 0x43113f
lea ecx, [ecx + edx*4]
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0x54], 0
mov dword [eax + 0x5c], ecx
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xd0]
mov dword [ecx + 0x54], edx
mov ecx, dword [ebp - 0xb8]
mov eax, dword [esi + 0x54]
mov dword [ecx + 0x50], eax
mov ecx, dword [ebp - 0xb4]
test ecx, ecx
je 0x430f3c
mov dword [ebp - 0x98], ecx
jmp 0x430fa7
mov edx, dword [ebp - 0xb8]
cmp byte [edx + 0x1f], 0
mov esi, dword [ebp - 0xb0]
je 0x430f5c
lea eax, [ebp - 0x54]
push eax
call fcn.00420c00
add esp, 4
jmp 0x430f72
xor eax, eax
cmp byte [esi + 0x53], 1
jne 0x430f72
lea ecx, [ebp - 0x54]
push 1
push ecx
call fcn.00420b70
add esp, 8
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0x98], eax
cmp edx, dword [ebp - 0x54]
ja 0x430f94
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 0xb4], eax
mov dword [ecx + 0x60], eax
jmp 0x430fa1
mov edx, dword [ebp - 0xb8]
mov dword [edx + 0x60], 0
mov ecx, dword [ebp - 0x98]
mov al, byte [ecx]
cmp al, 0x80
jae 0x430fba
movzx edx, al
mov dword [ebp - 0x60], edx
mov eax, 1
jmp 0x430fce
lea esi, [ebp - 0x60]
call fcn.0040fb90
mov edx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x98]
movzx eax, al
movzx eax, al
mov dword [ebp - 0x58], eax
cmp edx, 0x18003
jbe 0x430ff1
mov eax, 0x1010e
call fcn.00472d10
mov dword [ebp - 0xd4], eax
jmp case.0x42f784.17
mov esi, dword [ebp - 0xa4]
lea ebx, [esi + esi*4 + 3]
mov dword [ebp - 0xa0], ebx
cmp ebx, edx
jle 0x43100d
mov ebx, edx
mov dword [ebp - 0xa0], ebx
cmp dword [ebp - 0xb4], 0
jne 0x431070
cmp dword [ebp - 0x54], ebx
jge 0x431070
mov edx, dword [ebp - 0xb8]
xor ecx, ecx
mov word [ebp - 0x74], cx
mov dword [ebp - 0x90], ecx
movzx eax, byte [edx + 0x1f]
push eax
push ecx
mov ecx, dword [ebp - 0xb0]
lea eax, [ebp - 0x90]
call fcn.00428fa0
add esp, 8
mov dword [ebp - 0xd4], eax
test eax, eax
jne case.0x42f784.17
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x60]
mov ebx, dword [ebp - 0xa0]
mov esi, dword [ebp - 0xa4]
mov dword [ebp - 0x98], ecx
lea eax, [ecx + ebx]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x58]
add eax, ecx
mov dword [ebp - 0x68], eax
xor eax, eax
mov dword [ebp - 0x9c], eax
test esi, esi
jle 0x4310f6
mov ecx, dword [ebp - 0x64]
cmp dword [ebp - 0x68], ecx
mov ecx, dword [ebp - 0xa8]
jae 0x4311a0
mov dword [ecx + eax*4], edx
mov ecx, dword [ebp - 0x68]
mov al, byte [ecx]
cmp al, 0x80
jae 0x4310b4
movzx edx, al
inc ecx
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x68], ecx
jmp 0x4310c2
lea esi, [ebp - 0x50]
call fcn.0040fb90
movzx eax, al
add dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0xac]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0x50]
call fcn.0042c280
mov edx, dword [ebp - 0x60]
add edx, eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x60], edx
cmp edx, eax
jae 0x4311aa
mov edx, dword [ebp - 0x64]
inc edx
mov dword [ebp - 0x68], edx
lea eax, [ebp - 0x90]
push eax
call fcn.00428460
mov eax, dword [ebp - 0x68]
mov ecx, 1
mov word [ebp - 0x74], cx
mov ecx, dword [ebp - 0x64]
add esp, 4
cmp eax, ecx
ja 0x4312f3
mov edx, dword [ebp - 0x60]
mov esi, dword [ebp - 0xd0]
cmp edx, esi
ja 0x4312f3
cmp eax, ecx
jne 0x431139
cmp edx, esi
jne 0x4312f3
mov ecx, dword [ebp - 0xac]
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xa8]
cmp dword [eax + edx*4], 0
je 0x431265
cmp dword [ebp - 0xb4], 0
je 0x4311c8
mov eax, dword [ebp - 0x94]
mov esi, 0x2460
test word [eax + 0x1c], si
je 0x431186
call fcn.004283f0
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0xac]
mov edx, dword [ebp - 0xbc]
mov ecx, dword [ecx + edx*4]
push ecx
mov ecx, dword [ebp - 0xa8]
mov ecx, dword [ecx + edx*4]
add ecx, dword [ebp - 0xb4]
mov esi, eax
jmp 0x43124c
mov dword [ecx + eax*4], 0
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x9c]
inc eax
mov dword [ebp - 0x9c], eax
cmp eax, dword [ebp - 0xa4]
jl 0x43108a
jmp 0x4310f6
mov eax, dword [ecx + edx*4]
call fcn.0042c280
mov ebx, dword [ebp - 0x94]
mov dword [ebp - 0xa0], eax
lea eax, [ebp - 0x90]
call fcn.00428ac0
mov edx, dword [ebp - 0xb8]
movzx eax, byte [edx + 0x1f]
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ebp - 0xbc]
mov ebx, dword [ebp - 0xa0]
push eax
mov eax, dword [ecx + edx*4]
mov ecx, dword [ebp - 0xb0]
push eax
lea eax, [ebp - 0x90]
call fcn.00428fa0
add esp, 8
mov dword [ebp - 0xd4], eax
test eax, eax
jne case.0x42f784.17
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xbc]
mov esi, dword [ebp - 0x94]
mov dword [ebp - 0x98], ecx
mov edx, dword [edx + eax*4]
push edx
call fcn.0042c350
mov eax, dword [ebp - 0x94]
mov cl, byte [ebp - 0xec]
add esp, 4
mov byte [eax + 0x1f], cl
jmp 0x43129e
cmp byte [edi + 1], 0xf8
jne 0x431284
mov edx, dword [edi + 0x10]
mov ebx, dword [ebp - 0x94]
push 0x800
push edx
call fcn.00428a00
add esp, 8
jmp 0x43129e
mov eax, dword [ebp - 0x94]
mov cx, word [eax + 0x1c]
mov edx, 0xbf01
and cx, dx
or cx, 1
mov word [eax + 0x1c], cx
cmp dword [ebp - 0x6c], 0
je 0x4312dd
mov eax, dword [ebp - 0x94]
mov ecx, 0xe7ff
and word [eax + 0x1c], cx
mov eax, dword [ebp - 0x94]
mov edx, 0x200
or word [eax + 0x1c], dx
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x8c]
mov dword [eax + 4], ecx
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x94]
mov dword [eax + 0x24], edx
mov eax, dword [ebp - 0x94]
call fcn.004281c0
mov dword [ebp - 0xd4], eax
jmp case.0x42f784.17
mov eax, 0x1015e
call fcn.00472d10
mov dword [ebp - 0xd4], eax
jmp case.0x42f784.17
mov ecx, dword [edi + 0x10]
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xd0], ecx
mov edi, dword [edi + 4]
lea edx, [edi + edi*4]
lea edi, [eax + edx*8]
mov al, byte [ecx]
mov byte [ebp - 0xcc], al
test al, al
je 0x431373
lea esp, [esp]
inc ecx
mov dword [ebp - 0xd0], ecx
mov ecx, 0x4000
test word [edi + 0x1c], cx
je 0x43134f
mov eax, edi
call fcn.00428220
mov al, byte [ebp - 0xcc]
mov edx, dword [ebp - 0xec]
push edx
call fcn.0042f4d0
mov ecx, dword [ebp - 0xd0]
mov al, byte [ecx]
add esp, 4
add edi, 0x28
mov byte [ebp - 0xcc], al
test al, al
jne 0x431330
inc ecx
mov dword [ebp - 0xd0], ecx
jmp case.0x42f784.17
xor esi, esi
mov dword [ebp - 0xc8], esi
mov dword [ebp - 0xc4], esi
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xb0], esi
mov eax, dword [edi + 4]
mov dword [ebp - 0x9c], eax
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0x98], ecx
mov ecx, dword [ebp - 0xe0]
lea edx, [eax + eax*4]
lea ebx, [ecx + edx*8]
mov edx, dword [ebp - 0xd8]
movzx edx, byte [edx + 0x65]
mov dword [ebp - 0xa4], ebx
mov eax, dword [edi + 8]
mov dword [ebp - 0x9c], eax
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8 - 0x28]
mov dword [ebp - 0x94], edx
mov dword [ebp - 0xa0], eax
mov edi, dword [edi + 0xc]
lea edx, [edi + edi*4]
lea ecx, [ecx + edx*8]
mov edi, ebx
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0xcc], edi
cmp ebx, eax
ja 0x4314eb
mov esi, dword [ebp - 0x98]
test esi, esi
je 0x43143f
mov edx, dword [ebp - 0xec]
mov ecx, edi
push edx
sub ecx, ebx
mov eax, 0x66666667
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov al, byte [eax + esi]
call fcn.0042f4d0
mov ebx, dword [ebp - 0xa4]
mov edi, dword [ebp - 0xcc]
add esp, 4
mov ecx, 0x4000
test word [edi + 0x1c], cx
je 0x431463
cmp dword [edi + 0x18], 0
jle 0x431463
mov eax, edi
call fcn.00428220
mov ebx, dword [ebp - 0xa4]
mov edi, dword [ebp - 0xcc]
mov edx, dword [ebp - 0x94]
push edx
mov ecx, edi
call fcn.0042c190
mov ecx, eax
add esp, 4
mov dword [ebp - 0xa8], ecx
call fcn.0042c280
mov dword [ebp - 0x8c], eax
cdq
add dword [ebp - 0xc8], eax
push 0
push ecx
adc dword [ebp - 0xc4], edx
call fcn.0040fc00
mov esi, dword [ebp - 0xc0]
add esi, eax
mov eax, 0x4000
add esp, 8
mov dword [ebp - 0xc0], esi
test word [edi + 0x1c], ax
je 0x4314c3
mov ecx, dword [edi + 0x10]
add dword [ebp - 0xb0], ecx
jmp 0x4314d6
cmp dword [ebp - 0x8c], 0
je 0x4314d6
mov dword [ebp - 0xb0], 0
add edi, 0x28
mov dword [ebp - 0xcc], edi
cmp edi, dword [ebp - 0xa0]
jbe 0x431402
mov eax, esi
cdq
push edx
push eax
call fcn.0040fc00
mov edi, eax
add esi, edi
mov eax, esi
cdq
push edx
push eax
mov dword [ebp - 0xac], edi
mov dword [ebp - 0xc0], esi
call fcn.0040fc00
add esp, 0x10
cmp edi, eax
jge 0x43151d
inc esi
mov dword [ebp - 0xc0], esi
mov eax, dword [ebp - 0xb0]
cdq
mov ebx, eax
mov dword [ebp - 0xf8], edx
mov eax, esi
cdq
mov edi, eax
mov ecx, edx
mov edx, dword [ebp - 0xdc]
sub edi, ebx
sbb ecx, dword [ebp - 0xf8]
add edi, dword [ebp - 0xc8]
adc ecx, dword [ebp - 0xc4]
mov dword [ebp - 0xb8], edi
mov dword [ebp - 0xb4], ecx
mov eax, dword [edx + 0x48]
cdq
cmp ecx, edx
jg 0x42fa0a
jl 0x43156f
cmp edi, eax
ja 0x42fa0a
mov eax, edi
mov edi, dword [ebp - 0xe8]
push 0
call fcn.004280a0
add esp, 4
test eax, eax
jne 0x42fc2f
mov eax, dword [ebp - 0xc0]
mov esi, edi
mov ecx, dword [esi + 4]
mov dword [ebp - 0xd0], ecx
cmp eax, 0x80
jae 0x4315aa
mov byte [ecx], al
mov eax, 1
jmp 0x4315af
call fcn.0040f9e0
mov ecx, dword [ebp - 0xa4]
movzx edi, al
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x90], edi
mov dword [ebp - 0xcc], ecx
cmp ecx, eax
ja 0x43163a
mov edi, edi
mov edx, dword [ebp - 0x94]
push edx
call fcn.0042c190
add esp, 4
mov dword [ebp - 0xa8], eax
cmp eax, 0x80
jae 0x4315fc
mov ecx, dword [ebp - 0xd0]
mov byte [edi + ecx], al
mov eax, 1
jmp 0x43160a
mov edx, dword [ebp - 0xd0]
lea ecx, [edi + edx]
call fcn.0040f9e0
mov edi, dword [ebp - 0x90]
mov ecx, dword [ebp - 0xcc]
movzx eax, al
add edi, eax
mov eax, dword [ebp - 0xa0]
add ecx, 0x28
mov dword [ebp - 0x90], edi
mov dword [ebp - 0xcc], ecx
cmp ecx, eax
jbe 0x4315d0
mov ecx, dword [ebp - 0xa4]
mov dword [ebp - 0xcc], ecx
cmp ecx, eax
ja 0x43169b
jmp 0x431650
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xd0]
sub edx, edi
lea ebx, [edi + eax]
mov eax, dword [ebp - 0x94]
push edx
call fcn.0042c2a0
mov ecx, dword [ebp - 0xcc]
mov edi, dword [ebp - 0x90]
add ecx, 0x28
add edi, eax
add esp, 4
mov dword [ebp - 0x90], edi
mov dword [ebp - 0xcc], ecx
cmp ecx, dword [ebp - 0xa0]
jbe 0x431650
mov esi, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0xb8]
mov edx, 0x410
mov dword [esi + 0x18], ecx
mov word [esi + 0x1c], dx
mov dword [esi + 0x20], 0
mov eax, dword [ebp - 0xb0]
test eax, eax
je 0x4316ca
mov dword [esi + 0x10], eax
mov eax, 0x4410
mov word [esi + 0x1c], ax
mov byte [esi + 0x1f], 1
jmp case.0x42f784.17
mov edx, dword [ebp - 0xd8]
mov ecx, dword [edi + 4]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx]
xor ecx, ecx
mov dword [ebp - 0xc8], eax
cmp eax, ecx
je 0x431722
lea edx, [ebp - 0xd0]
push edx
call fcn.00425270
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xe8]
mov dword [eax + 0x10], ecx
mov edx, dword [ebp - 0xcc]
add esp, 4
mov dword [eax + 0x14], edx
jmp case.0x42f784.17
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xd0], ecx
mov dword [eax + 0x10], ecx
mov edx, dword [ebp - 0xcc]
mov dword [eax + 0x14], edx
jmp case.0x42f784.17
mov eax, dword [edi + 4]
mov dword [ebp - 0xd0], eax
mov edi, dword [edi + 0x10]
mov dword [ebp - 0xcc], edi
test eax, eax
jne 0x431862
mov ebx, dword [ebp - 0xdc]
cmp dword [ebx + 0x90], eax
jle 0x431794
mov edi, dword [ebp - 0xd8]
push str.cannot_open_savepoint___SQL_statements_in_progress
add edi, 0x38
mov eax, ebx
call fcn.0040d1e0
add esp, 4
mov dword [ebp - 0xd4], 5
jmp case.0x42f784.17
mov ecx, edi
call fcn.0040ee50
mov dword [ebp - 0xc8], eax
mov eax, dword [ebx + 0x1e4]
add eax, dword [ebx + 0x1e0]
push eax
push 0
call fcn.00465d00
add esp, 8
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x4350aa
mov ecx, dword [ebp - 0xc8]
add ecx, 0x19
mov esi, ebx
call fcn.0040d020
mov dword [ebp - 0xc4], eax
test eax, eax
je case.0x42f784.17
lea ecx, [eax + 0x18]
mov dword [eax], ecx
mov edx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xc4]
inc edx
push edx
mov edx, dword [ecx]
push eax
push edx
call fcn.00482150
mov eax, ebx
add esp, 0xc
cmp byte [eax + 0x1c], 0
je 0x43181e
mov byte [eax + 0x1c], 0
mov byte [eax + 0x1e8], 1
jmp 0x431824
inc dword [eax + 0x1e0]
mov ecx, dword [eax + 0x1dc]
mov edx, dword [ebp - 0xc4]
mov dword [edx + 0x10], ecx
mov ecx, dword [ebp - 0xc4]
mov edx, dword [eax + 0x1f0]
mov dword [eax + 0x1dc], ecx
mov ecx, dword [ebp - 0xc4]
mov dword [ecx + 8], edx
mov edx, dword [eax + 0x1f4]
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0xc], edx
jmp case.0x42f784.17
mov esi, dword [ebp - 0xdc]
mov dword [ebp - 0xb8], 0
mov ebx, dword [esi + 0x1dc]
mov dword [ebp - 0xc0], ebx
test ebx, ebx
je 0x4318a2
mov ecx, dword [ebx]
mov edx, edi
call fcn.0040f070
test eax, eax
je 0x4318ca
inc dword [ebp - 0xb8]
mov ebx, dword [ebx + 0x10]
mov dword [ebp - 0xc0], ebx
test ebx, ebx
jne 0x431882
push edi
mov edi, dword [ebp - 0xd8]
push str.no_such_savepoint:__s
add edi, 0x38
mov eax, esi
call fcn.0040d1e0
add esp, 8
mov dword [ebp - 0xd4], 1
jmp case.0x42f784.17
cmp dword [esi + 0x90], 0
jg 0x431aba
mov eax, dword [ebp - 0xd0]
cmp eax, 2
jne 0x4318ef
cmp dword [esi + 0x8c], 1
jg 0x431ac3
cmp dword [ebx + 0x10], 0
jne 0x431951
cmp byte [esi + 0x1e8], 0
je 0x431951
mov dword [ebp - 0xf8], 1
cmp eax, 1
jne 0x43195b
mov ebx, dword [ebp - 0xd8]
push eax
mov ecx, ebx
call fcn.0042b580
mov edi, eax
add esp, 4
test edi, edi
jne 0x42fa98
mov byte [esi + 0x1c], 1
call fcn.0042b5e0
cmp eax, 5
je 0x434fd8
mov byte [esi + 0x1e8], 0
mov ecx, dword [ebx + 0x5c]
mov dword [ebp - 0xd4], ecx
mov edi, esi
jmp 0x4319f2
mov dword [ebp - 0xf8], 0
mov ecx, dword [esi + 0x1e0]
sub ecx, dword [ebp - 0xb8]
xor eax, eax
dec ecx
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0xb4], eax
cmp dword [esi + 4], eax
jle 0x4319c5
jmp 0x431986
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xd0]
push ecx
mov ecx, dword [esi + 8]
add eax, eax
mov eax, dword [ecx + eax*8 + 4]
push edx
call fcn.00420190
add esp, 8
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x4350aa
mov eax, dword [ebp - 0xb4]
inc eax
mov dword [ebp - 0xb4], eax
cmp eax, dword [esi + 4]
jl 0x431980
mov ebx, dword [ebp - 0xc0]
cmp dword [ebp - 0xd0], 2
mov edi, dword [ebp - 0xdc]
jne 0x4319f8
mov esi, 0x200
test dword [edi + 0xc], esi
je 0x4319f8
mov eax, edi
call fcn.0042cb80
or eax, 0xffffffff
mov ecx, edi
call fcn.00442c70
or dword [edi + 0xc], esi
mov ebx, dword [ebp - 0xc0]
cmp dword [edi + 0x1dc], ebx
je 0x431a39
mov eax, dword [edi + 0x1dc]
mov dword [ebp - 0xbc], eax
mov edx, dword [eax + 0x10]
mov dword [edi + 0x1dc], edx
mov eax, dword [ebp - 0xbc]
push eax
push edi
call fcn.0040cdd0
dec dword [edi + 0x1e0]
mov ebx, dword [ebp - 0xc0]
add esp, 8
cmp dword [edi + 0x1dc], ebx
jne 0x431a00
cmp dword [ebp - 0xd0], 1
jne 0x431a70
mov ecx, dword [ebx + 0x10]
mov dword [edi + 0x1dc], ecx
mov edx, dword [ebp - 0xc0]
push edx
push edi
call fcn.0040cdd0
add esp, 8
cmp dword [ebp - 0xf8], 0
jne case.0x42f784.17
dec dword [edi + 0x1e0]
jmp 0x431a8f
cmp dword [ebp - 0xf8], 0
mov eax, dword [ebx + 8]
mov dword [edi + 0x1f0], eax
mov ecx, dword [ebx + 0xc]
mov dword [edi + 0x1f4], ecx
jne case.0x42f784.17
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xd0]
push edx
push eax
mov ebx, edi
call fcn.00465d00
add esp, 8
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x4350aa
jmp case.0x42f784.17
cmp dword [ebp - 0xd0], 2
jne 0x431aca
mov eax, str.rollback
jmp 0x431acf
mov eax, str.release
mov edi, dword [ebp - 0xd8]
push eax
push str.cannot__s_savepoint___SQL_statements_in_progress
add edi, 0x38
mov eax, esi
call fcn.0040d1e0
add esp, 8
mov dword [ebp - 0xd4], 5
jmp case.0x42f784.17
mov eax, dword [edi + 4]
mov esi, dword [ebp - 0xdc]
mov dword [ebp - 0xd0], eax
mov edi, dword [edi + 8]
mov dword [ebp - 0xcc], edi
test eax, eax
je 0x431b37
cmp byte [esi + 0x1c], 0
jne 0x431b37
mov ebx, 1
mov dword [ebp - 0xc8], ebx
test edi, edi
je 0x431b5d
cmp dword [esi + 0x8c], ebx
jle 0x431b46
push str.cannot_rollback_transaction___SQL_statements_in_progress
jmp 0x431b6b
mov dword [ebp - 0xc8], 0
mov ebx, 1
movzx ecx, byte [esi + 0x1c]
cmp eax, ecx
jne 0x434ff2
test eax, eax
jne 0x431b8d
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x431b9b
cmp dword [esi + 0x90], 0
jle 0x431b46
push str.cannot_commit_transaction___SQL_statements_in_progress
mov edi, dword [ebp - 0xd8]
add edi, 0x38
mov eax, esi
call fcn.0040d1e0
add esp, 4
mov dword [ebp - 0xd4], 5
jmp case.0x42f784.17
mov eax, str.cannot_rollback___no_transaction_is_active
test edi, edi
jne 0x431b9b
mov eax, str.cannot_commit___no_transaction_is_active
mov edi, dword [ebp - 0xd8]
push eax
add edi, 0x38
mov eax, esi
call fcn.0040d1e0
add esp, 4
mov dword [ebp - 0xd4], ebx
jmp case.0x42f784.17
mov edx, dword [edi + 4]
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 8]
add edx, edx
mov eax, dword [ecx + edx*8 + 4]
mov dword [ebp - 0xd0], eax
test eax, eax
je case.0x42f784.17
mov edx, dword [edi + 8]
push edx
push eax
call fcn.0041ebe0
add esp, 8
mov dword [ebp - 0xd4], eax
cmp eax, 5
je 0x435072
test eax, eax
jne 0x4350aa
cmp dword [edi + 8], eax
je case.0x42f784.17
mov esi, dword [ebp - 0xd8]
cmp byte [esi + 0x67], al
je case.0x42f784.17
mov ebx, dword [ebp - 0xdc]
cmp byte [ebx + 0x1c], al
je 0x431c2e
cmp dword [ebx + 0x8c], 1
jle case.0x42f784.17
cmp dword [esi + 0x78], 0
jne 0x431c49
mov ecx, dword [ebx + 0x1e0]
inc dword [ebx + 0x1e4]
add ecx, dword [ebx + 0x1e4]
mov dword [esi + 0x78], ecx
mov edx, dword [esi + 0x78]
dec edx
push edx
push 0
call fcn.00465d00
add esp, 8
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x431c7a
mov eax, dword [esi + 0x78]
push eax
mov eax, dword [ebp - 0xd0]
call fcn.00420140
add esp, 4
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebx + 0x1f0]
mov dword [esi + 0x98], ecx
mov edx, dword [ebx + 0x1f4]
mov dword [esi + 0x9c], edx
jmp case.0x42f784.17
mov eax, dword [edi + 4]
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0xcc], eax
mov edi, dword [edi + 0xc]
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0xc8], edi
push ecx
mov ecx, dword [edx + 8]
add eax, eax
mov eax, dword [ecx + eax*8 + 4]
push edi
call fcn.00425170
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xe8]
cdq
add esp, 8
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.0x42f784.17
mov edx, dword [edi + 4]
mov eax, dword [ebp - 0xdc]
shl edx, 4
add edx, dword [eax + 8]
mov dword [ebp - 0xd0], edx
mov eax, dword [edi + 0xc]
mov edx, dword [ebp - 0xe0]
lea ecx, [eax + eax*4]
lea esi, [edx + ecx*8]
call fcn.00428660
mov eax, dword [esi + 0x10]
mov ecx, dword [edi + 8]
mov edx, dword [ebp - 0xd0]
push eax
mov eax, dword [edx + 4]
push ecx
call fcn.004251e0
mov dword [ebp - 0xd4], eax
mov eax, dword [edi + 8]
add esp, 8
cmp eax, 1
jne 0x431d4d
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0xc]
mov edx, dword [esi + 0x10]
mov eax, dword [ebp - 0xdc]
mov dword [ecx], edx
or dword [eax + 0xc], 0x200
jmp 0x431d61
cmp eax, 2
jne 0x431d61
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0xc]
mov dl, byte [esi + 0x10]
mov byte [ecx + 0x4c], dl
cmp dword [edi + 4], 1
jne case.0x42f784.17
mov eax, dword [ebp - 0xdc]
call fcn.0042cb80
mov eax, dword [ebp - 0xd8]
mov byte [eax + 0x63], 0
jmp case.0x42f784.17
mov ecx, dword [edi + 4]
mov esi, dword [ebp - 0xdc]
mov edx, dword [esi + 8]
add ecx, ecx
mov eax, dword [edx + ecx*8 + 4]
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x431dc3
lea ecx, [ebp - 0xd0]
push ecx
push 1
call fcn.00425170
mov edx, dword [edi + 4]
mov eax, dword [esi + 8]
add esp, 8
add edx, edx
mov ecx, dword [eax + edx*8 + 0xc]
mov eax, dword [ecx + 4]
jmp 0x431dcf
mov dword [ebp - 0xd0], 0
xor eax, eax
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0xcc], eax
cmp edx, dword [edi + 8]
jne 0x431de9
cmp eax, dword [edi + 0xc]
je case.0x42f784.17
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x38]
push ecx
push esi
call fcn.0040cdd0
push esi
mov ebx, str.database_schema_has_changed
call fcn.0040d160
mov ebx, dword [ebp - 0xd8]
mov dword [ebx + 0x38], eax
mov edi, dword [edi + 4]
mov eax, dword [esi + 8]
mov edx, edi
add edx, edx
mov ecx, dword [eax + edx*8 + 0xc]
mov edx, dword [ecx]
add esp, 0xc
cmp edx, dword [ebp - 0xd0]
je 0x431e31
mov eax, edi
mov ecx, esi
call fcn.00442c70
mov byte [ebx + 0x63], 1
mov dword [ebp - 0xd4], 0x11
jmp case.0x42f784.17
mov eax, dword [ebp - 0xd8]
cmp byte [eax + 0x63], 0
je 0x431e5f
mov dword [ebp - 0xd4], 4
jmp case.0x42f784.17
mov esi, dword [ebp - 0xdc]
xor ecx, ecx
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xcc], ecx
mov edx, dword [edi + 8]
mov dword [ebp - 0xc8], edx
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xc4], eax
shl eax, 4
add eax, dword [esi + 8]
mov dword [ebp - 0xb4], eax
mov esi, dword [eax + 4]
mov dword [ebp - 0xbc], esi
cmp byte [edi], 0x28
jne 0x431ebf
mov esi, dword [ebp - 0xd8]
mov dword [ebp - 0xc0], 1
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x4c]
cmp al, byte [esi + 0x65]
jae 0x431ec5
mov byte [esi + 0x65], al
jmp 0x431ec5
mov dword [ebp - 0xc0], ecx
cmp byte [edi + 3], cl
je 0x431ef3
lea ecx, [edx + edx*4]
mov edx, dword [ebp - 0xe0]
lea esi, [edx + ecx*8]
call fcn.00428660
mov esi, dword [esi + 0x10]
mov dword [ebp - 0xc8], esi
cmp esi, 2
jl 0x43508e
mov ecx, dword [ebp - 0xd0]
mov al, byte [edi + 1]
cmp al, 0xfa
jne 0x431f24
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx]
mov eax, dword [edi + 0x10]
mov dword [ebp - 0xcc], eax
mov ecx, dword [edx + 8]
mov edx, dword [ecx + 0xc]
mov cl, byte [edx + 0x4d]
mov byte [eax + 4], cl
mov edx, dword [ebp - 0xcc]
movzx ecx, word [edx + 6]
inc ecx
jmp 0x431f2b
cmp al, 0xf2
jne 0x431f31
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0xd0], ecx
mov eax, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xd8]
push 1
push eax
push ecx
mov ecx, dword [edi + 4]
push ecx
push edx
call fcn.0042f330
add esp, 0x14
mov dword [ebp - 0xb8], eax
test eax, eax
je 0x42fc2f
mov byte [eax + 0x1c], 1
mov eax, dword [ebp - 0xb8]
mov byte [eax + 0x20], 1
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax]
mov ebx, dword [ebp - 0xc0]
push ecx
mov ecx, dword [ebp - 0xbc]
push edx
call fcn.00420240
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xcc]
mov dword [ecx + 8], edx
mov ecx, dword [ebp - 0xb8]
add esp, 8
cmp byte [edi + 1], 0xfa
mov dword [ebp - 0xd4], eax
setne al
mov byte [ecx + 0x1e], al
mov eax, dword [ebp - 0xb8]
cmp byte [eax + 0x1e], 0
sete dl
mov byte [eax + 0x1f], dl
jmp case.0x42f784.17
mov eax, dword [edi + 8]
mov ecx, dword [edi + 4]
mov esi, dword [ebp - 0xd8]
push 1
push 0xffffffffffffffff
push eax
push ecx
push esi
call fcn.0042f330
add esp, 0x14
mov dword [ebp - 0xd0], eax
test eax, eax
je 0x42fc2f
mov byte [eax + 0x1c], 1
movzx edx, byte [edi + 3]
mov ecx, dword [ebp - 0xd0]
push 0x41e
or edx, 9
push edx
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx]
push 0
add ecx, 4
push eax
call fcn.0041dc40
add esp, 0x10
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x43210a
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 4]
push 1
push edx
call fcn.0041ebe0
add esp, 8
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x43210a
cmp dword [edi + 0x10], eax
je 0x4320df
movzx eax, byte [edi + 3]
mov edx, dword [ebp - 0xd0]
or eax, 2
push eax
mov eax, dword [edx + 4]
lea ecx, [ebp - 0x11c]
push ecx
call fcn.00424b10
add esp, 8
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x4320d3
mov eax, dword [edi + 0x10]
mov ecx, dword [ebp - 0x11c]
push eax
push ecx
mov ecx, dword [ebp - 0xd0]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov ebx, 1
call fcn.00420240
mov edx, dword [edi + 0x10]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
mov dword [eax + 8], edx
mov ecx, dword [esi]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 8]
mov al, byte [eax + 0x4d]
add esp, 8
mov byte [edx + 4], al
mov ecx, dword [ebp - 0xd0]
mov byte [ecx + 0x1e], 0
jmp 0x43210a
mov ecx, dword [ebp - 0xd0]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
push 0
push 1
mov ebx, 1
call fcn.00420240
mov edx, dword [ebp - 0xd0]
add esp, 8
mov dword [ebp - 0xd4], eax
mov byte [edx + 0x1e], bl
cmp byte [edi + 3], 0x10
mov ecx, dword [ebp - 0xd0]
setne al
mov byte [ecx + 0x20], al
mov eax, dword [ebp - 0xd0]
cmp byte [eax + 0x1e], 0
sete dl
mov byte [eax + 0x1f], dl
jmp case.0x42f784.17
mov eax, dword [edi + 8]
mov ecx, dword [edi + 4]
mov esi, dword [ebp - 0xd8]
push 1
push 0xffffffffffffffff
push eax
push ecx
push esi
call fcn.0042f330
add esp, 0x14
mov dword [ebp - 0xd0], eax
test eax, eax
je 0x42fc2f
mov edx, dword [edi + 0x10]
mov dword [eax + 8], edx
mov eax, dword [esi]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 0xc]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 8]
mov dl, byte [edx + 0x4d]
mov byte [ecx + 4], dl
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xdc]
mov byte [eax + 0x21], 1
mov eax, dword [ebp - 0xd0]
push ecx
call fcn.004365e0
add esp, 4
mov dword [ebp - 0xd4], eax
jmp case.0x42f784.17
mov edx, dword [edi + 0xc]
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd8]
push 0
push 0xffffffffffffffff
push edx
push eax
push ecx
call fcn.0042f330
add esp, 0x14
mov dword [ebp - 0xd0], eax
test eax, eax
je 0x42fc2f
mov byte [eax + 0x1c], 1
mov edx, dword [edi + 8]
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x10], edx
mov ecx, dword [ebp - 0xd0]
mov byte [ecx + 0x1e], 1
mov edx, dword [ebp - 0xd0]
mov byte [edx + 0x1f], 0
jmp case.0x42f784.17
mov esi, dword [ebp - 0xd8]
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
push esi
call fcn.0042aac0
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x44]
add esp, 4
mov dword [eax + edx*4], 0
jmp case.0x42f784.17
mov edx, dword [ebp - 0xd8]
mov ecx, dword [edi + 4]
mov eax, dword [edx + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc8], eax
cmp dword [eax], 0
je 0x42f79f
movzx ecx, byte [edi]
mov dword [ebp - 0xcc], ecx
mov byte [eax + 0x1c], 0
mov ecx, dword [ebp - 0xc8]
cmp byte [ecx + 0x1e], 0
je 0x432431
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xe0]
lea esi, [eax + edx*8]
call fcn.0042f450
mov ecx, esi
call fcn.00428500
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], edx
mov byte [ecx + 0x19], 0
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x4323c0
test al, 8
jne 0x4322a6
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe4], edi
jmp case.0x42f784.17
xor ebx, ebx
cmp dword [ebp - 0xa0], ebx
jne 0x432370
mov eax, 0x80000000
cmp dword [ebp - 0x9c], eax
jne 0x432370
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x128], ebx
fild qword [ebp - 0x128]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
je 0x4322f1
fldz
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x432370
fldz
mov dword [ebp - 0xd0], 1
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x432325
cmp dword [ebp - 0xcc], 0x30
jl 0x432361
mov edx, dword [ebp - 0xc8]
mov esi, dword [edx]
lea edi, [ebp - 0xd0]
call fcn.00420fe0
jmp 0x432341
cmp dword [ebp - 0xcc], 0x2f
jg 0x432361
mov eax, dword [ebp - 0xc8]
mov esi, dword [eax]
lea edi, [ebp - 0xd0]
call fcn.00421010
mov dword [ebp - 0xd4], eax
cmp eax, ebx
jne 0x4350aa
cmp dword [ebp - 0xd0], ebx
je case.0x42f784.17
mov edi, dword [ebp - 0xf0]
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe4], edi
jmp case.0x42f784.17
mov eax, dword [ebp - 0xcc]
cmp eax, 0x2e
je 0x4323a1
cmp eax, 0x30
je 0x4323a1
fild qword [ebp - 0xa0]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x4323c2
or eax, 0xffffffff
add dword [ebp - 0xa0], eax
adc dword [ebp - 0x9c], eax
jmp 0x4323c2
fild qword [ebp - 0xa0]
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x4323c2
add dword [ebp - 0xa0], 1
adc dword [ebp - 0x9c], ebx
jmp 0x4323c2
xor ebx, ebx
mov edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0xa0]
lea ecx, [ebp - 0xd0]
push ecx
mov ecx, dword [ebp - 0xc8]
push ebx
push edx
mov edx, dword [ecx]
push eax
push ebx
push edx
call fcn.00421050
add esp, 0x18
mov dword [ebp - 0xd4], eax
cmp eax, ebx
jne 0x4350aa
cmp dword [ebp - 0xd0], ebx
jne 0x4324c3
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x19], 1
mov ecx, dword [ebp - 0xa0]
mov edx, dword [ebp - 0xc8]
mov dword [edx + 0x40], ecx
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 0x44], eax
jmp 0x4324c3
mov edx, dword [edi + 0x10]
mov dword [ebp - 0xa8], edx
mov eax, dword [ecx + 8]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xcc]
and eax, 1
add eax, eax
add eax, eax
add eax, eax
mov word [ebp - 0xbc], dx
mov word [ebp - 0xba], ax
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xe0]
lea eax, [eax + edx*8]
mov edx, 0x4000
mov dword [ebp - 0xb0], eax
test word [eax + 0x1c], dx
je 0x43248b
call fcn.00428220
mov ecx, dword [ebp - 0xc8]
lea eax, [ebp - 0xd0]
push eax
mov eax, dword [ecx]
push 0
push 0
push 0
lea edx, [ebp - 0xc0]
push edx
push eax
call fcn.00421050
add esp, 0x18
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x4350aa
mov ecx, dword [ebp - 0xc8]
mov byte [ecx + 0x19], al
xor ebx, ebx
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0x1d], 0
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x50], ebx
mov ecx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xd0]
cmp ecx, 0x30
jl 0x43252f
cmp eax, ebx
jl 0x4324fd
jne 0x4324f2
cmp ecx, 0x31
je 0x4324fd
mov dword [ebp - 0xd0], ebx
jmp case.0x42f784.17
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx]
lea ecx, [ebp - 0xd0]
push ecx
push eax
call fcn.00421430
add esp, 8
mov dword [ebp - 0xd4], eax
cmp eax, ebx
jne 0x4350aa
mov ecx, dword [ebp - 0xc8]
mov byte [ecx + 0x19], 0
jmp 0x432583
cmp eax, ebx
jg 0x432553
jne 0x43253a
cmp ecx, 0x2e
je 0x432553
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx]
xor ecx, ecx
cmp byte [eax + 0x53], 1
setne cl
mov dword [ebp - 0xd0], ecx
jmp 0x432583
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax]
lea edx, [ebp - 0xd0]
push edx
push ecx
call fcn.004215d0
add esp, 8
mov dword [ebp - 0xd4], eax
cmp eax, ebx
jne 0x4350aa
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0x19], 0
cmp dword [ebp - 0xd0], ebx
je case.0x42f784.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe4], edi
jmp case.0x42f784.17
mov ecx, dword [ebp - 0xd8]
mov eax, dword [edi + 4]
mov edx, dword [ecx + 0x44]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xd0], eax
cmp dword [eax], 0
je case.0x42f784.17
mov ecx, dword [ebp - 0xe0]
mov byte [eax + 0x1c], 0
mov edi, dword [edi + 8]
lea eax, [edi + edi*4]
lea ecx, [ecx + eax*8]
call fcn.00428500
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x3c], edx
mov ecx, dword [ebp - 0xd0]
mov byte [ecx + 0x19], 0
mov edx, dword [ebp - 0xd0]
mov byte [edx + 0x1d], 1
jmp case.0x42f784.17
mov esi, dword [ebp - 0xd8]
mov ecx, dword [esi + 0x44]
mov ebx, dword [ebp - 0xe0]
xor edx, edx
mov dword [ebp - 0xd0], edx
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xcc], eax
mov ecx, dword [edi + 0xc]
lea ecx, [ecx + ecx*4]
lea ecx, [ebx + ecx*8]
mov dword [ebp - 0xf8], ecx
cmp dword [eax], edx
je 0x432749
cmp dword [edi + 0x10], edx
jle 0x432672
mov edx, dword [eax + 8]
mov dword [ebp - 0xb8], edx
mov dx, word [edi + 0x10]
mov word [ebp - 0xb4], dx
mov dword [ebp - 0xa8], ecx
mov ecx, 0x10
lea edx, [ebp - 0xb8]
mov word [ebp - 0xb2], cx
mov dword [ebp - 0xc0], edx
jmp 0x4326d4
mov edi, dword [eax + 8]
push 0x97
lea ebx, [ebp - 0xc4]
lea edx, [ebp - 0xa0]
call fcn.0042c580
add esp, 4
mov dword [ebp - 0xc0], eax
test eax, eax
je 0x42fc35
push eax
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax + 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 0xcc]
push ecx
mov ecx, dword [eax + 8]
push edx
push ecx
call fcn.0042c5d0
mov eax, dword [ebp - 0xc0]
mov edi, dword [ebp - 0xf0]
add esp, 0x10
or word [eax + 6], 0x10
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xc0]
lea edx, [ebp - 0xc8]
push edx
mov edx, dword [eax]
push 0
push 0
push 0
push ecx
push edx
call fcn.00421050
add esp, 0x18
cmp dword [edi + 0x10], 0
mov esi, eax
mov dword [ebp - 0xd4], esi
jne 0x432717
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xdc]
push eax
push ecx
call fcn.0040cdd0
add esp, 8
test esi, esi
jne case.0x42f784.17
mov eax, dword [ebp - 0xcc]
xor edx, edx
cmp dword [ebp - 0xc8], edx
sete dl
mov dword [ebp - 0xd0], edx
mov byte [eax + 0x1d], 0
mov ecx, dword [ebp - 0xcc]
mov dword [ecx + 0x50], esi
mov edx, dword [ebp - 0xd0]
cmp byte [edi], 0x34
jne 0x432765
test edx, edx
je case.0x42f784.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe4], edi
jmp case.0x42f784.17
test edx, edx
jne case.0x42f784.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe4], edi
jmp case.0x42f784.17
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp - 0xe0]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x10]
lea esi, [ecx + edx*8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xc0], ecx
mov edx, dword [edi + 4]
mov ecx, dword [eax + 0x44]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0xcc], eax
xor ecx, ecx
mov dword [eax + 0x4c], ecx
mov edx, dword [ebp - 0xcc]
mov dword [edx + 0x50], ecx
mov edx, dword [ebp - 0xcc]
mov eax, dword [edx]
mov dword [ebp - 0xc8], eax
mov ecx, dword [edx + 8]
mov cx, word [ecx + 6]
xor ebx, ebx
xor eax, eax
cmp bx, cx
mov ebx, dword [ebp - 0xc0]
mov word [ebp - 0xc4], cx
mov word [ebp - 0xd0], ax
jae 0x432815
nop
movzx edx, ax
lea edx, [edx + edx*4]
test byte [ebx + edx*8 + 0x1c], 1
jne 0x4328cc
inc ax
mov word [ebp - 0xd0], ax
cmp ax, cx
jb 0x4327f0
mov edx, dword [ebp - 0xcc]
cmp dword [ebp - 0xc8], 0
je case.0x42f784.17
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0xc4]
inc ecx
mov edx, 0x20
mov dword [ebp - 0xb8], eax
mov word [ebp - 0xb4], cx
mov word [ebp - 0xb2], dx
mov dword [ebp - 0xa8], ebx
call fcn.00428660
mov edx, dword [ebp - 0xcc]
mov eax, dword [esi + 0x10]
add edx, 0x4c
push edx
push 0
mov dword [ebp - 0xa0], eax
mov ecx, dword [esi + 0x14]
push 0
push 0
lea eax, [ebp - 0xb8]
mov dword [ebp - 0x9c], ecx
mov ecx, dword [ebp - 0xc8]
push eax
push ecx
call fcn.00421050
add esp, 0x18
test byte [ebp - 0xb2], 0x20
mov dword [ebp - 0xd4], eax
jne 0x42f79f
mov eax, dword [ebp - 0xb0]
cmp eax, dword [ebp - 0xa0]
jne 0x4328bb
mov edx, dword [ebp - 0xac]
cmp edx, dword [ebp - 0x9c]
je 0x42f79f
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0xac]
mov dword [esi + 0x14], eax
jmp case.0x42f784.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe4], edi
mov dword [ebp - 0xc8], 0
jmp case.0x42f784.17
mov eax, dword [edi + 0xc]
mov edx, dword [ebp - 0xe0]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 4]
lea esi, [edx + ecx*8]
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 0x44]
mov ecx, dword [edx + eax*4]
mov dword [ebp - 0xd0], ecx
mov eax, dword [ecx]
xor edx, edx
mov dword [ebp - 0xcc], eax
cmp eax, edx
je 0x4329bd
mov dword [ebp - 0xc8], edx
mov ecx, dword [esi + 0x10]
lea ebx, [ebp - 0xc8]
push ebx
push 0
mov dword [ebp - 0xc0], ecx
mov edx, dword [esi + 0x14]
push edx
push ecx
push 0
push eax
mov dword [ebp - 0xbc], edx
call fcn.00421050
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0xd4], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x40], eax
mov edx, dword [esi + 0x14]
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x44], edx
mov edx, dword [ebp - 0xd0]
add esp, 0x18
cmp dword [ebp - 0xc8], 0
sete cl
mov byte [edx + 0x19], cl
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1c], 0
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x50], 0
mov edx, dword [ebp - 0xd0]
mov byte [edx + 0x1d], 0
mov eax, dword [ebp - 0xc8]
test eax, eax
je 0x4329af
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe4], edi
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x4c], eax
jmp case.0x42f784.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe4], edi
mov dword [ecx + 0x4c], edx
jmp case.0x42f784.17
mov eax, dword [edi + 4]
mov edx, dword [ebp - 0xd8]
mov ecx, dword [edx + 0x44]
mov eax, dword [ecx + eax*4]
mov esi, dword [eax + 0x30]
mov ecx, dword [ebp - 0xe8]
mov dword [ecx + 0x10], esi
mov eax, dword [eax + 0x34]
mov dword [ecx + 0x14], eax
mov ecx, dword [edi + 4]
mov edx, dword [edx + 0x44]
mov eax, dword [edx + ecx*4]
add dword [eax + 0x30], 1
adc dword [eax + 0x34], 0
jmp case.0x42f784.17
mov edx, dword [ebp - 0xd8]
mov edx, dword [edx + 0x44]
xor eax, eax
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc4], eax
mov ecx, dword [edi + 4]
mov edx, dword [edx + ecx*4]
mov dword [ebp - 0xc8], edx
mov ecx, dword [edx]
cmp ecx, eax
je 0x432d1a
cmp byte [edx + 0x1b], al
jne 0x432bf0
mov eax, dword [ecx + 0x18]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ecx + 0x1c]
mov esi, eax
or esi, ecx
mov dword [ebp - 0xcc], ecx
jne 0x432af0
mov esi, dword [edx]
lea edi, [ebp - 0xc4]
call fcn.00421010
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x4350aa
cmp dword [ebp - 0xc4], eax
je 0x432a8a
mov eax, 1
xor ecx, ecx
jmp 0x432ade
mov ecx, dword [ebp - 0xc8]
mov esi, dword [ecx]
lea eax, [ebp - 0xd0]
push eax
call fcn.00420420
mov ecx, dword [ebp - 0xcc]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
add esp, 4
cmp eax, 0xffffffff
jne 0x432ad8
cmp ecx, 0x7fffffff
jne 0x432ad8
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0x1b], 1
mov ecx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xd0]
jmp 0x432aea
add eax, 1
adc ecx, 0
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xd0], eax
mov edi, dword [ebp - 0xf0]
mov edx, dword [edi + 0xc]
test edx, edx
je 0x432bc3
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0xa8]
test ecx, ecx
je 0x432b3d
mov dword [ebp - 0xb8], ecx
mov eax, dword [ecx + 0x3c]
test eax, eax
je 0x432b2f
jmp 0x432b20
mov ecx, eax
mov dword [ebp - 0xb8], ecx
mov eax, dword [ecx + 0x3c]
test eax, eax
jne 0x432b20
mov edi, dword [edi + 0xc]
mov eax, dword [ecx + 0x10]
lea edx, [edi + edi*4]
lea esi, [eax + edx*8]
jmp 0x432b49
lea ecx, [edx + edx*4]
mov edx, dword [ebp - 0xe0]
lea esi, [edx + ecx*8]
mov dword [ebp - 0xbc], esi
call fcn.00428660
mov edx, dword [ebp - 0xbc]
mov eax, dword [edx + 0x10]
mov ecx, dword [edx + 0x14]
cmp eax, 0xffffffff
jne 0x432b71
cmp ecx, 0x7fffffff
je 0x4350a0
mov esi, dword [ebp - 0xc8]
cmp byte [esi + 0x1b], 0
jne 0x4350a0
add eax, 1
adc ecx, 0
cmp dword [ebp - 0xcc], ecx
jg 0x432ba5
jl 0x432b99
cmp dword [ebp - 0xd0], eax
jae 0x432ba5
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], ecx
mov eax, dword [ebp - 0xd0]
mov dword [edx + 0x10], eax
mov ecx, dword [ebp - 0xcc]
mov dword [edx + 0x14], ecx
mov ecx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xd0]
cmp ecx, 0x7fffffff
jg 0x432bda
jl 0x432bd2
cmp eax, 0xffffffff
jae 0x432bda
add eax, 1
adc ecx, 0
jmp 0x432bde
xor eax, eax
xor ecx, ecx
mov edx, dword [ebp - 0xc8]
mov esi, dword [edx]
push ecx
push eax
call fcn.004202d0
add esp, 8
mov edx, dword [ebp - 0xc8]
cmp byte [edx + 0x1b], 0
je 0x432cf9
mov eax, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0x100]
and eax, 0x3fffffff
add ecx, 1
lea esi, [ebp - 0xc4]
push esi
adc eax, 0
push 0
push eax
push ecx
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc0], 0
mov eax, dword [edx]
push 0
push eax
call fcn.00421050
add esp, 0x18
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x432cf9
mov ecx, dword [ebp - 0xc4]
test ecx, ecx
jne 0x432ce8
mov eax, dword [ebp - 0xc0]
inc eax
mov dword [ebp - 0xc0], eax
cmp eax, 0x64
jge 0x432ce8
lea ecx, [ebp - 0xd0]
push ecx
push 8
call fcn.0040e6b0
mov eax, dword [ebp - 0xd0]
add esp, 8
cmp dword [ebp - 0xc0], 5
jge 0x432c9c
and eax, 0xffffff
xor ecx, ecx
jmp 0x432ca8
mov ecx, dword [ebp - 0xcc]
and ecx, 0x3fffffff
add eax, 1
lea edx, [ebp - 0xc4]
push edx
adc ecx, 0
push 0
push ecx
push eax
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xcc], ecx
mov ecx, dword [eax]
push 0
push ecx
call fcn.00421050
add esp, 0x18
mov dword [ebp - 0xd4], eax
test eax, eax
je 0x432c53
jmp 0x432cf9
cmp dword [ebp - 0xd4], 0
jne 0x432cf9
test ecx, ecx
je 0x4350a0
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0x19], 0
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1d], 0
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 0x50], 0
mov eax, dword [ebp - 0xe8]
mov edx, dword [ebp - 0xd0]
mov dword [eax + 0x10], edx
mov ecx, dword [ebp - 0xcc]
mov dword [eax + 0x14], ecx
jmp case.0x42f784.17
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 0xe0]
mov ebx, dword [ebp - 0xd8]
lea edx, [eax + eax*4]
lea esi, [ecx + edx*8]
mov edx, dword [ebx + 0x44]
mov dword [ebp - 0xd0], esi
mov eax, dword [edi + 4]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xc0], eax
cmp byte [edi], 0x39
mov eax, dword [edi + 0xc]
jne 0x432d83
lea edx, [eax + eax*4]
lea ecx, [ecx + edx*8]
mov dword [ebp - 0xcc], ecx
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0xc8], eax
mov edx, dword [ecx + 0x14]
jmp 0x432d8a
cdq
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
test byte [edi + 3], 1
je 0x432d99
inc dword [ebx + 0x6c]
test byte [edi + 3], 2
je 0x432dc3
mov ecx, dword [ebp - 0xdc]
mov dword [ecx + 0x30], eax
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xc4]
mov dword [ecx + 0x34], eax
mov esi, dword [ebp - 0xd0]
mov dword [ebp - 0xfc], edx
xor eax, eax
test byte [esi + 0x1c], 1
je 0x432ddd
mov dword [esi + 4], eax
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x18], eax
mov esi, dword [ebp - 0xd0]
test byte [edi + 3], 0x10
je 0x432df4
mov edx, dword [ebp - 0xc0]
mov ecx, dword [edx + 0x4c]
mov dword [ebp - 0xb8], ecx
jmp 0x432dfa
mov dword [ebp - 0xb8], eax
mov edx, 0x4000
test word [esi + 0x1c], dx
je 0x432e08
mov eax, dword [esi + 0x10]
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0xbc], eax
mov esi, dword [ecx]
push 0
push 0
call fcn.004202d0
movzx eax, byte [edi + 3]
mov edx, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xbc]
push edx
and eax, 8
push eax
mov eax, dword [ebp - 0xd0]
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 4]
push ecx
mov ecx, dword [ebp - 0xc4]
push edx
mov edx, dword [ebp - 0xc8]
push eax
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax]
push ecx
push edx
push 0
call fcn.004243b0
mov ecx, dword [ebp - 0xc0]
mov byte [ecx + 0x19], 0
mov edx, dword [ebp - 0xc0]
mov byte [edx + 0x1d], 0
mov ecx, dword [ebp - 0xc0]
add esp, 0x28
mov dword [ebp - 0xd4], eax
mov dword [ecx + 0x50], 0
test eax, eax
jne case.0x42f784.17
mov edx, dword [ebp - 0xdc]
cmp dword [edx + 0xbc], eax
je case.0x42f784.17
cmp dword [edi + 0x10], eax
je case.0x42f784.17
mov eax, dword [ebp - 0xc0]
mov edx, dword [eax + 0xc]
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ecx + 8]
add edx, edx
mov edx, dword [eax + edx*8]
mov dword [ebp - 0xb4], edx
mov esi, dword [edi + 0x10]
mov dword [ebp - 0xb0], esi
mov al, byte [edi + 3]
mov edi, dword [ebp - 0xc4]
and al, 4
movzx eax, al
push edi
mov edi, dword [ebp - 0xc8]
neg eax
sbb eax, eax
push edi
and eax, 5
add eax, 0x12
push esi
push edx
mov dword [ebp - 0xac], eax
mov edx, dword [ecx + 0xb8]
push eax
mov eax, dword [ecx + 0xbc]
push edx
call eax
add esp, 0x18
jmp case.0x42f784.17
mov edx, dword [ebp - 0xd8]
mov edx, dword [edx + 0x44]
xor eax, eax
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], eax
mov ecx, dword [edi + 4]
mov esi, dword [edx + ecx*4]
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xc8], esi
cmp dword [ecx + 0xbc], eax
je 0x432f5b
cmp dword [edi + 0x10], eax
je 0x432f5b
mov edx, dword [esi + 0x40]
mov dword [ebp - 0xd0], edx
mov eax, dword [esi + 0x44]
mov dword [ebp - 0xcc], eax
call fcn.0042c0f0
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x4350aa
mov ecx, dword [ebp - 0xc8]
mov esi, dword [ecx]
push eax
push eax
call fcn.004202d0
mov edx, dword [ebp - 0xc8]
mov esi, dword [edx]
add esp, 8
call fcn.004245e0
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xd4], eax
mov dword [ecx + 0x50], 0
test eax, eax
jne 0x432fea
mov edx, dword [ebp - 0xdc]
mov ecx, dword [edx + 0xbc]
test ecx, ecx
je 0x432fea
mov eax, dword [edi + 0x10]
test eax, eax
je 0x432fea
mov esi, dword [ebp - 0xcc]
push esi
mov esi, dword [ebp - 0xd0]
push esi
mov esi, dword [edx + 8]
mov edx, dword [edx + 0xb8]
push eax
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax + 0xc]
add eax, eax
mov eax, dword [esi + eax*8]
push eax
push 9
push edx
call ecx
add esp, 0x18
test byte [edi + 8], 1
je case.0x42f784.17
mov eax, dword [ebp - 0xd8]
inc dword [eax + 0x6c]
jmp case.0x42f784.17
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 0x6c]
mov ecx, dword [ebp - 0xdc]
add dword [ecx + 0x40], eax
mov dword [ecx + 0x3c], eax
mov dword [edx + 0x6c], 0
jmp case.0x42f784.17
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 0x44]
mov eax, dword [edi + 4]
mov eax, dword [edx + eax*4]
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0xd0], eax
mov ecx, dword [edi + 0xc]
lea ecx, [ecx + ecx*4]
lea edx, [edx + ecx*8]
lea ecx, [ebp - 0xcc]
push ecx
call fcn.004370d0
add esp, 4
cmp dword [ebp - 0xcc], 0
mov dword [ebp - 0xd4], eax
je case.0x42f784.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe4], edi
jmp case.0x42f784.17
mov eax, dword [edi + 8]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xe0]
lea ecx, [eax + edx*8]
mov edx, dword [edi + 4]
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0xd0], eax
call fcn.00437050
mov dword [ebp - 0xd4], eax
jmp case.0x42f784.17
mov eax, dword [edi + 8]
mov edx, dword [ebp - 0xe0]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 4]
lea ebx, [edx + ecx*8]
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 0x44]
mov esi, dword [edx + eax*4]
mov dword [ebp - 0xd0], esi
mov eax, dword [esi]
mov dword [ebp - 0xe8], ebx
mov dword [ebp - 0xcc], eax
call fcn.0042c0f0
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x4350aa
mov ecx, dword [ebp - 0xd0]
mov esi, dword [ebp - 0xcc]
cmp byte [ecx + 0x1f], al
je 0x433147
lea edx, [ebp - 0xc0]
push edx
call fcn.00420420
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x48]
cdq
add esp, 4
cmp dword [ebp - 0xbc], edx
jg 0x42fa0a
mov ecx, dword [ebp - 0xc0]
jl 0x43313d
cmp ecx, eax
ja 0x42fa0a
mov eax, ecx
mov dword [ebp - 0xc8], eax
jmp 0x43316b
lea edx, [ebp - 0xc8]
push edx
call fcn.004204a0
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xdc]
add esp, 4
cmp eax, dword [ecx + 0x48]
ja 0x42fa0a
push 0
mov edi, ebx
call fcn.004280a0
add esp, 4
test eax, eax
jne 0x42fc2f
mov ax, word [ebx + 0x1c]
mov edx, dword [ebp - 0xc8]
mov ecx, 0xbf10
and ax, cx
or ax, 0x10
mov dword [ebx + 0x18], edx
mov word [ebx + 0x1c], ax
mov edx, dword [ebp - 0xd0]
cmp byte [edx + 0x1f], 0
mov ecx, dword [ebp - 0xcc]
je 0x4331d5
mov eax, dword [ebx + 4]
push 0
push eax
mov eax, dword [ebp - 0xc8]
push eax
push 0
push ecx
call fcn.00420800
add esp, 0x14
mov dword [ebp - 0xd4], eax
mov byte [ebx + 0x1f], 1
jmp case.0x42f784.17
mov edx, dword [ebx + 4]
mov eax, dword [ebp - 0xc8]
push edx
push eax
push 0
push ecx
call fcn.00420b20
add esp, 0x10
mov dword [ebp - 0xd4], eax
mov byte [ebx + 0x1f], 1
jmp case.0x42f784.17
mov edx, dword [edi + 4]
mov edi, dword [ebp - 0xd8]
mov eax, dword [edi + 0x44]
mov esi, dword [eax + edx*4]
mov dword [ebp - 0xd0], esi
cmp byte [esi + 0x1c], 0
je 0x433229
mov edx, dword [ebp - 0xe8]
mov ecx, 1
mov word [edx + 0x1c], cx
jmp case.0x42f784.17
cmp byte [esi + 0x1d], 0
je 0x43325e
mov eax, dword [esi + 0x38]
mov dword [ebp - 0xc8], eax
mov ecx, dword [esi + 0x3c]
mov eax, dword [ebp - 0xe8]
mov edx, dword [ebp - 0xc8]
mov dword [ebp - 0xc4], ecx
mov dword [eax + 0x10], edx
mov ecx, dword [ebp - 0xc4]
mov dword [eax + 0x14], ecx
jmp case.0x42f784.17
cmp dword [esi + 0x24], 0
je 0x4332ba
mov edx, dword [esi + 0x24]
mov eax, dword [edx]
mov dword [ebp - 0xc0], eax
mov eax, dword [eax]
mov dword [ebp - 0xbc], eax
mov edx, dword [esi + 0x24]
mov eax, dword [eax + 0x30]
lea ecx, [ebp - 0xc8]
push ecx
push edx
call eax
mov ecx, dword [ebp - 0xc0]
push ecx
push edi
mov dword [ebp - 0xd4], eax
call fcn.0042f580
mov eax, dword [ebp - 0xe8]
mov edx, dword [ebp - 0xc8]
mov dword [eax + 0x10], edx
mov ecx, dword [ebp - 0xc4]
add esp, 0x10
mov dword [eax + 0x14], ecx
jmp case.0x42f784.17
call fcn.0042c0f0
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x4350aa
mov eax, dword [ebp - 0xd0]
cmp byte [eax + 0x19], 0
je 0x433302
mov edx, dword [eax + 0x40]
mov dword [ebp - 0xc8], edx
mov eax, dword [eax + 0x44]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0xe8]
mov dword [eax + 0x10], edx
mov ecx, dword [ebp - 0xc4]
mov dword [eax + 0x14], ecx
jmp case.0x42f784.17
mov esi, dword [eax]
lea ecx, [ebp - 0xc8]
push ecx
call fcn.00420420
mov edx, dword [ebp - 0xc8]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xe8]
mov dword [eax + 0x10], edx
mov ecx, dword [ebp - 0xc4]
add esp, 4
mov dword [eax + 0x14], ecx
jmp case.0x42f784.17
mov edx, dword [edi + 4]
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x44]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0xd0], eax
mov byte [eax + 0x1c], 1
mov edx, dword [ebp - 0xd0]
mov byte [edx + 0x19], 0
mov eax, dword [ebp - 0xd0]
mov esi, dword [eax]
test esi, esi
je case.0x42f784.17
call fcn.0041c830
jmp case.0x42f784.17
mov ecx, dword [edi + 4]
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xd0], eax
mov esi, dword [eax]
mov dword [ebp - 0xcc], esi
test esi, esi
jne 0x4333a0
mov dword [ebp - 0xc8], 1
jmp 0x4333bd
lea edi, [ebp - 0xc8]
call fcn.00421010
mov edi, dword [ebp - 0xf0]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
mov cl, byte [ebp - 0xc8]
mov byte [eax + 0x1c], cl
mov edx, dword [ebp - 0xd0]
mov byte [edx + 0x1d], 0
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x19], 0
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x50], 0
mov edi, dword [edi + 8]
test edi, edi
jle case.0x42f784.17
cmp dword [ebp - 0xc8], 0
je case.0x42f784.17
dec edi
mov dword [ebp - 0xe4], edi
jmp case.0x42f784.17
mov eax, dword [ebp - 0xd8]
inc dword [eax + 0x80]
jmp 0x43341f
mov eax, dword [ebp - 0xd8]
mov edx, dword [edi + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xc8], 1
cmp dword [eax + 0x48], 0
je 0x43345b
mov ecx, dword [ebp - 0xdc]
push eax
lea edx, [ebp - 0xc8]
call fcn.00436cd0
add esp, 4
mov dword [ebp - 0xd4], eax
jmp 0x4334b0
mov eax, dword [eax]
lea edi, [ebp - 0xc8]
mov esi, eax
mov dword [ebp - 0xcc], eax
call fcn.00420fe0
cmp dword [ebp - 0xc8], 0
mov edx, dword [ebp - 0xd0]
mov edi, dword [ebp - 0xf0]
sete cl
mov byte [edx + 0x1a], cl
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1d], 0
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x50], 0
mov edx, dword [ebp - 0xd0]
mov byte [edx + 0x19], 0
mov al, byte [ebp - 0xc8]
mov ecx, dword [ebp - 0xd0]
mov byte [ecx + 0x1c], al
cmp dword [ebp - 0xc8], 0
je case.0x42f784.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe4], edi
jmp case.0x42f784.17
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx + 0xe0]
test eax, eax
jne 0x4350fb
mov esi, dword [ebp - 0xd8]
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x44]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0xd0], eax
test eax, eax
je case.0x42f784.17
cmp dword [eax + 0x48], 0
je 0x433527
lea ecx, [ebp - 0xcc]
push ecx
mov ecx, dword [ebp - 0xdc]
push eax
call fcn.00436fa0
jmp 0x433540
mov dword [ebp - 0xcc], 1
mov eax, dword [eax]
mov ecx, dword [edi + 0x10]
lea edx, [ebp - 0xcc]
push edx
push eax
call ecx
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0xd4], eax
mov al, byte [ebp - 0xcc]
mov byte [edx + 0x1c], al
mov ecx, dword [ebp - 0xd0]
add esp, 8
mov dword [ecx + 0x50], 0
cmp dword [ebp - 0xcc], 0
jne 0x43358a
mov eax, dword [edi + 8]
dec eax
mov dword [ebp - 0xe4], eax
mov al, byte [edi + 3]
test al, al
je 0x43358a
movzx edx, al
inc dword [esi + edx*4 + 0x78]
lea eax, [esi + edx*4 + 0x78]
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x19], 0
jmp case.0x42f784.17
mov edx, dword [ebp - 0xd8]
mov ecx, dword [edi + 4]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xd0], ecx
mov eax, dword [edi + 8]
mov esi, dword [ecx]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xe0]
lea ebx, [eax + edx*8]
mov dword [ebp - 0xcc], esi
test esi, esi
je case.0x42f784.17
mov edx, 0x4000
test word [ebx + 0x1c], dx
je 0x4335f9
mov eax, ebx
call fcn.00428220
mov dword [ebp - 0xd4], eax
test eax, eax
jne case.0x42f784.17
mov esi, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xd0]
cmp dword [ecx + 0x48], 0
je 0x43361a
mov eax, dword [ebp - 0xdc]
push ecx
push eax
call fcn.00436b90
add esp, 8
mov dword [ebp - 0xd4], eax
jmp case.0x42f784.17
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0xc8], eax
mov ebx, dword [ebx + 4]
mov dword [ebp - 0xc4], ebx
test byte [edi + 3], 0x10
je 0x433637
mov ecx, dword [ecx + 0x4c]
jmp 0x433639
xor ecx, ecx
push ecx
mov ecx, dword [edi + 0xc]
push ecx
push 0
push 0
cdq
push 0x49a1a2
push edx
push eax
push ebx
mov eax, esi
call fcn.004243b0
mov edx, dword [ebp - 0xd0]
add esp, 0x20
mov dword [ebp - 0xd4], eax
mov dword [edx + 0x50], 0
jmp case.0x42f784.17
mov ecx, dword [ebp - 0xd8]
mov eax, dword [edi + 4]
mov edx, dword [ecx + 0x44]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xd0], eax
mov ecx, dword [eax]
mov dword [ebp - 0xcc], ecx
test ecx, ecx
je case.0x42f784.17
mov eax, dword [eax + 8]
mov dword [ebp - 0xc0], eax
mov dx, word [edi + 0xc]
xor eax, eax
mov word [ebp - 0xbc], dx
mov word [ebp - 0xba], ax
mov edi, dword [edi + 8]
mov eax, dword [ebp - 0xe0]
lea edx, [edi + edi*4]
lea edx, [eax + edx*8]
lea eax, [ebp - 0xc8]
push eax
push 0
push 0
mov dword [ebp - 0xb0], edx
push 0
lea edx, [ebp - 0xc0]
push edx
push ecx
call fcn.00421050
add esp, 0x18
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x433704
cmp dword [ebp - 0xc8], eax
jne 0x433704
mov esi, dword [ebp - 0xcc]
call fcn.004245e0
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x50], 0
jmp case.0x42f784.17
mov ecx, dword [edi + 4]
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xcc], eax
mov ecx, dword [eax]
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0xd0], ecx
mov edx, 1
mov word [eax + 0x1c], dx
cmp dword [ebp - 0xd0], 0
je case.0x42f784.17
mov esi, dword [ebp - 0xcc]
call fcn.0042c0f0
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x4350aa
mov ecx, dword [ebp - 0xcc]
cmp byte [ecx + 0x1c], al
jne case.0x42f784.17
mov eax, dword [ebp - 0xd0]
lea edx, [ebp - 0xc8]
push edx
call fcn.0042c910
add esp, 4
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x4350aa
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xe8]
mov dword [eax + 0x10], ecx
mov edx, dword [ebp - 0xc4]
mov ecx, 4
mov dword [eax + 0x14], edx
mov word [eax + 0x1c], cx
jmp case.0x42f784.17
mov eax, dword [ebp - 0xd8]
mov edx, dword [edi + 4]
mov ecx, dword [eax + 0x44]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0xd0], eax
cmp dword [eax], 0
je case.0x42f784.17
mov edx, dword [eax + 8]
mov dword [ebp - 0xc8], edx
mov cx, word [edi + 0x10]
mov word [ebp - 0xc4], cx
cmp byte [edi + 3], 0
je 0x433806
mov edx, 0xc
mov word [ebp - 0xc2], dx
jmp 0x433812
mov ecx, 4
mov word [ebp - 0xc2], cx
mov edi, dword [edi + 0xc]
mov ecx, dword [ebp - 0xe0]
lea edx, [edi + edi*4]
lea edx, [ecx + edx*8]
lea ecx, [ebp - 0xcc]
mov dword [ebp - 0xb8], edx
push ecx
lea edx, [ebp - 0xc8]
push edx
mov edi, eax
call fcn.0042ca80
mov ecx, dword [ebp - 0xcc]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xf0]
add esp, 8
cmp byte [eax], 0x64
jne 0x43385a
neg ecx
jmp 0x43385b
inc ecx
mov dword [ebp - 0xcc], ecx
test ecx, ecx
jle case.0x42f784.17
mov eax, dword [eax + 8]
dec eax
mov dword [ebp - 0xe4], eax
jmp case.0x42f784.17
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xcc], 0
mov eax, dword [ecx + 0x88]
mov dword [ebp - 0xc8], eax
mov edx, 1
test eax, eax
je 0x4338c8
lea ecx, [ecx]
cmp dword [eax + 0x34], 0xbdf20da3
jne 0x4338bb
cmp byte [eax + 0x66], 2
jae 0x4338bb
cmp dword [eax + 0x58], 0
jl 0x4338bb
add dword [ebp - 0xcc], edx
mov eax, dword [eax + 0x40]
mov dword [ebp - 0xc8], eax
test eax, eax
jne 0x4338a0
mov esi, dword [ebp - 0xe8]
mov eax, edx
mov word [esi + 0x1c], ax
cmp dword [ebp - 0xcc], edx
jle 0x4338f5
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xd4], 6
mov byte [ecx + 0x60], 2
jmp case.0x42f784.17
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xc4], eax
mov ecx, dword [ecx + 8]
lea edx, [ebp - 0xd0]
push edx
mov edx, dword [edi + 4]
add eax, eax
mov eax, dword [ecx + eax*8 + 4]
push edx
call fcn.00425120
mov ecx, eax
mov edx, 4
mov word [esi + 0x1c], dx
mov eax, dword [ebp - 0xd0]
cdq
add esp, 8
mov dword [ebp - 0xd4], ecx
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
test ecx, ecx
jne case.0x42f784.17
mov esi, dword [ebp - 0xd0]
test esi, esi
je case.0x42f784.17
mov edi, dword [edi + 4]
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xdc]
call fcn.00444a10
mov al, byte [ebp - 0xc4]
inc al
mov byte [ebp - 0xf1], al
jmp case.0x42f784.17
mov dword [ebp - 0xd0], 0
mov eax, dword [edi + 0xc]
mov edx, dword [edi + 4]
neg eax
sbb eax, eax
lea ecx, [ebp - 0xd0]
and eax, ecx
mov ecx, dword [ebp - 0xdc]
push eax
mov eax, dword [edi + 8]
push edx
mov edx, dword [ecx + 8]
add eax, eax
mov eax, dword [edx + eax*8 + 4]
call fcn.00424d10
add esp, 8
cmp dword [edi + 0xc], 0
mov dword [ebp - 0xd4], eax
je case.0x42f784.17
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xd8]
add dword [ecx + 0x6c], eax
mov edi, dword [edi + 0xc]
test edi, edi
jle case.0x42f784.17
mov edx, dword [ebp - 0xe0]
lea ecx, [edi + edi*4]
lea ecx, [edx + ecx*8 + 0x10]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
jmp case.0x42f784.17
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xd0], 0
mov eax, dword [edi + 4]
shl eax, 4
add eax, dword [ecx + 8]
xor ecx, ecx
mov dword [ebp - 0xc8], eax
cmp byte [edi], 0x69
lea edx, [ebp - 0xd0]
setne cl
inc ecx
push ecx
mov dword [ebp - 0xcc], ecx
mov eax, dword [eax + 4]
push edx
call fcn.00424b10
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
cdq
add esp, 8
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.0x42f784.17
mov eax, dword [edi + 4]
mov dword [ebp - 0xd0], eax
mov ecx, str.sqlite_temp_master
cmp eax, 1
je 0x433a66
mov ecx, str.sqlite_master
mov ebx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xd8]
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xc4], ebx
mov edx, dword [edi + 4]
mov dword [ebp - 0xc0], edx
lea edx, [esi + 0x38]
mov dword [ebp - 0xbc], edx
mov edx, dword [edi + 0x10]
push edx
push ecx
mov ecx, dword [ebx + 8]
add eax, eax
mov edx, dword [ecx + eax*8]
push edx
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push ebx
call fcn.0040e350
add esp, 0x14
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x42fc3b
push 0
lea eax, [ebp - 0xc4]
push eax
mov byte [ebx + 0x7c], 1
mov ecx, dword [ebp - 0xc8]
push fcn.00455b90
push ecx
push ebx
mov dword [ebp - 0xb8], 0
call fcn.00452bb0
mov edi, eax
add esp, 0x14
mov dword [ebp - 0xd4], edi
test edi, edi
jne 0x433b00
mov edx, dword [ebp - 0xb8]
mov dword [ebp - 0xd4], edx
mov edi, edx
mov eax, dword [ebp - 0xc8]
push eax
push ebx
call fcn.0040cdd0
add esp, 8
mov byte [ebx + 0x7c], 0
cmp edi, 7
je 0x42fc3b
jmp case.0x42f784.17
mov eax, dword [edi + 4]
mov ebx, dword [ebp - 0xdc]
call fcn.00440fc0
mov dword [ebp - 0xd4], eax
jmp case.0x42f784.17
mov ecx, dword [ebp - 0xdc]
mov eax, dword [edi + 4]
push ecx
mov ecx, dword [edi + 0x10]
call fcn.00443010
add esp, 4
jmp case.0x42f784.17
mov edx, dword [ebp - 0xdc]
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 4]
push edx
call fcn.00442b70
add esp, 4
jmp case.0x42f784.17
mov eax, dword [ebp - 0xdc]
mov ecx, dword [edi + 0x10]
push eax
mov eax, dword [edi + 4]
call fcn.00460eb0
add esp, 4
jmp case.0x42f784.17
mov eax, dword [edi + 8]
mov esi, dword [ebp - 0xdc]
lea ecx, [eax*4 + 4]
mov dword [ebp - 0xd0], eax
call fcn.0040d020
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x42fc2f
mov ecx, dword [edi + 0xc]
mov edx, dword [ebp - 0xe0]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*8]
mov dword [ebp - 0xbc], ecx
mov ecx, dword [edi + 4]
lea ecx, [ecx + ecx*4]
lea esi, [edx + ecx*8]
xor ecx, ecx
mov dword [ebp - 0xc8], ecx
cmp dword [ebp - 0xd0], ecx
jle 0x433c15
lea edx, [ecx + ecx*4]
lea ecx, [esi + edx*8]
call fcn.00428500
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xcc]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0xc8]
inc ecx
mov dword [ebp - 0xc8], ecx
cmp ecx, dword [ebp - 0xd0]
jl 0x433be0
mov eax, dword [ebp - 0xcc]
mov dword [eax + ecx*4], 0
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ecx + 0x10]
mov ecx, dword [ebp - 0xcc]
lea eax, [ebp - 0xc4]
push eax
mov eax, dword [ebp - 0xd0]
push edx
movzx edx, byte [edi + 3]
mov edi, dword [ebp - 0xdc]
push eax
mov eax, dword [edi + 8]
add edx, edx
push ecx
mov ecx, dword [eax + edx*8 + 4]
call fcn.00426310
mov ecx, dword [ebp - 0xcc]
push ecx
push edi
mov dword [ebp - 0xc0], eax
call fcn.0040cdd0
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xbc]
cdq
add esp, 0x18
sub dword [ecx + 0x10], eax
sbb dword [ecx + 0x14], edx
call fcn.004287b0
cmp dword [ebp - 0xc4], 0
je 0x433cad
mov eax, dword [ebp - 0xc0]
test eax, eax
je 0x42fc2f
push 1
push eax
mov eax, fcn.0040cd30
or ecx, 0xffffffff
mov edx, esi
call fcn.00428b20
add esp, 8
movzx ecx, byte [ebp - 0xec]
mov eax, esi
call fcn.00428080
jmp case.0x42f784.17
mov eax, dword [edi + 4]
mov edi, dword [edi + 8]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xe0]
test byte [eax + edx*8 + 0x1c], 0x20
lea esi, [eax + edx*8]
lea ecx, [edi + edi*4]
lea ebx, [eax + ecx*8]
jne 0x433cf0
mov edi, esi
call fcn.00428910
test byte [esi + 0x1c], 0x20
je 0x42fc2f
mov edx, dword [ebx + 0x14]
mov eax, dword [ebx + 0x10]
mov edi, dword [esi + 0x10]
push edx
push eax
call fcn.00414870
add esp, 8
jmp case.0x42f784.17
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0xe0]
test edx, edx
jne 0x4350fb
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 0x20
lea ebx, [ecx + eax*8]
je 0x433d6e
mov eax, dword [ebx + 0x10]
lea esi, [ebp - 0xd0]
call fcn.00414c30
test eax, eax
je 0x433d6e
mov edx, dword [ebp - 0xcc]
mov edi, dword [edi + 0xc]
mov eax, dword [ebp - 0xd0]
push edx
mov edx, dword [ebp - 0xe0]
lea ecx, [edi + edi*4]
push eax
lea esi, [edx + ecx*8]
call fcn.00428800
add esp, 8
jmp case.0x42f784.17
mov esi, ebx
call fcn.004287b0
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe4], edi
jmp case.0x42f784.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x10]
mov dword [ebp - 0xd0], eax
test byte [esi + 0x1c], 0x20
lea ebx, [ecx + edx*8]
jne 0x433dc8
mov edi, esi
call fcn.00428910
test byte [esi + 0x1c], 0x20
je 0x42fc2f
mov eax, dword [ebp - 0xd0]
mov edi, dword [ebp - 0xf0]
test eax, eax
je 0x433e0c
js 0x433dd3
and eax, 0xf
jmp 0x433dd8
mov eax, 0xff
mov ecx, dword [ebx + 0x14]
mov edx, dword [ebx + 0x10]
push ecx
mov ecx, dword [esi + 0x10]
push edx
call fcn.00414cb0
add esp, 8
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x433e04
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe4], edi
jmp case.0x42f784.17
mov eax, dword [ebp - 0xd0]
test eax, eax
js case.0x42f784.17
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x10]
mov edi, dword [esi + 0x10]
push eax
push ecx
call fcn.00414870
add esp, 8
jmp case.0x42f784.17
mov ecx, dword [edi + 0x10]
mov esi, dword [ebp - 0xd8]
mov dword [ebp - 0xb8], ecx
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xe0]
lea edx, [eax + edx*8]
mov dword [ebp - 0xc8], edx
cmp byte [edi + 3], 0
je 0x433e86
mov eax, dword [esi + 0xa8]
mov edi, dword [ecx + 0x10]
mov dword [ebp - 0xb4], edi
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x433e86
lea ecx, [ecx]
cmp dword [eax + 0x20], edi
je case.0x42f784.17
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0xbc], eax
test eax, eax
jne 0x433e70
mov eax, dword [esi + 0xb0]
mov ebx, dword [ebp - 0xdc]
cmp eax, dword [ebx + 0x70]
jl 0x433eb8
push str.too_many_levels_of_trigger_recursion
lea edi, [esi + 0x38]
mov eax, ebx
mov dword [ebp - 0xd4], 1
call fcn.0040d1e0
add esp, 4
jmp case.0x42f784.17
test byte [edx + 0x1c], 0x40
jne 0x434010
mov eax, dword [ecx + 8]
add eax, dword [ecx + 0xc]
lea edx, [eax + eax*4]
mov dword [ebp - 0xd0], eax
mov eax, dword [ecx + 0xc]
lea edi, [eax + edx*2]
lea edi, [edi*4 + 0x40]
mov eax, ebx
mov dword [ebp - 0xcc], edi
call fcn.0040d000
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x42fc35
mov ecx, dword [ebp - 0xc8]
push ecx
call fcn.00428460
mov eax, dword [ebp - 0xc8]
mov edx, 0x40
mov word [eax + 0x1c], dx
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xc8]
mov dword [edx + 0x10], ecx
mov eax, dword [ebp - 0xbc]
mov dword [eax], esi
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xd0]
mov dword [ecx + 0x24], edx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0xbc]
mov dword [edx + 0x28], ecx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xe4]
mov dword [eax + 4], ecx
mov edx, dword [esi + 8]
mov eax, dword [ebp - 0xbc]
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0xbc]
mov ecx, dword [esi + 0x18]
mov dword [edx + 0x14], ecx
mov eax, dword [esi + 0x44]
mov ecx, dword [ebp - 0xbc]
mov dword [ecx + 0x18], eax
mov dx, word [esi + 0x32]
mov eax, dword [ebp - 0xbc]
mov word [eax + 0x1c], dx
mov ecx, dword [esi + 4]
mov edx, dword [ebp - 0xbc]
mov dword [edx + 8], ecx
mov eax, dword [esi + 0x1c]
mov ecx, dword [ebp - 0xbc]
mov dword [ecx + 0xc], eax
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx + 0x10]
mov ecx, dword [ebp - 0xbc]
mov dword [ecx + 0x20], eax
mov ecx, dword [ebp - 0xbc]
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 - 0xc0], edx
mov dword [ebp - 0xc4], eax
cmp eax, edx
je 0x434019
lea ecx, [ecx]
mov ecx, 1
mov word [eax + 0x1c], cx
mov edx, dword [ebp - 0xc4]
mov dword [edx], ebx
mov eax, dword [ebp - 0xc4]
add eax, 0x28
mov dword [ebp - 0xc4], eax
cmp eax, dword [ebp - 0xc0]
jne 0x433fe0
mov ecx, dword [ebp - 0xbc]
jmp 0x434019
mov ecx, dword [edx + 0x10]
mov dword [ebp - 0xbc], ecx
inc dword [esi + 0xb0]
mov eax, dword [esi + 0xa8]
mov edx, dword [ebp - 0x100]
mov dword [ecx + 0x3c], eax
mov ecx, dword [ebp - 0xbc]
mov dword [ecx + 0x30], edx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xfc]
mov dword [eax + 0x34], ecx
mov edx, dword [esi + 0x6c]
mov eax, dword [ebp - 0xbc]
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0xbc]
lea ecx, [eax + 0x18]
mov dword [esi + 0xa8], eax
mov dword [esi + 8], ecx
mov dword [esi + 0x6c], 0
mov edx, dword [eax + 0x24]
mov dword [esi + 0x18], edx
mov ax, word [eax + 0x28]
mov word [esi + 0x32], ax
mov eax, edx
lea edx, [eax + eax*4 + 5]
lea eax, [ecx + edx*8]
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xb8]
mov dword [esi + 0x44], eax
mov eax, dword [ecx]
mov dword [esi + 4], eax
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x114], eax
mov dword [esi + 0x1c], ecx
mov dword [ebp - 0xe4], 0xffffffff
jmp case.0x42f784.17
mov edx, dword [ebp - 0xd8]
mov ecx, dword [edx + 0xa8]
mov ebx, dword [ebp - 0xe8]
mov dword [ebp - 0xd0], 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 - 0xcc], eax
call fcn.00428a00
add esp, 8
jmp case.0x42f784.17
cmp dword [edi + 4], 0
mov eax, dword [edi + 8]
cdq
je 0x43411c
mov ecx, dword [ebp - 0xdc]
add dword [ecx + 0x1f0], eax
adc dword [ecx + 0x1f4], edx
jmp case.0x42f784.17
mov ecx, dword [ebp - 0xd8]
add dword [ecx + 0x90], eax
adc dword [ecx + 0x94], edx
jmp case.0x42f784.17
cmp dword [edi + 4], 0
je 0x434160
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 0x1f0]
or edx, dword [eax + 0x1f4]
jne case.0x42f784.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe4], edi
jmp case.0x42f784.17
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x90]
or ecx, dword [eax + 0x94]
jne case.0x42f784.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe4], edi
jmp case.0x42f784.17
mov edx, dword [ebp - 0xd8]
mov ecx, dword [edx + 0xa8]
test ecx, ecx
je 0x4341c1
mov dword [ebp - 0xcc], ecx
mov eax, dword [ecx + 0x3c]
test eax, eax
je 0x4341b3
mov ecx, eax
mov dword [ebp - 0xcc], ecx
mov eax, dword [ecx + 0x3c]
test eax, eax
jne 0x4341a4
mov eax, dword [edi + 4]
mov ecx, dword [ecx + 0x10]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
jmp 0x4341d0
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xe0]
lea esi, [eax + edx*8]
mov dword [ebp - 0xd0], esi
call fcn.00428660
mov edi, dword [edi + 8]
mov edx, dword [ebp - 0xe0]
lea ecx, [edi + edi*4]
lea esi, [edx + ecx*8]
call fcn.00428660
mov ecx, dword [esi + 0x10]
mov eax, dword [ebp - 0xd0]
mov esi, dword [esi + 0x14]
cmp dword [eax + 0x14], esi
jg case.0x42f784.17
jl 0x43420f
cmp dword [eax + 0x10], ecx
jae case.0x42f784.17
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], esi
jmp case.0x42f784.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
cmp dword [ecx + eax*8 + 0x14], 0
jl case.0x42f784.17
jg 0x434240
mov edx, ecx
cmp dword [edx + eax*8 + 0x10], 0
jbe case.0x42f784.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe4], edi
jmp case.0x42f784.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
cmp dword [ecx + eax*8 + 0x14], 0
jg case.0x42f784.17
jl 0x434275
mov edx, ecx
cmp dword [edx + eax*8 + 0x10], 0
jae case.0x42f784.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe4], edi
jmp case.0x42f784.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [edi + 0xc]
cdq
add dword [ecx + 0x10], eax
adc dword [ecx + 0x14], edx
mov edx, dword [ecx + 0x10]
or edx, dword [ecx + 0x14]
jne case.0x42f784.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe4], edi
jmp case.0x42f784.17
movzx ecx, byte [edi + 3]
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0xd0], ecx
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xc4], eax
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x80], eax
xor eax, eax
mov dword [ebp - 0xcc], eax
test ecx, ecx
jle 0x434322
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0x80]
mov dword [edx + eax*4], ecx
mov ecx, dword [ebp - 0xc4]
call fcn.0042f300
mov eax, dword [ebp - 0xcc]
add dword [ebp - 0xc4], 0x28
inc eax
mov dword [ebp - 0xcc], eax
cmp eax, dword [ebp - 0xd0]
jl 0x4342ef
mov eax, dword [edi + 0x10]
mov edx, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xdc]
mov dword [ebp - 0xc0], eax
mov eax, dword [edi + 0xc]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0x90], eax
inc dword [eax + 0x18]
xor ebx, ebx
mov eax, 1
mov word [ebp - 0x9c], ax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xb4], ebx
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x98], ebx
mov dword [ebp - 0xb8], esi
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x88], ebx
test byte [eax + 3], 8
je 0x434396
mov ecx, dword [edi - 4]
mov dword [ebp - 0x88], ecx
mov edx, dword [ebp - 0x80]
mov ecx, dword [ebp - 0xd0]
mov eax, dword [eax + 0x10]
push edx
push ecx
lea edx, [ebp - 0xc0]
push edx
call eax
add esp, 0xc
cmp dword [ebp - 0x8c], ebx
je 0x4343ea
mov bl, 1
lea edi, [ebp - 0xb8]
call fcn.004290f0
mov edi, dword [ebp - 0xd8]
push eax
push 0x4a05bc
add edi, 0x38
mov eax, esi
call fcn.0040d1e0
mov ecx, dword [ebp - 0x8c]
add esp, 8
mov dword [ebp - 0xd4], ecx
lea edx, [ebp - 0xb8]
push edx
call fcn.00428460
add esp, 4
jmp case.0x42f784.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0xd0], ecx
mov eax, dword [edi + 0x10]
call fcn.00428380
mov dword [ebp - 0xd4], eax
test eax, eax
je 0x43444f
mov edi, dword [ebp - 0xd0]
mov bl, 1
call fcn.004290f0
mov edi, dword [ebp - 0xd8]
push eax
mov eax, dword [ebp - 0xdc]
push 0x4a05bc
add edi, 0x38
call fcn.0040d1e0
add esp, 8
movzx ecx, byte [ebp - 0xec]
mov eax, dword [ebp - 0xd0]
call fcn.00428080
mov ecx, dword [ebp - 0xd0]
call fcn.004289d0
test eax, eax
jne 0x42fa0a
jmp case.0x42f784.17
or eax, 0xffffffff
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc8], eax
xor esi, esi
mov dword [ebp - 0xcc], esi
mov eax, dword [edi + 8]
mov ecx, dword [edi + 4]
lea edx, [ebp - 0xc4]
push edx
mov edx, dword [ebp - 0xdc]
push eax
push ecx
push edx
lea eax, [ebp - 0xc8]
call fcn.00471a10
add esp, 0x10
mov dword [ebp - 0xd4], eax
cmp eax, 5
jne 0x4344cf
mov dword [ebp - 0xd4], esi
mov dword [ebp - 0xcc], 1
mov edx, dword [ebp - 0xe0]
xor eax, eax
mov dword [ebp - 0xd0], eax
mov edi, dword [edi + 0xc]
lea ecx, [edi + edi*4]
lea esi, [edx + ecx*8]
mov dword [ebp - 0xc0], esi
lea esp, [esp]
mov eax, dword [ebp + eax*4 - 0xcc]
cdq
push edx
push eax
call fcn.00428800
mov eax, dword [ebp - 0xd0]
mov esi, dword [ebp - 0xc0]
inc eax
add esi, 0x28
add esp, 8
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xc0], esi
cmp eax, 3
jl 0x4344f0
jmp case.0x42f784.17
mov edx, dword [edi + 0xc]
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xc8], edx
mov eax, dword [edi + 4]
mov ecx, dword [ecx + 8]
add eax, eax
mov eax, dword [ecx + eax*8 + 4]
mov dword [ebp - 0xd0], eax
mov eax, dword [eax + 4]
mov esi, dword [eax]
mov dword [ebp - 0xcc], esi
movzx ebx, byte [esi + 5]
mov dword [ebp - 0xc4], ebx
cmp edx, 0xffffffff
jne 0x43456b
mov edx, ebx
mov dword [ebp - 0xc8], edx
cmp byte [esi + 0xf], 3
jae 0x434587
mov ecx, dword [esi + 0x40]
cmp dword [ecx], 0
je 0x43458f
cmp dword [esi + 0x4c], 0
jl 0x43458f
jg 0x434587
cmp dword [esi + 0x48], 0
jbe 0x43458f
mov edx, ebx
mov dword [ebp - 0xc8], edx
mov eax, dword [esi + 0x90]
mov dword [ebp - 0xc0], eax
cmp edx, 5
jne 0x4345bd
cmp byte [eax], 0
je 0x4345b0
mov eax, esi
call fcn.00419760
test eax, eax
jne 0x4345bd
mov edx, ebx
mov dword [ebp - 0xc8], edx
jmp 0x434699
cmp edx, ebx
je 0x434699
cmp ebx, 5
je 0x4345d3
cmp edx, 5
jne 0x434699
mov eax, dword [ebp - 0xdc]
cmp byte [eax + 0x1c], 0
je 0x434652
cmp dword [eax + 0x8c], 1
jg 0x434652
cmp ebx, 5
jne 0x43460c
mov eax, esi
call fcn.004198a0
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x434644
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xcc]
jmp 0x434616
cmp ebx, 4
jne 0x434621
lea ecx, [ebx - 2]
mov eax, esi
call fcn.00419600
mov edx, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xd0]
xor eax, eax
cmp edx, 5
sete al
inc eax
push eax
push ecx
call fcn.004269a0
add esp, 8
mov dword [ebp - 0xd4], eax
test eax, eax
je 0x43468d
mov edx, dword [ebp - 0xc4]
mov dword [ebp - 0xc8], edx
jmp 0x434693
mov dword [ebp - 0xd4], 1
mov eax, str.into
cmp edx, 5
je 0x43466b
mov eax, str.out_of
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
mov edi, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xdc]
add edi, 0x38
call fcn.0040d1e0
add esp, 8
jmp case.0x42f784.17
mov edx, dword [ebp - 0xc8]
mov esi, dword [ebp - 0xcc]
mov ecx, edx
mov eax, esi
call fcn.00419600
mov dword [ebp - 0xc8], eax
mov edi, dword [edi + 8]
mov eax, dword [ebp - 0xe0]
lea edx, [edi + edi*4]
lea edx, [eax + edx*8]
mov ecx, 0xa02
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xe8], edx
cmp eax, 6
jne 0x4346d5
xor ecx, ecx
jmp 0x4346dc
mov ecx, dword [eax*4 + 0x49da8c]
mov dword [edx + 4], ecx
call fcn.0040ee50
movzx ecx, byte [ebp - 0xec]
mov dword [edx + 0x18], eax
mov eax, edx
mov byte [edx + 0x1f], 1
call fcn.00428080
jmp case.0x42f784.17
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xdc]
add ecx, 0x38
call fcn.004648f0
mov dword [ebp - 0xd4], eax
jmp case.0x42f784.17
mov edx, dword [edi + 4]
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 8]
add edx, edx
mov ebx, dword [ecx + edx*8 + 4]
mov dword [ebp - 0xd0], ebx
call fcn.0041f8e0
mov dword [ebp - 0xd4], eax
cmp eax, 0x65
jne case.0x42f784.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe4], edi
mov dword [ebp - 0xd4], 0
jmp case.0x42f784.17
cmp dword [edi + 4], 0
jne 0x434778
mov eax, dword [ebp - 0xdc]
call fcn.0042cb80
jmp case.0x42f784.17
mov edx, dword [ebp - 0xd8]
mov byte [edx + 0x63], 1
jmp case.0x42f784.17
mov cl, byte [edi + 0xc]
test cl, cl
jne 0x4347a1
mov eax, dword [ebp - 0xdc]
test dword [eax + 0xc], 0x80000
jne case.0x42f784.17
mov edx, dword [edi + 8]
mov eax, dword [edi + 4]
push edx
mov edx, dword [ebp - 0xdc]
mov edx, dword [edx + 8]
add eax, eax
mov esi, dword [edx + eax*8 + 4]
call fcn.00426890
add esp, 4
mov dword [ebp - 0xd4], eax
cmp al, 6
jne case.0x42f784.17
mov eax, dword [edi + 0x10]
push eax
push str.database_table_is_locked:__s
jmp 0x434671
mov edi, dword [edi + 0x10]
mov esi, dword [ebp - 0xdc]
mov dword [ebp - 0xd0], edi
call fcn.00465c10
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
test eax, eax
je case.0x42f784.17
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0xd8]
push ecx
push edx
call fcn.0042f580
add esp, 8
jmp case.0x42f784.17
mov eax, dword [ebp - 0xd8]
mov ecx, dword [edi + 0x10]
add eax, 0x38
push eax
mov eax, dword [edi + 4]
mov edi, dword [ebp - 0xdc]
push ecx
call fcn.00465760
add esp, 8
mov dword [ebp - 0xd4], eax
jmp case.0x42f784.17
mov esi, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xdc]
mov byte [esi + 0x66], 2
mov edx, dword [edi + 0x10]
mov eax, dword [edi + 4]
push edx
call fcn.00465a10
add esp, 4
mov dword [ebp - 0xd4], eax
mov byte [esi + 0x66], 0
jmp case.0x42f784.17
xor eax, eax
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], eax
mov eax, dword [edi + 0x10]
mov eax, dword [eax + 8]
mov dword [ebp - 0xc8], eax
mov ecx, dword [eax]
lea edx, [ebp - 0xcc]
push edx
mov dword [ebp - 0xc4], ecx
push eax
mov eax, dword [ecx + 0x18]
call eax
mov ecx, dword [ebp - 0xc8]
mov ebx, dword [ebp - 0xd8]
push ecx
mov esi, eax
push ebx
mov dword [ebp - 0xd4], esi
call fcn.0042f580
add esp, 0x10
test esi, esi
jne case.0x42f784.17
mov edx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xcc]
push esi
push 0xffffffffffffffff
mov dword [eax], edx
mov ecx, dword [edi + 4]
push esi
push ecx
push ebx
call fcn.0042f330
add esp, 0x14
mov dword [ebp - 0xd0], eax
test eax, eax
je 0x434912
mov edx, dword [ebp - 0xcc]
mov dword [eax + 0x24], edx
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax]
mov edx, dword [ecx]
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x28], edx
jmp case.0x42f784.17
mov ecx, dword [ebp - 0xdc]
mov byte [ecx + 0x1e], 1
mov edx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax + 0x1c]
push edx
call ecx
add esp, 4
jmp case.0x42f784.17
mov eax, dword [edi + 0xc]
mov esi, dword [ebp - 0xd8]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xe0]
lea eax, [eax + edx*8]
mov edx, dword [esi + 0x44]
mov esi, dword [esi + 0xc]
mov dword [ebp - 0xc4], eax
lea ebx, [eax + 0x28]
mov dword [ebp - 0xc0], ebx
mov ecx, dword [edi + 4]
mov ecx, dword [edx + ecx*4]
mov dword [ebp - 0xb4], ecx
mov edx, dword [ecx + 0x24]
mov dword [ebp - 0xbc], edx
mov ecx, dword [edx]
mov dword [ebp - 0xb8], ecx
mov ecx, dword [ecx]
mov dword [ebp - 0xc8], ecx
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0xd0], ecx
mov eax, dword [eax + 0x10]
mov dword [ebp - 0xcc], eax
xor eax, eax
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xa8], esi
mov dword [ebp - 0xac], eax
cmp ecx, eax
jle 0x4349f8
jmp 0x4349b7
mov ebx, dword [ebp - 0xc0]
lea ecx, [eax + eax*4 + 5]
lea edx, [ebx + ecx*8]
mov ecx, dword [ebp - 0xa8]
mov dword [ecx + eax*4], edx
mov edx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax + edx*4]
call fcn.0042f300
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xd0]
inc eax
mov dword [ebp - 0xac], eax
cmp eax, ecx
jl 0x4349b1
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xa8]
mov esi, dword [ebp - 0xd8]
push eax
mov eax, dword [ebp - 0xcc]
push ecx
mov byte [esi + 0x66], 1
mov ecx, dword [edi + 0x10]
push ecx
mov ecx, dword [ebp - 0xc8]
push eax
push edx
mov edx, dword [ecx + 0x20]
call edx
mov ebx, eax
mov eax, dword [ebp - 0xb8]
add esp, 0x14
push eax
push esi
mov dword [ebp - 0xd4], ebx
mov byte [esi + 0x66], 0
call fcn.0042f580
add esp, 8
test ebx, ebx
jne 0x434a5f
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx + 0x28]
push ecx
call eax
add esp, 4
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
je 0x434a72
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe4], edi
mov ecx, dword [ebp - 0xb4]
mov byte [ecx + 0x1c], 0
jmp case.0x42f784.17
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x44]
mov edx, dword [edi + 4]
mov eax, dword [edi + 0xc]
mov esi, dword [ecx + edx*4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xe0]
lea eax, [eax + edx*8]
mov dword [ebp - 0xc8], eax
cmp byte [esi + 0x1c], 0
je 0x434ab7
mov esi, eax
call fcn.004287b0
jmp case.0x42f784.17
mov ecx, dword [esi + 0x24]
mov eax, dword [ecx]
mov dword [ebp - 0xd0], eax
mov edx, dword [eax]
push 0x40
lea eax, [ebp - 0xc0]
push 0
push eax
mov dword [ebp - 0xcc], edx
call fcn.00489020
mov ebx, dword [ebp - 0xc8]
add esp, 0xc
lea eax, [ebp - 0xb8]
call fcn.00428ac0
mov ecx, dword [ebp - 0x9c]
and ecx, 0xbf01
or ecx, 1
mov word [ebp - 0x9c], cx
mov edx, dword [edi + 8]
mov ecx, dword [esi + 0x24]
push edx
mov edx, dword [ebp - 0xcc]
lea eax, [ebp - 0xc0]
push eax
mov eax, dword [edx + 0x2c]
push ecx
call eax
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xd8]
add esp, 0xc
push ecx
push edx
mov dword [ebp - 0xd4], eax
call fcn.0042f580
mov eax, dword [ebp - 0x8c]
add esp, 8
test eax, eax
je 0x434b4d
mov dword [ebp - 0xd4], eax
movzx ecx, byte [ebp - 0xec]
lea eax, [ebp - 0xb8]
call fcn.00428080
mov eax, dword [ebp - 0xc8]
lea ebx, [ebp - 0xb8]
call fcn.00428ac0
mov ecx, dword [ebp - 0xc8]
call fcn.004289d0
test eax, eax
jne 0x42fa0a
jmp case.0x42f784.17
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 0x44]
mov dword [ebp - 0xc8], 0
mov eax, dword [edi + 4]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xc4], eax
cmp byte [eax + 0x1c], 0
jne case.0x42f784.17
mov ecx, dword [eax + 0x24]
mov ecx, dword [ecx]
mov esi, dword [ebp - 0xd8]
mov dword [ebp - 0xd0], ecx
mov ecx, dword [ecx]
mov dword [ebp - 0xcc], ecx
mov byte [esi + 0x66], 1
mov edx, dword [eax + 0x24]
mov eax, dword [ecx + 0x24]
push edx
call eax
mov ecx, dword [ebp - 0xd0]
add esp, 4
push ecx
mov ebx, eax
push esi
mov dword [ebp - 0xd4], ebx
mov byte [esi + 0x66], 0
call fcn.0042f580
add esp, 8
test ebx, ebx
jne 0x434c18
mov edx, dword [ebp - 0xc4]
mov eax, dword [edx + 0x24]
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ecx + 0x28]
push eax
call edx
add esp, 4
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0
jne case.0x42f784.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe4], edi
jmp case.0x42f784.17
mov eax, dword [edi + 0x10]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0xd0], eax
mov edi, dword [edi + 4]
lea ecx, [edi + edi*4]
lea ecx, [edx + ecx*8]
mov dword [ebp - 0xcc], ecx
mov ecx, dword [ecx + 4]
mov edx, dword [eax]
mov edx, dword [edx + 0x4c]
push ecx
push eax
call edx
mov esi, dword [ebp - 0xd8]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
push eax
push esi
call fcn.0042f580
mov byte [esi + 0x63], 0
jmp 0x434ee5
mov ecx, dword [edi + 0x10]
mov eax, dword [ecx + 8]
mov dword [ebp - 0xd0], eax
mov eax, dword [eax]
mov dword [ebp - 0xcc], eax
mov edx, dword [edi + 8]
mov dword [ebp - 0xc8], edx
cmp dword [eax + 0x34], 0
je case.0x42f784.17
mov esi, dword [ebp - 0xdc]
mov al, byte [esi + 0x22]
mov ecx, dword [ebp - 0xd8]
mov byte [ebp - 0x101], al
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0xb8], eax
mov eax, dword [edi + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xe0]
lea ecx, [eax + ecx*8]
mov dword [ebp - 0xb4], ecx
mov dword [ebp - 0xc4], 0
test edx, edx
jle 0x434d2e
jmp 0x434cf0
call fcn.0042f300
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xb8]
mov dword [eax + edx*4], ecx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xb4]
inc eax
add ecx, 0x28
mov dword [ebp - 0xb4], ecx
mov dword [ebp - 0xc4], eax
cmp eax, dword [ebp - 0xc8]
jl 0x434cf0
mov cl, byte [edi + 3]
mov byte [esi + 0x22], cl
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xc8]
lea edx, [ebp - 0xc0]
push edx
mov edx, dword [ebp - 0xd0]
push eax
mov eax, dword [ebp - 0xcc]
push ecx
mov ecx, dword [eax + 0x34]
push edx
call ecx
mov dl, byte [ebp - 0x101]
mov ecx, dword [ebp - 0xd8]
mov ebx, eax
mov byte [esi + 0x22], dl
mov eax, dword [ebp - 0xd0]
push eax
push ecx
mov dword [ebp - 0xd4], ebx
call fcn.0042f580
add esp, 0x18
test ebx, ebx
jne 0x434dc1
cmp dword [edi + 4], ebx
je 0x432ff4
mov eax, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xbc]
mov dword [esi + 0x30], eax
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xbc]
mov dword [esi + 0x34], eax
mov eax, dword [ebp - 0xd8]
inc dword [eax + 0x6c]
mov dword [ebp - 0xfc], edx
jmp case.0x42f784.17
cmp ebx, 0x13
jne 0x432ff4
mov ecx, dword [edi + 0x10]
cmp byte [ecx + 0x10], 0
je 0x432ff4
mov al, byte [edi + 3]
cmp al, 4
jne 0x434ded
mov dword [ebp - 0xd4], 0
jmp case.0x42f784.17
cmp al, 5
jne 0x434e04
mov edx, dword [ebp - 0xd8]
mov eax, 2
mov byte [edx + 0x60], al
jmp case.0x42f784.17
mov edx, dword [ebp - 0xd8]
movzx eax, al
mov byte [edx + 0x60], al
jmp case.0x42f784.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 8]
add eax, eax
mov eax, dword [edx + eax*8 + 4]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 0x30]
mov eax, dword [ebp - 0xe8]
mov dword [eax + 0x10], edx
mov dword [eax + 0x14], 0
jmp case.0x42f784.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 8]
mov edi, dword [edi + 0xc]
add eax, eax
mov ecx, dword [edx + eax*8 + 4]
xor eax, eax
test edi, edi
je 0x434e69
mov eax, dword [ecx + 4]
mov eax, dword [eax + 0x30]
cmp eax, edi
jae 0x434e69
mov eax, edi
call fcn.0041e5f0
mov ecx, dword [ebp - 0xe8]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.0x42f784.17
mov ecx, dword [ebp - 0xdc]
cmp dword [ecx + 0x98], 0
je case.0x42f784.17
mov edi, dword [edi + 0x10]
test edi, edi
je 0x434e97
mov ecx, edi
jmp 0x434ea3
mov edx, dword [ebp - 0xd8]
mov ecx, dword [edx + 0xa0]
mov dword [ebp - 0xd0], ecx
test ecx, ecx
je case.0x42f784.17
mov eax, dword [ebp - 0xd8]
push eax
call fcn.0042ef30
mov esi, dword [ebp - 0xdc]
add esp, 4
mov dword [ebp - 0xcc], eax
mov ecx, dword [esi + 0x9c]
mov edx, dword [esi + 0x98]
push eax
push ecx
call edx
mov eax, dword [ebp - 0xcc]
push eax
push esi
call fcn.0040cdd0
add esp, 0x10
inc dword [ebp - 0xe4]
cmp dword [ebp - 0xd4], 0
jne 0x42fa30
mov esi, dword [ebp - 0xd8]
mov ebx, dword [ebp - 0xdc]
jmp 0x42f6e0
mov dword [ebp - 0xd4], 9
jmp 0x42fa30
mov ecx, dword [edi + 4]
mov dword [ebx + 0x5c], ecx
mov dl, byte [edi + 8]
mov ecx, dword [ebp - 0xe4]
mov byte [ebx + 0x60], dl
mov dword [ebx + 0x58], ecx
mov eax, dword [edi + 0x10]
test eax, eax
je 0x434f76
push eax
mov eax, dword [ebp - 0xdc]
push 0x4a05bc
lea edi, [ebx + 0x38]
call fcn.0040d1e0
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax + 0x10]
mov edx, dword [ebx + 0xa0]
push ecx
mov ecx, dword [ebp - 0xe4]
push edx
mov edx, dword [eax + 4]
push ecx
push str.abort_at__d_in___s_:__s
push edx
call fcn.0040e570
add esp, 0x1c
jmp 0x434f95
cmp dword [ebx + 0x5c], 0
je 0x434f95
mov eax, dword [ebx + 0xa0]
push eax
push ecx
mov ecx, dword [edi + 4]
push str.constraint_failed_at__d_in___s_
push ecx
call fcn.0040e570
add esp, 0x10
call fcn.0042b5e0
mov edi, 5
cmp eax, edi
je 0x434fea
mov edi, dword [ebx + 0x5c]
neg edi
sbb edi, edi
and edi, 0xffffff9c
add edi, 0x65
jmp 0x42fa98
lea ecx, [ebp - 0xc0]
push ecx
call fcn.00428460
add esp, 4
jmp 0x42fc2f
mov dword [ebp - 0xd4], 0x14
jmp 0x4350aa
mov edx, dword [ebp - 0xe4]
mov dword [ebx + 0x58], edx
mov byte [esi + 0x1c], 0
mov edi, 5
mov dword [ebx + 0x5c], edi
jmp 0x42fa98
test edi, edi
je 0x435024
mov eax, esi
call fcn.00471000
mov byte [esi + 0x1c], 1
mov esi, dword [ebp - 0xdc]
call fcn.004707f0
mov eax, dword [ebp - 0xd8]
mov edi, dword [eax + 0x5c]
neg edi
sbb edi, edi
and edi, 0xffffff9c
add edi, 0x65
jmp 0x42fa98
push ebx
mov ebx, dword [ebp - 0xd8]
mov ecx, ebx
call fcn.0042b580
mov edi, eax
add esp, 4
test edi, edi
jne 0x42fa98
mov al, byte [ebp - 0xd0]
mov byte [esi + 0x1c], al
call fcn.0042b5e0
mov edi, 5
cmp eax, edi
jne 0x435001
mov ecx, dword [ebp - 0xe4]
mov dl, 1
sub dl, byte [ebp - 0xd0]
mov dword [ebx + 0x58], ecx
mov byte [esi + 0x1c], dl
mov dword [ebx + 0x5c], edi
jmp 0x42fa98
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xe4]
mov edi, 5
mov dword [eax + 0x58], ecx
mov dword [eax + 0x5c], edi
jmp 0x42fa98
mov eax, 0x10474
call fcn.00472d10
mov dword [ebp - 0xd4], eax
jmp 0x4350aa
mov dword [ebp - 0xd4], 0xd
mov ecx, dword [ebp - 0xdc]
cmp byte [ecx + 0x1e], 0
je 0x4350c2
mov dword [ebp - 0xd4], 7
jmp 0x4350d2
cmp dword [ebp - 0xd4], 0xc0a
je 0x42fa30
mov eax, dword [ebp - 0xd4]
call fcn.004710d0
mov edi, dword [ebp - 0xd8]
push eax
push 0x4a05bc
add edi, 0x38
mov eax, ecx
call fcn.0040d1e0
add esp, 8
jmp 0x42fa30
mov esi, dword [ebp - 0xd8]
mov ebx, dword [ebp - 0xdc]
mov eax, 9
mov dword [ebp - 0xd4], eax
mov dword [esi + 0x5c], eax
mov eax, dword [str.interrupted]
test eax, eax
jne 0x435123
mov eax, str.unknown_error
push eax
push 0x4a05bc
lea edi, [esi + 0x38]
mov eax, ebx
call fcn.0040d1e0
add esp, 8
jmp 0x42fa30