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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x12c
mov eax, dword [0x4f06b4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, ecx
mov eax, dword [ebx + 4]
push esi
mov esi, dword [ebx]
mov ecx, dword [esi + 8]
mov edx, dword [ecx + 0xc]
mov ecx, dword [ebx + 8]
mov dword [ebp - 0x10c], eax
mov al, byte [edx + 0x4d]
mov edx, dword [esi + 0x30]
push edi
xor edi, edi
mov byte [ebp - 0xe4], al
mov eax, dword [esi + 0x34]
push ebx
mov dword [ebp - 0xd0], ebx
mov dword [ebp - 0xdc], edi
mov dword [ebp - 0xcc], edi
mov dword [ebp - 0xd4], esi
mov byte [ebp - 0xe9], 0
mov dword [ebp - 0x108], edi
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0xe0], edi
mov dword [ebp - 0x104], edi
mov dword [ebp - 0x110], edi
mov dword [ebp - 0xf8], edx
mov dword [ebp - 0xf4], eax
call fcn.004327f0
add esp, 4
cmp dword [ebx + 0x5c], 7
je 0x437c34
mov dword [ebx + 0x5c], edi
mov dword [ebx + 0x14], edi
mov ecx, dword [esi + 0xe0]
mov dword [esi + 0x1b4], edi
test ecx, ecx
jne 0x43cfc1
mov eax, dword [ebx + 0x58]
xor edx, edx
cmp dword [esi + 0x114], edx
mov dword [ebp - 0xdc], eax
setne dl
mov dword [ebp - 0x118], edx
lea ecx, [ecx]
cmp byte [esi + 0x1e], 0
jne 0x437c34
cmp dword [ebp - 0x118], 0
mov eax, dword [ebp - 0xdc]
mov edx, dword [ebp - 0x10c]
lea ecx, [eax + eax*4]
lea edi, [edx + ecx*4]
mov dword [ebp - 0xe8], edi
je 0x43772f
mov eax, dword [esi + 0x11c]
cmp eax, dword [ebp - 0x108]
jne 0x437729
mov ecx, dword [esi + 0x118]
mov edx, dword [esi + 0x114]
push ecx
call edx
add esp, 4
test eax, eax
jne 0x43cdcc
mov dword [ebp - 0x108], eax
inc dword [ebp - 0x108]
test byte [edi + 2], 2
je 0x43775a
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 0xd8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, esi
mov dword [ebp - 0xe0], esi
call fcn.00430970
mov edx, 4
mov word [esi + 0x1c], dx
movzx eax, byte [edi]
dec eax
cmp eax, 0x90
ja case.0x437769.17
jmp dword [eax*4 + 0x43d014]
mov esi, dword [ebp - 0xd4]
mov eax, dword [esi + 0xe0]
test eax, eax
jne 0x43cfbb
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x437769.17
mov eax, dword [edi + 4]
mov edx, dword [ebp - 0xd8]
lea ecx, [eax + eax*4]
lea ecx, [edx + ecx*8]
mov eax, 4
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xdc]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov ecx, dword [edi + 8]
dec ecx
mov dword [ebp - 0xdc], ecx
jmp case.0x437769.17
mov edi, dword [edi + 4]
mov eax, dword [ebp - 0xd8]
lea edx, [edi + edi*4]
mov ecx, dword [eax + edx*8 + 0x10]
mov dword [ebp - 0xdc], ecx
jmp case.0x437769.17
mov edi, dword [edi + 4]
mov eax, dword [ebp - 0xd8]
lea edx, [edi + edi*4]
lea ecx, [eax + edx*8]
mov eax, dword [ecx + 0x10]
mov edx, 4
mov word [ecx + 0x1c], dx
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xdc]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xdc], ecx
jmp case.0x437769.17
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
test byte [eax + edx*8 + 0x1c], 1
je case.0x437769.17
cmp dword [edi + 4], 0
mov ebx, dword [ebp - 0xd0]
jne 0x43cddb
mov eax, dword [ebx + 0xa8]
test eax, eax
je 0x43cddb
mov ecx, dword [eax + 0x3c]
dec dword [ebx + 0xb0]
mov edx, dword [ebp - 0xd4]
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 - 0xd4]
mov edx, dword [ecx + 0x30]
mov eax, dword [eax + 4]
mov ecx, dword [ecx + 0x34]
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xf8], edx
mov dword [ebp - 0xf4], ecx
jne 0x4378e8
lea edx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov ecx, dword [eax + edx*4 + 8]
dec ecx
mov dword [ebp - 0xdc], ecx
mov edx, dword [ebx + 4]
mov eax, dword [ebx + 8]
mov dword [ebp - 0x10c], edx
mov dword [ebp - 0xd8], eax
jmp case.0x437769.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xe0]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.0x437769.17
mov edi, dword [edi + 0x10]
mov ecx, dword [edi]
mov eax, dword [ebp - 0xe0]
mov dword [eax + 0x10], ecx
mov edx, dword [edi + 4]
mov dword [eax + 0x14], edx
jmp case.0x437769.17
mov eax, dword [ebp - 0xe0]
mov ecx, 8
mov word [eax + 0x1c], cx
mov edx, dword [edi + 0x10]
fld qword [edx]
fstp qword [eax + 8]
jmp case.0x437769.17
mov ecx, dword [edi + 0x10]
mov byte [edi], 9
call fcn.00418ac0
cmp byte [ebp - 0xe4], 1
mov esi, dword [ebp - 0xe0]
mov dword [edi + 4], eax
je 0x4379dd
push 1
push ecx
or ebx, 0xffffffff
xor eax, eax
mov ecx, ebx
mov edx, esi
call fcn.00431020
add esp, 8
mov dword [ebp - 0xcc], eax
cmp eax, 0x12
je 0x4379ef
movzx ecx, byte [ebp - 0xe4]
mov eax, esi
call fcn.00430600
test eax, eax
jne 0x437c28
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 0x4379ce
mov eax, dword [edi + 0x10]
mov ecx, dword [ebp - 0xd4]
push eax
push ecx
call fcn.004169e0
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 - 0xd4]
cmp ecx, dword [edx + 0x48]
jle 0x437abd
mov edi, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xd4]
push str.string_or_blob_too_big
add edi, 0x38
call fcn.00416df0
mov dword [ebp - 0xcc], 0x12
add esp, 4
mov ebx, dword [ebp - 0xd0]
mov edx, dword [ebx + 0x38]
mov ecx, dword [ebx + 0xa0]
mov eax, dword [ebp - 0xcc]
push edx
mov edx, dword [ebp - 0xdc]
push ecx
push edx
push str.statement_aborts_at__d:___s___s
push eax
mov dword [ebx + 0x5c], eax
call fcn.004181c0
add esp, 0x14
call fcn.00433c00
cmp dword [ebp - 0xcc], 0xc0a
jne 0x437a5f
mov eax, dword [ebp - 0xd4]
mov byte [eax + 0x1e], 1
mov al, byte [ebp - 0xe9]
mov edi, 1
test al, al
je 0x437a7d
mov ecx, dword [ebp - 0xd4]
movzx eax, al
dec eax
call fcn.00449270
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ebp - 0xf4]
mov dword [eax + 0x30], ecx
mov dword [eax + 0x34], edx
mov eax, dword [ebp - 0xd0]
push eax
call fcn.00432860
mov ecx, dword [ebp - 4]
add esp, 4
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004a545d
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp - 0xe0]
mov eax, 0xa02
mov word [esi + 0x1c], ax
mov ecx, dword [edi + 0x10]
mov al, byte [ebp - 0xe4]
mov dword [esi + 4], ecx
mov edx, dword [edi + 4]
mov dword [esi + 0x18], edx
mov byte [esi + 0x1f], al
jmp case.0x437769.17
mov edx, dword [ebp - 0xe0]
mov ecx, 1
mov word [edx + 0x1c], cx
jmp case.0x437769.17
mov eax, dword [edi + 0x10]
mov esi, dword [ebp - 0xe0]
mov ecx, dword [edi + 4]
push 0
push eax
xor eax, eax
mov edx, esi
call fcn.00431020
mov cl, byte [ebp - 0xe4]
add esp, 8
mov byte [esi + 0x1f], cl
jmp case.0x437769.17
mov edi, dword [edi + 4]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0x48]
lea edx, [edi + edi*4]
lea esi, [ecx + edx*8 - 0x28]
mov ecx, esi
mov dword [ebp - 0xc8], esi
call fcn.00430ef0
test eax, eax
jne 0x4379ef
mov ebx, dword [ebp - 0xe0]
push 0x800
push esi
call fcn.00430f20
add esp, 8
jmp case.0x437769.17
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xc4], eax
mov ecx, dword [edi + 4]
lea edx, [ecx + ecx*4]
mov dword [ebp - 0xc0], ecx
mov edi, dword [edi + 8]
mov ecx, dword [ebp - 0xd8]
lea ebx, [ecx + edx*8]
lea edx, [edi + edi*4]
mov dword [ebp - 0xbc], edi
lea edi, [ecx + edx*8]
mov dword [ebp - 0xe0], edi
test eax, eax
je 0x437bd2
dec eax
mov dword [ebp - 0xc4], eax
mov eax, dword [edi + 0x24]
mov dword [ebp - 0xc8], eax
mov eax, edi
mov dword [edi + 0x24], 0
call fcn.00430fd0
mov ecx, dword [ebp - 0xc8]
mov dword [ebx + 0x24], ecx
mov eax, dword [ebp - 0xc4]
add ebx, 0x28
add edi, 0x28
test eax, eax
jne 0x437b95
mov dword [ebp - 0xe0], edi
dec eax
mov dword [ebp - 0xc4], eax
jmp case.0x437769.17
mov eax, dword [edi + 8]
mov edi, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
lea ebx, [eax + edx*8]
lea ecx, [edi + edi*4]
lea edx, [eax + ecx*8]
push 0x1000
push edx
mov dword [ebp - 0xe0], ebx
call fcn.00430f20
mov eax, 0x1000
add esp, 8
test word [ebx + 0x1c], ax
je case.0x437769.17
mov eax, ebx
call fcn.00430740
test eax, eax
je case.0x437769.17
mov esi, dword [ebp - 0xd4]
mov ebx, dword [ebp - 0xd0]
push str.out_of_memory
lea edi, [ebx + 0x38]
mov eax, esi
mov byte [esi + 0x1e], 1
call fcn.00416df0
mov dword [ebp - 0xcc], 7
jmp 0x437a12
mov eax, dword [edi + 8]
mov edi, dword [edi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
lea ebx, [eax + ecx*8]
lea edx, [edi + edi*4]
lea eax, [eax + edx*8]
push 0x1000
push eax
mov dword [ebp - 0xe0], ebx
call fcn.00430f20
add esp, 8
jmp case.0x437769.17
mov esi, dword [ebp - 0xd0]
push 0
mov ecx, esi
call fcn.00433ba0
add esp, 4
mov dword [ebp - 0xcc], eax
test eax, eax
jne case.0x437769.17
push 1
push esi
call fcn.00433aa0
add esp, 8
mov dword [ebp - 0xcc], eax
test eax, eax
jne case.0x437769.17
mov edx, dword [esi + 0x54]
mov ecx, dword [ebp - 0xd8]
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 - 0xc8], eax
mov dword [ebp - 0xc4], ecx
cmp dword [edi + 8], ecx
jle 0x437d55
mov eax, dword [ebp - 0xc8]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*8]
mov edx, 0x1000
test word [eax + 0x1c], dx
je 0x437d1b
call fcn.00430740
test eax, eax
jne 0x43cff5
mov ecx, dword [ebp - 0xc4]
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0xc8]
lea eax, [ecx + eax*8]
call fcn.00430800
mov eax, dword [ebp - 0xc4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xc8]
lea ecx, [eax + edx*8]
call fcn.00437310
mov ecx, dword [ebp - 0xc4]
inc ecx
mov dword [ebp - 0xc4], ecx
cmp ecx, dword [edi + 8]
jl 0x437cf1
mov esi, dword [ebp - 0xd4]
cmp byte [esi + 0x1e], 0
jne 0x437c2e
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xd0]
inc ecx
mov dword [edx + 0x58], ecx
mov edi, 0x64
jmp 0x437a7d
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
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 - 0x100], esi
mov dword [ebp - 0xe0], edi
test dl, 1
je 0x437dc6
mov esi, edi
call fcn.00430cf0
jmp case.0x437769.17
test eax, 0x4000
je 0x437ddc
mov eax, esi
call fcn.004307a0
test eax, eax
jne 0x437c28
mov eax, 0x4000
test word [ebx + 0x1c], ax
je 0x437df6
mov eax, ebx
call fcn.004307a0
test eax, eax
jne 0x437c28
test byte [esi + 0x1c], 0x12
jne 0x437e16
movzx esi, byte [ebp - 0xe4]
mov eax, dword [ebp - 0x100]
call fcn.00430850
test eax, eax
jne 0x437c28
test byte [ebx + 0x1c], 0x12
jne 0x437e32
movzx esi, byte [ebp - 0xe4]
mov eax, ebx
call fcn.00430850
test eax, eax
jne 0x437c28
mov esi, dword [ebp - 0x100]
mov eax, dword [esi + 0x18]
add eax, dword [ebx + 0x18]
cdq
mov ecx, edx
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], ecx
mov eax, dword [edx + 0x48]
cdq
cmp ecx, edx
jg 0x4379ef
jl 0x437e6d
cmp dword [ebp - 0xc8], eax
ja 0x4379ef
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 - 0xc8]
add eax, 2
push edx
call fcn.00430620
add esp, 4
test eax, eax
jne 0x437c28
cmp edi, ebx
je 0x437eba
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebx + 4]
mov edx, dword [edi + 4]
push eax
push ecx
push edx
call fcn.004a5470
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.004a5470
mov ecx, dword [ebp - 0xc8]
mov eax, dword [edi + 4]
mov byte [ecx + eax], 0
mov eax, dword [ebp - 0xc8]
mov edx, dword [edi + 4]
mov byte [edx + eax + 1], 0
mov al, byte [ebp - 0xe4]
mov ecx, 0x200
add esp, 0xc
or word [edi + 0x1c], cx
mov edx, dword [ebp - 0xc8]
mov dword [edi + 0x18], edx
mov byte [edi + 0x1f], al
jmp case.0x437769.17
mov eax, dword [edi + 4]
mov edx, dword [ebp - 0xd8]
lea ecx, [eax + eax*4]
lea ebx, [edx + ecx*8]
mov esi, ebx
call fcn.00437440
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 0xd8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
call fcn.00437440
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
lea ecx, [eax + edx*8]
movzx edx, word [ebx + 0x1c]
movzx eax, word [esi + 0x1c]
or edx, eax
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0xc8], edx
test dl, 1
jne 0x4381e1
mov cl, byte [ebx + 0x1c]
and cl, byte [esi + 0x1c]
test cl, 4
je 0x437fc2
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xc0], eax
mov ecx, dword [ebx + 0x14]
mov dword [ebp - 0xbc], ecx
mov edx, dword [esi + 0x10]
mov dword [ebp - 0xb8], edx
mov edx, dword [esi + 0x14]
mov dword [ebp - 0xb4], edx
movzx edx, byte [edi]
add edx, 0xffffffaa
cmp edx, 3
ja case.default.0x437fa2
jmp dword [edx*4 + 0x43d258]
push ecx
push eax
lea eax, [ebp - 0xb8]
push eax
call fcn.00419990
add esp, 0xc
test eax, eax
je 0x4380af
mov eax, ebx
call fcn.00430af0
fstp qword [ebp - 0xb0]
mov eax, esi
call fcn.00430af0
fst qword [ebp - 0xa8]
movzx eax, byte [edi]
add eax, 0xffffffaa
cmp eax, 3
ja case.default.0x437feb
jmp dword [eax*4 + 0x43d268]
push ecx
push eax
lea edx, [ebp - 0xb8]
call fcn.00419a20
add esp, 8
test eax, eax
jne 0x437fc2
jmp 0x4380af
push ecx
push eax
lea ecx, [ebp - 0xb8]
push ecx
call fcn.00419a70
add esp, 0xc
test eax, eax
jne 0x437fc2
jmp 0x4380af
mov edx, eax
or edx, ecx
je 0x4381e1
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x438051
cmp dword [ebp - 0xb8], 0
jne 0x438051
cmp dword [ebp - 0xb4], 0x80000000
je 0x437fc2
push ecx
mov ecx, dword [ebp - 0xb8]
push eax
mov eax, dword [ebp - 0xb4]
push eax
push ecx
call fcn.004b1fa0
jmp 0x4380a3
mov edx, eax
or edx, ecx
je 0x4381e1
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x43808e
mov eax, 1
xor ecx, ecx
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], ecx
push ecx
mov ecx, dword [ebp - 0xb8]
push eax
mov eax, dword [ebp - 0xb4]
push eax
push ecx
call fcn.004b2050
mov dword [ebp - 0xb4], edx
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xb8]
mov dword [eax + 0x10], edx
mov ecx, dword [ebp - 0xb4]
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.0x437769.17
fadd qword [ebp - 0xb0]
jmp 0x438189
fsub qword [ebp - 0xb0]
jmp 0x438189
fmul qword [ebp - 0xb0]
jmp 0x438189
fld qword [ebp - 0xb0]
fld st(0)
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x4381dd
fdivp st(1)
jmp 0x438189
fld qword [ebp - 0xb0]
call fcn.004bc946
mov esi, eax
mov edi, edx
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xbc], edi
call fcn.004bc946
mov ecx, esi
or ecx, edi
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], edx
je 0x4381e1
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x43816e
mov esi, 1
xor edi, edi
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xbc], edi
push edi
push esi
push edx
push eax
call fcn.004b2050
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x124], edx
fild qword [ebp - 0x128]
sub esp, 8
fst qword [ebp - 0xa8]
fstp qword [esp]
call fcn.00418a90
add esp, 8
test eax, eax
jne 0x4381e1
mov eax, dword [ebp - 0xe0]
fld qword [ebp - 0xa8]
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 - 0xc8], 8
jne case.0x437769.17
mov esi, eax
call fcn.00430b40
jmp case.0x437769.17
fstp st(0)
fstp st(0)
mov esi, dword [ebp - 0xe0]
call fcn.00430cf0
jmp case.0x437769.17
movzx edx, byte [edi + 3]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x80], ecx
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0x7c], edx
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xe0], eax
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
xor eax, eax
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0xc8], eax
test edx, edx
jle 0x438284
mov edx, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0x80]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0xc4]
mov edx, 0x1000
test word [eax + 0x1c], dx
je 0x438264
call fcn.00430740
test eax, eax
jne 0x437c28
mov eax, dword [ebp - 0xc4]
mov ecx, eax
call fcn.00437310
mov eax, dword [ebp - 0xc8]
add dword [ebp - 0xc4], 0x28
inc eax
mov dword [ebp - 0xc8], eax
cmp eax, dword [ebp - 0x7c]
jl 0x438234
cmp byte [edi + 1], 0xfb
mov eax, dword [edi + 0x10]
jne 0x43829d
mov dword [ebp - 0xc0], eax
xor eax, eax
mov dword [ebp - 0xbc], eax
jmp 0x4382ad
mov dword [ebp - 0xbc], eax
mov ecx, dword [eax]
mov dword [ebp - 0xc0], ecx
xor eax, eax
mov esi, dword [ebp - 0xd4]
mov ebx, dword [ebp - 0xe0]
mov edx, 1
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], eax
lea eax, [ebp - 0xb8]
mov word [ebp - 0x9c], dx
mov dword [ebp - 0xb8], esi
call fcn.00430fd0
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xc0]
and eax, 0xbf01
or eax, 1
mov word [ebp - 0x9c], ax
mov dword [ebp - 0x8c], 0
test byte [ecx + 3], 8
je 0x438316
mov edx, dword [edi - 4]
mov dword [ebp - 0x88], edx
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xf4]
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov edx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x7c]
push edx
mov edx, dword [ebp - 0xc0]
push eax
mov eax, dword [edx + 0xc]
lea ecx, [ebp - 0xc0]
push ecx
call eax
mov ebx, dword [ebp - 0xbc]
mov ecx, dword [esi + 0x30]
mov edx, dword [esi + 0x34]
add esp, 0xc
mov dword [ebp - 0xf8], ecx
mov dword [ebp - 0xf4], edx
test ebx, ebx
je 0x43837a
mov eax, dword [edi + 4]
push eax
call fcn.00434190
mov ecx, dword [ebp - 0xbc]
add esp, 4
mov dword [edi + 0x10], ecx
mov byte [edi + 1], 0xf9
cmp byte [esi + 0x1e], 0
jne 0x43ce75
cmp dword [ebp - 0x8c], 0
je 0x4383bf
mov bl, 1
lea edi, [ebp - 0xb8]
call fcn.00431630
mov edi, dword [ebp - 0xd0]
push eax
push 0x4da8b4
add edi, 0x38
mov eax, esi
call fcn.00416df0
mov edx, dword [ebp - 0x8c]
add esp, 8
mov dword [ebp - 0xcc], edx
movzx ecx, byte [ebp - 0xe4]
lea eax, [ebp - 0xb8]
call fcn.00430600
mov esi, dword [ebp - 0xe0]
lea ebx, [ebp - 0xb8]
mov eax, esi
call fcn.00430fd0
mov ecx, esi
call fcn.00430ef0
test eax, eax
jne 0x4379ef
jmp case.0x437769.17
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
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 - 0xe0], esi
test al, 1
je 0x438433
call fcn.00430cf0
jmp case.0x437769.17
call fcn.00430a80
mov ecx, ebx
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
call fcn.00430a80
mov ebx, eax
mov esi, edx
mov dword [ebp - 0xb8], ebx
mov dword [ebp - 0xb4], esi
mov al, byte [edi]
mov byte [ebp - 0xb0], al
cmp al, 0x52
jne 0x438478
and dword [ebp - 0xc8], ebx
and dword [ebp - 0xc4], esi
jmp 0x43859f
cmp al, 0x53
jne 0x43848d
or dword [ebp - 0xc8], ebx
or dword [ebp - 0xc4], esi
jmp 0x43859f
mov ecx, ebx
or ecx, esi
je 0x43859f
test esi, esi
jg 0x4384d7
jl 0x4384a1
test ebx, ebx
jae 0x4384cc
mov dl, 0xa9
sub dl, al
mov al, dl
mov byte [ebp - 0xb0], al
cmp esi, 0xffffffff
jl 0x438504
jg 0x4384b9
cmp ebx, 0xffffffc0
jbe 0x438504
neg ebx
adc esi, 0
neg esi
mov dword [ebp - 0xb8], ebx
mov dword [ebp - 0xb4], esi
test esi, esi
jl 0x43852b
jg 0x4384d7
cmp ebx, 0x40
jb 0x43852b
cmp dword [ebp - 0xc4], 0
jg 0x43851a
jl 0x4384eb
cmp dword [ebp - 0xc8], 0
jae 0x43851a
cmp al, 0x54
je 0x43851a
or eax, 0xffffffff
cdq
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
jmp 0x43859f
mov dword [ebp - 0xb8], 0x40
mov dword [ebp - 0xb4], 0
jmp 0x4384d7
xor eax, eax
cdq
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
jmp 0x43859f
mov edx, dword [ebp - 0xc4]
cmp al, 0x54
mov eax, dword [ebp - 0xc8]
mov ecx, ebx
jne 0x438548
call fcn.004bc8f0
mov esi, eax
mov edi, edx
jmp 0x438587
call fcn.004bccb0
cmp dword [ebp - 0xc4], 0
mov esi, eax
mov edi, edx
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xbc], edi
jg 0x438593
jl 0x438571
cmp dword [ebp - 0xc8], 0
jae 0x438593
mov ecx, 0x40
sub ecx, ebx
or eax, 0xffffffff
or edx, 0xffffffff
call fcn.004bc8f0
or esi, eax
or edi, edx
mov dword [ebp - 0xbc], edi
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xc8], esi
mov dword [ebp - 0xc4], edi
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xc8]
mov dword [eax + 0x10], ecx
mov edx, dword [ebp - 0xc4]
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.0x437769.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
call fcn.00430be0
mov eax, dword [edi + 8]
cdq
add dword [esi + 0x10], eax
adc dword [esi + 0x14], edx
jmp case.0x437769.17
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
lea esi, [eax + edx*8]
call fcn.00437440
test byte [esi + 0x1c], 8
je 0x438612
call fcn.00430b40
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x438631
mov edi, dword [edi + 8]
test edi, edi
je 0x43ce89
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x437769.17
and eax, 0xbf04
or eax, 4
mov word [esi + 0x1c], ax
jmp case.0x437769.17
mov edi, dword [edi + 4]
mov edx, dword [ebp - 0xd8]
lea ecx, [edi + edi*4]
test byte [edx + ecx*8 + 0x1c], 4
lea esi, [edx + ecx*8]
je case.0x437769.17
call fcn.00430c10
jmp case.0x437769.17
mov edi, dword [edi + 4]
mov ecx, dword [ebp - 0xd8]
lea eax, [edi + edi*4]
lea edi, [ecx + eax*8]
movzx eax, word [edi + 0x1c]
test al, 1
jne case.0x437769.17
mov ecx, eax
shr ecx, 3
and ecx, 2
or ecx, eax
mov word [edi + 0x1c], cx
test cl, 2
jne 0x4386a7
test cl, 0xc
je 0x4386a7
movzx esi, byte [ebp - 0xe4]
mov eax, edi
call fcn.00430850
mov eax, 0xfff3
and word [edi + 0x1c], ax
movzx eax, word [edi + 0x1c]
test eax, 0x4000
je 0x4386d6
mov eax, edi
call fcn.004307a0
mov ecx, 0xbfe3
and word [edi + 0x1c], cx
mov dword [ebp - 0xcc], eax
jmp case.0x437769.17
mov ecx, 0xbfe3
and word [edi + 0x1c], cx
mov dword [ebp - 0xcc], 0
jmp case.0x437769.17
mov edi, dword [edi + 4]
mov eax, dword [ebp - 0xd8]
lea edx, [edi + edi*4]
lea edi, [eax + edx*8]
movzx eax, word [edi + 0x1c]
test al, 1
jne case.0x437769.17
test al, 0x10
jne 0x43873c
test al, 2
jne 0x438723
test al, 0xc
je 0x438723
movzx esi, byte [ebp - 0xe4]
mov eax, edi
call fcn.00430850
mov cx, word [edi + 0x1c]
mov edx, 0xbf10
and cx, dx
or cx, 0x10
mov word [edi + 0x1c], cx
jmp case.0x437769.17
and eax, 0xff10
mov word [edi + 0x1c], ax
jmp case.0x437769.17
mov edi, dword [edi + 4]
mov ecx, dword [ebp - 0xd8]
lea eax, [edi + edi*4]
lea eax, [ecx + eax*8]
call fcn.00430c70
jmp case.0x437769.17
mov edi, dword [edi + 4]
mov eax, dword [ebp - 0xd8]
lea edx, [edi + edi*4]
test byte [eax + edx*8 + 0x1c], 1
lea esi, [eax + edx*8]
jne case.0x437769.17
call fcn.00430be0
jmp case.0x437769.17
mov edi, dword [edi + 4]
mov edx, dword [ebp - 0xd8]
lea ecx, [edi + edi*4]
test byte [edx + ecx*8 + 0x1c], 1
lea esi, [edx + ecx*8]
jne case.0x437769.17
call fcn.00430c10
jmp case.0x437769.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd8]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x100], edx
mov dx, word [edx + 0x1c]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov word [ebp - 0xc2], dx
mov bl, byte [ebp - 0xc2]
mov dword [ebp - 0xf0], eax
mov ax, word [eax + 0x1c]
mov dl, al
or dl, bl
mov word [ebp - 0xc0], ax
test dl, 1
je 0x43885d
mov dl, byte [edi + 3]
test dl, dl
jns 0x438818
mov esi, dword [ebp - 0xf0]
and al, bl
mov ebx, dword [ebp - 0x100]
test al, 1
mov eax, 0
sete al
jmp 0x4388f0
test dl, 0x10
je 0x438845
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 - 0xe0], eax
mov word [eax + 0x1c], cx
jmp case.0x437769.17
test dl, 8
je case.0x437769.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x437769.17
mov al, byte [edi + 3]
mov ebx, dword [ebp - 0x100]
and al, 0x67
mov byte [ebp - 0xc4], al
je 0x4388b0
mov esi, dword [ebp - 0xe4]
push esi
mov edi, ebx
call fcn.00437520
mov al, byte [ebp - 0xc4]
add esp, 4
push esi
mov esi, dword [ebp - 0xf0]
mov edi, esi
call fcn.00437520
mov eax, dword [ebp - 0xd4]
add esp, 4
cmp byte [eax + 0x1e], 0
jne 0x437c28
mov edi, dword [ebp - 0xe8]
jmp 0x4388b6
mov esi, dword [ebp - 0xf0]
mov ecx, 0x4000
test word [ebx + 0x1c], cx
je 0x4388c8
mov eax, ebx
call fcn.004307a0
mov edx, 0x4000
test word [esi + 0x1c], dx
je 0x4388da
mov eax, esi
call fcn.004307a0
mov eax, dword [edi + 0x10]
push eax
mov eax, ebx
mov ecx, esi
call fcn.00431210
mov ecx, dword [ebp - 0xd8]
add esp, 4
mov dword [ebp - 0xc8], eax
movzx edx, byte [edi]
add edx, 0xffffffb5
cmp edx, 4
ja case.default.0x438901
jmp dword [edx*4 + 0x43d278]
xor edx, edx
test eax, eax
sete dl
jmp 0x43893c
xor edx, edx
test eax, eax
setne dl
jmp 0x43893c
xor edx, edx
test eax, eax
sets dl
jmp 0x43893c
xor edx, edx
test eax, eax
setle dl
jmp 0x43893c
xor edx, edx
test eax, eax
setg dl
jmp 0x43893c
xor edx, edx
test eax, eax
setns dl
mov eax, edx
mov dword [ebp - 0xc8], eax
test byte [edi + 3], 0x10
je 0x438992
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 - 0xc8]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov dword [ebp - 0xe0], ecx
mov cl, byte [ebp - 0xc2]
mov byte [ebx + 0x1c], cl
mov dl, byte [ebp - 0xc0]
mov byte [esi + 0x1c], dl
jmp case.0x437769.17
test eax, eax
je 0x4389a0
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
mov cl, byte [ebp - 0xc2]
mov byte [ebx + 0x1c], cl
mov dl, byte [ebp - 0xc0]
mov byte [esi + 0x1c], dl
jmp case.0x437769.17
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x110], eax
jmp case.0x437769.17
mov ecx, dword [edi + 0xc]
mov dword [ebp - 0xc8], ecx
mov ebx, dword [edi + 0x10]
mov dword [ebp - 0xb8], ebx
mov edx, dword [edi + 4]
mov dword [ebp - 0xc0], edx
mov eax, dword [edi + 8]
mov dword [ebp - 0xbc], eax
xor eax, eax
mov dword [ebp - 0xc4], eax
test ecx, ecx
jle 0x438aa7
mov edi, dword [ebp - 0x110]
mov esi, dword [ebp - 0xd8]
jmp 0x438a16
mov ebx, dword [ebp - 0xb8]
test edi, edi
je 0x438a1f
mov ecx, dword [edi + eax*4]
jmp 0x438a21
mov ecx, eax
mov dword [ebp - 0xb4], ecx
mov edx, dword [ebx + eax*4 + 0xc]
mov dword [ebp - 0xb0], edx
mov ebx, dword [ebx + 8]
movzx eax, byte [ebx + eax]
mov dword [ebp - 0xac], eax
push edx
mov edx, dword [ebp - 0xbc]
lea eax, [ecx + edx]
add ecx, dword [ebp - 0xc0]
lea eax, [eax + eax*4]
lea ecx, [ecx + ecx*4]
lea eax, [esi + eax*8]
lea ecx, [esi + ecx*8]
call fcn.00431210
add esp, 4
mov dword [ebp - 0x104], eax
test eax, eax
jne 0x438a90
mov eax, dword [ebp - 0xc4]
inc eax
mov dword [ebp - 0xc4], eax
cmp eax, dword [ebp - 0xc8]
jl 0x438a10
mov dword [ebp - 0x110], 0
jmp case.0x437769.17
cmp dword [ebp - 0xac], 0
je 0x438aa7
mov edx, dword [ebp - 0x104]
neg edx
mov dword [ebp - 0x104], edx
mov dword [ebp - 0x110], 0
jmp case.0x437769.17
mov eax, dword [ebp - 0x104]
test eax, eax
jns 0x438acf
mov edi, dword [edi + 4]
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x437769.17
jne 0x438ae0
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x437769.17
mov edi, dword [edi + 0xc]
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x437769.17
mov eax, dword [edi + 4]
mov esi, dword [ebp - 0xd8]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 0x1c], 1
lea ecx, [esi + eax*8]
je 0x438b0c
mov edx, 2
jmp 0x438b1e
call fcn.00430a80
or eax, edx
je 0x438b1c
mov edx, 1
jmp 0x438b1e
xor edx, edx
mov dword [ebp - 0xc8], edx
mov eax, dword [edi + 8]
lea ecx, [eax + eax*4]
test byte [esi + ecx*8 + 0x1c], 1
lea ecx, [esi + ecx*8]
je 0x438b3b
mov eax, 2
jmp 0x438b53
call fcn.00430a80
or eax, edx
mov edx, dword [ebp - 0xc8]
je 0x438b51
mov eax, 1
jmp 0x438b53
xor eax, eax
mov dword [ebp - 0xc4], eax
cmp byte [edi], 0x45
jne 0x438b6b
lea eax, [eax + edx*2]
movzx eax, byte [edx + eax + 0x4d1f54]
jmp 0x438b76
lea ecx, [eax + edx*2]
movzx eax, byte [edx + ecx + 0x4d348c]
mov dword [ebp - 0xc8], eax
mov edi, dword [edi + 0xc]
lea edx, [edi + edi*4]
lea ecx, [esi + edx*8]
mov dword [ebp - 0xe0], ecx
cmp eax, 2
jne 0x438ba9
mov ax, word [ecx + 0x1c]
mov edx, 0xbf01
and ax, dx
or ax, 1
mov word [ecx + 0x1c], ax
jmp case.0x437769.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.0x437769.17
mov eax, dword [edi + 4]
mov edi, dword [edi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
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 - 0xe0], esi
je 0x438bf8
call fcn.00430cf0
jmp case.0x437769.17
call fcn.00430a80
or eax, edx
jne 0x438c16
mov eax, 1
cdq
push edx
push eax
call fcn.00430d40
add esp, 8
jmp case.0x437769.17
xor eax, eax
cdq
push edx
push eax
call fcn.00430d40
add esp, 8
jmp case.0x437769.17
mov eax, dword [edi + 4]
mov edi, dword [edi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
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 - 0xe0], esi
je 0x438c57
call fcn.00430cf0
jmp case.0x437769.17
call fcn.00430a80
not edx
not eax
push edx
push eax
call fcn.00430d40
add esp, 8
jmp case.0x437769.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea eax, [ecx + eax*8]
je 0x438c8a
mov eax, dword [edi + 0xc]
jmp 0x438cb7
call fcn.00430af0
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x438ca1
mov eax, 1
jmp 0x438ca3
xor eax, eax
mov dword [ebp - 0xc8], eax
cmp byte [edi], 0x1b
jne 0x438cbd
xor edx, edx
test eax, eax
sete dl
mov eax, edx
mov dword [ebp - 0xc8], eax
test eax, eax
je case.0x437769.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x437769.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
je case.0x437769.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x437769.17
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
test byte [eax + edx*8 + 0x1c], 1
jne case.0x437769.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x437769.17
mov ecx, dword [edi + 4]
xor eax, eax
mov dword [ebp - 0xb8], ecx
mov edx, dword [edi + 8]
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xb4], edx
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], eax
xor ebx, ebx
mov dword [ebp - 0xb0], ebx
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x8c], eax
mov dx, word [eax + 0x1c]
mov esi, 0xbf01
and dx, si
or dx, 1
mov word [eax + 0x1c], dx
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0x44]
mov esi, dword [ebp - 0xb8]
mov dword [ebp - 0xac], ebx
mov esi, dword [eax + esi*4]
mov dword [ebp - 0xb0], esi
mov eax, dword [esi]
mov dword [ebp - 0xa8], eax
cmp eax, ebx
je 0x438e47
call fcn.00434380
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x43cf6a
mov eax, dword [ebp - 0xb0]
cmp byte [eax + 0x1c], bl
je 0x438de0
mov dword [ebp - 0xc8], ebx
jmp case.0x437769.17
mov ecx, dword [eax + 0x4c]
mov edx, dword [ebp - 0xd0]
cmp ecx, dword [edx + 0x54]
jne 0x438e02
mov ecx, dword [eax + 0x50]
mov dword [ebp - 0xc8], ecx
mov edx, dword [eax + 0x5c]
mov dword [ebp - 0xac], edx
jmp 0x438e7f
mov esi, dword [ebp - 0xa8]
cmp byte [eax + 0x1f], bl
je 0x438e30
lea eax, [ebp - 0xc0]
push eax
call fcn.00429170
mov ecx, dword [ebp - 0xc0]
add esp, 4
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], ecx
jmp 0x438e79
lea edx, [ebp - 0xc8]
push edx
call fcn.004291f0
add esp, 4
mov dword [ebp - 0xcc], eax
jmp 0x438e79
mov eax, dword [esi + 0x10]
cmp eax, ebx
jle 0x438dd5
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x48], eax
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0xc8], ecx
mov eax, dword [eax + 4]
mov dword [ebp - 0xac], eax
test byte [edi + 3], 0x20
je 0x438e73
xor eax, eax
jmp 0x438e76
mov eax, dword [edx + 0x54]
mov dword [esi + 0x4c], eax
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xc8]
test ecx, ecx
je case.0x437769.17
mov edx, dword [ebp - 0xd4]
cmp ecx, dword [edx + 0x48]
ja 0x4379ef
mov edx, dword [eax + 0x14]
mov esi, dword [ebp - 0xd0]
mov dword [ebp - 0x9c], edx
mov ecx, dword [eax + 0x54]
mov dword [ebp - 0xa4], ecx
mov ebx, dword [eax + 0x4c]
cmp ebx, dword [esi + 0x54]
jne 0x438eca
mov eax, dword [eax + 0x58]
mov dword [ebp - 0xa0], eax
jmp 0x439184
lea ecx, [ecx + edx*4]
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0x4c], 0
mov dword [eax + 0x58], ecx
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xc8]
mov dword [ecx + 0x50], edx
mov ecx, dword [ebp - 0xb0]
mov eax, dword [esi + 0x54]
mov dword [ecx + 0x4c], eax
mov ecx, dword [ebp - 0xac]
test ecx, ecx
je 0x438f0d
mov dword [ebp - 0x90], ecx
jmp 0x438fdb
mov edx, dword [ebp - 0xb0]
cmp byte [edx + 0x1f], 0
je 0x438f8a
mov eax, dword [ebp - 0xa8]
mov ecx, eax
xor edx, edx
cmp byte [eax + 0x53], 1
mov dword [ebp - 0xf0], ecx
jne 0x438f86
cmp word [eax + 0x3a], dx
jne 0x438f78
movsx ecx, word [eax + 0x5a]
movzx esi, word [eax + ecx*2 + 0x5c]
mov ecx, dword [eax + ecx*4 + 0x84]
movzx ebx, word [ecx + 0xc]
mov edx, dword [ecx + 0x40]
add ebx, edx
lea esi, [ebx + esi*2]
movzx ebx, byte [esi + 1]
movzx esi, byte [esi]
shl esi, 8
or ebx, esi
movzx esi, word [ecx + 0x12]
and ebx, esi
add ebx, edx
push ebx
add eax, 0x20
push ecx
call fcn.00425d40
mov ecx, dword [ebp - 0xf0]
add esp, 8
movzx edx, word [ecx + 0x34]
add edx, dword [ecx + 0x28]
movzx ecx, word [ecx + 0x36]
mov dword [ebp - 0x4c], ecx
mov eax, edx
jmp 0x438fa6
mov esi, dword [ebp - 0xa8]
xor eax, eax
cmp byte [esi + 0x53], 1
jne 0x438fa6
lea edx, [ebp - 0x4c]
push 1
push edx
call fcn.00429790
add esp, 8
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0xc8], ecx
ja 0x438fc8
mov edx, dword [ebp - 0xb0]
mov dword [ebp - 0xac], eax
mov dword [edx + 0x5c], eax
jmp 0x438fd5
mov eax, dword [ebp - 0xb0]
mov dword [eax + 0x5c], 0
mov ecx, dword [ebp - 0x90]
mov al, byte [ecx]
cmp al, 0x80
jae 0x438fee
movzx edx, al
mov dword [ebp - 0x58], edx
mov eax, 1
jmp 0x439002
lea esi, [ebp - 0x58]
call fcn.004197d0
mov edx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x90]
movzx eax, al
movzx eax, al
mov dword [ebp - 0x50], eax
cmp edx, 0x18003
jbe 0x439025
mov eax, 0xfdf5
call fcn.00475d80
mov dword [ebp - 0xcc], eax
jmp case.0x437769.17
mov esi, dword [ebp - 0x9c]
lea eax, [esi + esi*4 + 3]
mov dword [ebp - 0x98], eax
cmp eax, edx
jle 0x439041
mov eax, edx
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0xac], 0
jne 0x4390a6
cmp dword [ebp - 0x4c], eax
jge 0x4390a6
mov edx, dword [ebp - 0xb0]
xor ecx, ecx
mov word [ebp - 0x6c], cx
mov dword [ebp - 0x88], ecx
movzx ecx, byte [edx + 0x1f]
push ecx
push eax
mov eax, dword [ebp - 0xa8]
push 0
lea ebx, [ebp - 0x88]
call fcn.00431490
add esp, 0xc
mov dword [ebp - 0xcc], eax
test eax, eax
jne case.0x437769.17
mov ecx, dword [ebp - 0x84]
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x98]
mov esi, dword [ebp - 0x9c]
mov dword [ebp - 0x90], ecx
add eax, ecx
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x50]
add eax, ecx
xor ecx, ecx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x94], ecx
test esi, esi
jle 0x43913b
mov eax, dword [ebp - 0x60]
cmp eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0xa0]
jae 0x4391d1
mov dword [eax + ecx*4], edx
mov ecx, dword [ebp - 0x60]
mov al, byte [ecx]
mov edx, dword [ebp - 0x94]
cmp al, 0x80
jae 0x4390f6
movzx ecx, al
mov eax, dword [ebp - 0xa4]
mov dword [eax + edx*4], ecx
mov eax, 1
jmp 0x439107
mov eax, dword [ebp - 0xa4]
lea esi, [eax + edx*4]
call fcn.004197d0
movzx eax, al
mov edx, dword [ebp - 0xa4]
movzx ecx, al
add dword [ebp - 0x60], ecx
mov ecx, dword [ebp - 0x94]
mov eax, dword [edx + ecx*4]
call fcn.00434510
mov edx, dword [ebp - 0x58]
add edx, eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x58], edx
cmp edx, eax
jae 0x4391e1
mov ecx, dword [ebp - 0x5c]
inc ecx
mov dword [ebp - 0x60], ecx
lea edx, [ebp - 0x88]
push edx
call fcn.004309e0
mov ecx, dword [ebp - 0x5c]
mov eax, 1
mov word [ebp - 0x6c], ax
mov eax, dword [ebp - 0x60]
add esp, 4
cmp eax, ecx
ja 0x439309
mov edx, dword [ebp - 0x58]
mov esi, dword [ebp - 0xc8]
cmp edx, esi
ja 0x439309
cmp eax, ecx
jne 0x43917e
cmp edx, esi
jne 0x439309
mov ecx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xa0]
cmp dword [edx + eax*4], 0
je 0x439297
cmp dword [ebp - 0xac], 0
je 0x4391f9
mov eax, dword [ebp - 0x8c]
call fcn.00430970
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xa4]
mov edx, dword [ecx + eax*4]
mov ecx, dword [ebp - 0xa0]
mov ecx, dword [ecx + eax*4]
add ecx, dword [ebp - 0xac]
jmp 0x439277
mov dword [eax + ecx*4], 0
mov edx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x94]
inc ecx
mov dword [ebp - 0x94], ecx
cmp ecx, dword [ebp - 0x9c]
jl 0x4390bf
jmp 0x43913b
mov eax, dword [ecx + eax*4]
call fcn.00434510
mov ebx, dword [ebp - 0x8c]
mov dword [ebp - 0x98], eax
lea eax, [ebp - 0x88]
call fcn.00430fd0
mov edx, dword [ebp - 0xb0]
movzx eax, byte [edx + 0x1f]
mov ecx, dword [ebp - 0x98]
mov edx, dword [ebp - 0xa0]
push eax
mov eax, dword [ebp - 0xb4]
push ecx
mov ecx, dword [edx + eax*4]
mov eax, dword [ebp - 0xa8]
push ecx
lea ebx, [ebp - 0x88]
call fcn.00431490
add esp, 0xc
mov dword [ebp - 0xcc], eax
test eax, eax
jne case.0x437769.17
mov ecx, dword [ebp - 0x84]
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x90], ecx
mov edx, dword [edx + eax*4]
mov esi, dword [ebp - 0x8c]
push edx
call fcn.004345e0
mov eax, dword [ebp - 0x8c]
mov cl, byte [ebp - 0xe4]
add esp, 4
mov byte [eax + 0x1f], cl
jmp 0x4392b4
cmp byte [edi + 1], 0xf8
jne 0x4392b4
mov edx, dword [edi + 0x10]
mov ebx, dword [ebp - 0x8c]
push 0x800
push edx
call fcn.00430f20
add esp, 8
cmp dword [ebp - 0x64], 0
je 0x4392f3
mov eax, dword [ebp - 0x8c]
mov ecx, 0xe7ff
and word [eax + 0x1c], cx
mov eax, dword [ebp - 0x8c]
mov edx, 0x200
or word [eax + 0x1c], dx
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x84]
mov dword [eax + 4], ecx
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x8c]
mov dword [eax + 0x24], edx
mov eax, dword [ebp - 0x8c]
call fcn.00430740
mov dword [ebp - 0xcc], eax
jmp case.0x437769.17
mov eax, 0xfe3f
call fcn.00475d80
mov dword [ebp - 0xcc], eax
jmp case.0x437769.17
mov ecx, dword [edi + 0x10]
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xc8], ecx
mov edi, dword [edi + 4]
lea edx, [edi + edi*4]
lea edi, [eax + edx*8]
mov al, byte [ecx]
mov byte [ebp - 0xc4], al
test al, al
je 0x439385
inc ecx
mov dword [ebp - 0xc8], ecx
mov ecx, 0x4000
test word [edi + 0x1c], cx
je 0x439361
mov eax, edi
call fcn.004307a0
mov al, byte [ebp - 0xc4]
mov edx, dword [ebp - 0xe4]
push edx
call fcn.00437520
mov ecx, dword [ebp - 0xc8]
mov al, byte [ecx]
add esp, 4
add edi, 0x28
mov byte [ebp - 0xc4], al
test al, al
jne 0x439342
inc ecx
mov dword [ebp - 0xc8], ecx
jmp case.0x437769.17
xor esi, esi
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xbc], esi
mov dword [ebp - 0xb8], esi
mov dword [ebp - 0xa8], esi
mov eax, dword [edi + 4]
mov dword [ebp - 0x94], eax
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0x90], ecx
mov ecx, dword [ebp - 0xd8]
lea edx, [eax + eax*4]
lea ebx, [ecx + edx*8]
mov edx, dword [ebp - 0xd0]
movzx edx, byte [edx + 0x65]
mov dword [ebp - 0x9c], ebx
mov eax, dword [edi + 8]
mov dword [ebp - 0x94], eax
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8 - 0x28]
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x98], eax
mov edi, dword [edi + 0xc]
lea edx, [edi + edi*4]
lea ecx, [ecx + edx*8]
mov edi, ebx
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0xc4], edi
cmp ebx, eax
ja 0x4394fd
mov esi, dword [ebp - 0x90]
test esi, esi
je 0x439451
mov edx, dword [ebp - 0xe4]
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.00437520
mov ebx, dword [ebp - 0x9c]
mov edi, dword [ebp - 0xc4]
add esp, 4
mov ecx, 0x4000
test word [edi + 0x1c], cx
je 0x439475
cmp dword [edi + 0x18], 0
jle 0x439475
mov eax, edi
call fcn.004307a0
mov ebx, dword [ebp - 0x9c]
mov edi, dword [ebp - 0xc4]
mov edx, dword [ebp - 0x8c]
push edx
mov ecx, edi
call fcn.00434420
mov ecx, eax
add esp, 4
mov dword [ebp - 0xa0], ecx
call fcn.00434510
mov dword [ebp - 0x84], eax
cdq
add dword [ebp - 0xc0], eax
push 0
push ecx
adc dword [ebp - 0xbc], edx
call fcn.00419840
mov esi, dword [ebp - 0xb8]
add esi, eax
mov eax, 0x4000
add esp, 8
mov dword [ebp - 0xb8], esi
test word [edi + 0x1c], ax
je 0x4394d5
mov ecx, dword [edi + 0x10]
add dword [ebp - 0xa8], ecx
jmp 0x4394e8
cmp dword [ebp - 0x84], 0
je 0x4394e8
mov dword [ebp - 0xa8], 0
add edi, 0x28
mov dword [ebp - 0xc4], edi
cmp edi, dword [ebp - 0x98]
jbe 0x439414
mov eax, esi
cdq
push edx
push eax
call fcn.00419840
mov edi, eax
add esi, edi
mov eax, esi
cdq
push edx
push eax
mov dword [ebp - 0xa4], edi
mov dword [ebp - 0xb8], esi
call fcn.00419840
add esp, 0x10
cmp edi, eax
jge 0x43952f
inc esi
mov dword [ebp - 0xb8], esi
mov eax, dword [ebp - 0xa8]
cdq
mov ebx, eax
mov dword [ebp - 0xf0], edx
mov eax, esi
cdq
mov edi, eax
mov ecx, edx
mov edx, dword [ebp - 0xd4]
sub edi, ebx
sbb ecx, dword [ebp - 0xf0]
add edi, dword [ebp - 0xc0]
adc ecx, dword [ebp - 0xbc]
mov dword [ebp - 0xb0], edi
mov dword [ebp - 0xac], ecx
mov eax, dword [edx + 0x48]
cdq
cmp ecx, edx
jg 0x4379ef
jl 0x439581
cmp edi, eax
ja 0x4379ef
mov esi, dword [ebp - 0xe0]
mov eax, edi
push 0
mov edi, esi
call fcn.00430620
add esp, 4
test eax, eax
jne 0x437c28
mov eax, dword [ebp - 0xb8]
mov ecx, dword [esi + 4]
mov dword [ebp - 0xc8], ecx
cmp eax, 0x80
jae 0x4395bc
mov byte [ecx], al
mov eax, 1
jmp 0x4395c1
call fcn.00419620
mov ecx, dword [ebp - 0x9c]
movzx edi, al
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x88], edi
mov dword [ebp - 0xc4], ecx
cmp ecx, eax
ja 0x43964a
mov edx, dword [ebp - 0x8c]
push edx
call fcn.00434420
add esp, 4
mov dword [ebp - 0xa0], eax
cmp eax, 0x80
jae 0x43960c
mov ecx, dword [ebp - 0xc8]
mov byte [edi + ecx], al
mov eax, 1
jmp 0x43961a
mov edx, dword [ebp - 0xc8]
lea ecx, [edi + edx]
call fcn.00419620
mov edi, dword [ebp - 0x88]
mov ecx, dword [ebp - 0xc4]
movzx eax, al
add edi, eax
mov eax, dword [ebp - 0x98]
add ecx, 0x28
mov dword [ebp - 0x88], edi
mov dword [ebp - 0xc4], ecx
cmp ecx, eax
jbe 0x4395e0
mov ecx, dword [ebp - 0x9c]
mov dword [ebp - 0xc4], ecx
cmp ecx, eax
ja 0x4396ab
jmp 0x439660
mov edx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xc8]
sub edx, edi
lea ebx, [edi + eax]
mov eax, dword [ebp - 0x8c]
push edx
call fcn.00434530
mov ecx, dword [ebp - 0xc4]
mov edi, dword [ebp - 0x88]
add ecx, 0x28
add edi, eax
add esp, 4
mov dword [ebp - 0x88], edi
mov dword [ebp - 0xc4], ecx
cmp ecx, dword [ebp - 0x98]
jbe 0x439660
mov esi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xb0]
mov edx, 0x410
mov dword [esi + 0x18], ecx
mov word [esi + 0x1c], dx
mov dword [esi + 0x20], 0
mov eax, dword [ebp - 0xa8]
test eax, eax
je 0x4396da
mov dword [esi + 0x10], eax
mov eax, 0x4410
mov word [esi + 0x1c], ax
mov byte [esi + 0x1f], 1
jmp case.0x437769.17
mov edx, dword [ebp - 0xd0]
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 - 0xc0], eax
cmp eax, ecx
je 0x439732
lea edx, [ebp - 0xc8]
push edx
call fcn.0042da40
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xe0]
mov dword [eax + 0x10], ecx
mov edx, dword [ebp - 0xc4]
add esp, 4
mov dword [eax + 0x14], edx
jmp case.0x437769.17
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0xc8], ecx
mov dword [eax + 0x10], ecx
mov edx, dword [ebp - 0xc4]
mov dword [eax + 0x14], edx
jmp case.0x437769.17
mov eax, dword [edi + 4]
mov dword [ebp - 0xc8], eax
mov edi, dword [edi + 0x10]
mov dword [ebp - 0xc4], edi
test eax, eax
jne 0x439872
mov ebx, dword [ebp - 0xd4]
cmp dword [ebx + 0x90], eax
jle 0x4397a4
mov edi, dword [ebp - 0xd0]
push str.cannot_open_savepoint___SQL_statements_in_progress
add edi, 0x38
mov eax, ebx
call fcn.00416df0
add esp, 4
mov dword [ebp - 0xcc], 5
jmp case.0x437769.17
mov ecx, edi
call fcn.00418ac0
mov dword [ebp - 0xc0], eax
mov eax, dword [ebx + 0x1e4]
add eax, dword [ebx + 0x1e0]
push eax
push 0
call fcn.00469f00
add esp, 8
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x43cf6a
mov ecx, dword [ebp - 0xc0]
add ecx, 0x19
mov esi, ebx
call fcn.00416c30
mov dword [ebp - 0xbc], eax
test eax, eax
je case.0x437769.17
lea ecx, [eax + 0x18]
mov dword [eax], ecx
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xbc]
inc edx
push edx
mov edx, dword [ecx]
push eax
push edx
call fcn.004a5470
mov eax, ebx
add esp, 0xc
cmp byte [eax + 0x1c], 0
je 0x43982e
mov byte [eax + 0x1c], 0
mov byte [eax + 0x1e8], 1
jmp 0x439834
inc dword [eax + 0x1e0]
mov ecx, dword [eax + 0x1dc]
mov edx, dword [ebp - 0xbc]
mov dword [edx + 0x10], ecx
mov ecx, dword [ebp - 0xbc]
mov edx, dword [eax + 0x1f0]
mov dword [eax + 0x1dc], ecx
mov ecx, dword [ebp - 0xbc]
mov dword [ecx + 8], edx
mov edx, dword [eax + 0x1f4]
mov eax, dword [ebp - 0xbc]
mov dword [eax + 0xc], edx
jmp case.0x437769.17
mov esi, dword [ebp - 0xd4]
mov dword [ebp - 0xb0], 0
mov ebx, dword [esi + 0x1dc]
mov dword [ebp - 0xb8], ebx
test ebx, ebx
je 0x4398b2
mov ecx, dword [ebx]
mov edx, edi
call fcn.00418cb0
test eax, eax
je 0x4398da
inc dword [ebp - 0xb0]
mov ebx, dword [ebx + 0x10]
mov dword [ebp - 0xb8], ebx
test ebx, ebx
jne 0x439892
push edi
mov edi, dword [ebp - 0xd0]
push str.no_such_savepoint:__s
add edi, 0x38
mov eax, esi
call fcn.00416df0
add esp, 8
mov dword [ebp - 0xcc], 1
jmp case.0x437769.17
cmp dword [esi + 0x90], 0
jg 0x439aca
mov eax, dword [ebp - 0xc8]
cmp eax, 2
jne 0x4398ff
cmp dword [esi + 0x8c], 1
jg 0x439ad3
cmp dword [ebx + 0x10], 0
jne 0x439961
cmp byte [esi + 0x1e8], 0
je 0x439961
mov dword [ebp - 0xf0], 1
cmp eax, 1
jne 0x43996b
mov ebx, dword [ebp - 0xd0]
push eax
mov ecx, ebx
call fcn.00433ba0
mov edi, eax
add esp, 4
test edi, edi
jne 0x437a7d
mov byte [esi + 0x1c], 1
call fcn.00433c00
cmp eax, 5
je 0x43ce98
mov byte [esi + 0x1e8], 0
mov ecx, dword [ebx + 0x5c]
mov dword [ebp - 0xcc], ecx
mov edi, esi
jmp 0x439a02
mov dword [ebp - 0xf0], 0
mov ecx, dword [esi + 0x1e0]
sub ecx, dword [ebp - 0xb0]
xor eax, eax
dec ecx
mov dword [ebp - 0xb0], ecx
mov dword [ebp - 0xac], eax
cmp dword [esi + 4], eax
jle 0x4399d5
jmp 0x439996
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xc8]
push ecx
mov ecx, dword [esi + 8]
add eax, eax
mov eax, dword [ecx + eax*8 + 4]
push edx
call fcn.00428ea0
add esp, 8
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x43cf6a
mov eax, dword [ebp - 0xac]
inc eax
mov dword [ebp - 0xac], eax
cmp eax, dword [esi + 4]
jl 0x439990
mov ebx, dword [ebp - 0xb8]
cmp dword [ebp - 0xc8], 2
mov edi, dword [ebp - 0xd4]
jne 0x439a08
mov esi, 0x200
test dword [edi + 0xc], esi
je 0x439a08
mov eax, edi
call fcn.00434dd0
or eax, 0xffffffff
mov ecx, edi
call fcn.00449270
or dword [edi + 0xc], esi
mov ebx, dword [ebp - 0xb8]
cmp dword [edi + 0x1dc], ebx
je 0x439a49
mov eax, dword [edi + 0x1dc]
mov dword [ebp - 0xb4], eax
mov edx, dword [eax + 0x10]
mov dword [edi + 0x1dc], edx
mov eax, dword [ebp - 0xb4]
push eax
push edi
call fcn.004169e0
dec dword [edi + 0x1e0]
mov ebx, dword [ebp - 0xb8]
add esp, 8
cmp dword [edi + 0x1dc], ebx
jne 0x439a10
cmp dword [ebp - 0xc8], 1
jne 0x439a80
mov ecx, dword [ebx + 0x10]
mov dword [edi + 0x1dc], ecx
mov edx, dword [ebp - 0xb8]
push edx
push edi
call fcn.004169e0
add esp, 8
cmp dword [ebp - 0xf0], 0
jne case.0x437769.17
dec dword [edi + 0x1e0]
jmp 0x439a9f
cmp dword [ebp - 0xf0], 0
mov eax, dword [ebx + 8]
mov dword [edi + 0x1f0], eax
mov ecx, dword [ebx + 0xc]
mov dword [edi + 0x1f4], ecx
jne case.0x437769.17
mov edx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xc8]
push edx
push eax
mov ebx, edi
call fcn.00469f00
add esp, 8
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x43cf6a
jmp case.0x437769.17
cmp dword [ebp - 0xc8], 2
jne 0x439ada
mov eax, str.rollback
jmp 0x439adf
mov eax, str.release
mov edi, dword [ebp - 0xd0]
push eax
push str.cannot__s_savepoint___SQL_statements_in_progress
add edi, 0x38
mov eax, esi
call fcn.00416df0
add esp, 8
mov dword [ebp - 0xcc], 5
jmp case.0x437769.17
mov eax, dword [edi + 4]
mov esi, dword [ebp - 0xd4]
mov dword [ebp - 0xc8], eax
mov edi, dword [edi + 8]
mov dword [ebp - 0xc4], edi
test eax, eax
je 0x439b47
cmp byte [esi + 0x1c], 0
jne 0x439b47
mov ebx, 1
mov dword [ebp - 0xc0], ebx
test edi, edi
je 0x439b6d
cmp dword [esi + 0x8c], ebx
jle 0x439b56
push str.cannot_rollback_transaction___SQL_statements_in_progress
jmp 0x439b7b
mov dword [ebp - 0xc0], 0
mov ebx, 1
movzx ecx, byte [esi + 0x1c]
cmp eax, ecx
jne 0x43ceb2
test eax, eax
jne 0x439b9d
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x439bab
cmp dword [esi + 0x90], 0
jle 0x439b56
push str.cannot_commit_transaction___SQL_statements_in_progress
mov edi, dword [ebp - 0xd0]
add edi, 0x38
mov eax, esi
call fcn.00416df0
add esp, 4
mov dword [ebp - 0xcc], 5
jmp case.0x437769.17
mov eax, str.cannot_rollback___no_transaction_is_active
test edi, edi
jne 0x439bab
mov eax, str.cannot_commit___no_transaction_is_active
mov edi, dword [ebp - 0xd0]
push eax
add edi, 0x38
mov eax, esi
call fcn.00416df0
add esp, 4
mov dword [ebp - 0xcc], ebx
jmp case.0x437769.17
mov edx, dword [edi + 4]
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 8]
add edx, edx
mov eax, dword [ecx + edx*8 + 4]
mov dword [ebp - 0xc8], eax
test eax, eax
je case.0x437769.17
mov edx, dword [edi + 8]
push edx
push eax
call fcn.00427a90
add esp, 8
mov dword [ebp - 0xcc], eax
cmp eax, 5
je 0x43cf32
test eax, eax
jne 0x43cf6a
cmp dword [edi + 8], eax
je case.0x437769.17
mov esi, dword [ebp - 0xd0]
cmp byte [esi + 0x67], al
je case.0x437769.17
mov ebx, dword [ebp - 0xd4]
cmp byte [ebx + 0x1c], al
je 0x439c3e
cmp dword [ebx + 0x8c], 1
jle case.0x437769.17
cmp dword [esi + 0x78], 0
jne 0x439c59
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.00469f00
add esp, 8
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x439c8a
mov eax, dword [esi + 0x78]
push eax
mov eax, dword [ebp - 0xc8]
call fcn.00428e50
add esp, 4
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebx + 0x1f0]
mov dword [esi + 0x98], ecx
mov edx, dword [ebx + 0x1f4]
mov dword [esi + 0x9c], edx
jmp case.0x437769.17
mov eax, dword [edi + 4]
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0xc4], eax
mov edi, dword [edi + 0xc]
lea ecx, [ebp - 0xc8]
mov dword [ebp - 0xc0], edi
push ecx
mov ecx, dword [edx + 8]
add eax, eax
mov eax, dword [ecx + eax*8 + 4]
push edi
call fcn.0042d940
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xe0]
cdq
add esp, 8
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.0x437769.17
mov edx, dword [edi + 4]
mov eax, dword [ebp - 0xd4]
shl edx, 4
add edx, dword [eax + 8]
mov dword [ebp - 0xc8], edx
mov eax, dword [edi + 0xc]
mov edx, dword [ebp - 0xd8]
lea ecx, [eax + eax*4]
lea esi, [edx + ecx*8]
call fcn.00430be0
mov eax, dword [esi + 0x10]
mov ecx, dword [edi + 8]
mov edx, dword [ebp - 0xc8]
push eax
mov eax, dword [edx + 4]
push ecx
call fcn.0042d9b0
mov dword [ebp - 0xcc], eax
mov eax, dword [edi + 8]
add esp, 8
cmp eax, 1
jne 0x439d5d
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 0xc]
mov edx, dword [esi + 0x10]
mov eax, dword [ebp - 0xd4]
mov dword [ecx], edx
or dword [eax + 0xc], 0x200
jmp 0x439d71
cmp eax, 2
jne 0x439d71
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 0xc]
mov dl, byte [esi + 0x10]
mov byte [ecx + 0x4c], dl
cmp dword [edi + 4], 1
jne case.0x437769.17
mov eax, dword [ebp - 0xd4]
call fcn.00434dd0
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x63], 0
jmp case.0x437769.17
mov ecx, dword [edi + 4]
mov esi, dword [ebp - 0xd4]
mov edx, dword [esi + 8]
add ecx, ecx
mov eax, dword [edx + ecx*8 + 4]
mov dword [ebp - 0xc0], eax
test eax, eax
je 0x439dd3
lea ecx, [ebp - 0xc8]
push ecx
push 1
call fcn.0042d940
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 0x439ddf
mov dword [ebp - 0xc8], 0
xor eax, eax
mov edx, dword [ebp - 0xc8]
mov dword [ebp - 0xc4], eax
cmp edx, dword [edi + 8]
jne 0x439df9
cmp eax, dword [edi + 0xc]
je case.0x437769.17
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0x38]
push ecx
push esi
call fcn.004169e0
push esi
mov ebx, str.database_schema_has_changed
call fcn.00416d70
mov ebx, dword [ebp - 0xd0]
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 - 0xc8]
je 0x439e41
mov eax, edi
mov ecx, esi
call fcn.00449270
mov byte [ebx + 0x63], 1
mov dword [ebp - 0xcc], 0x11
jmp case.0x437769.17
mov eax, dword [ebp - 0xd0]
cmp byte [eax + 0x63], 0
je 0x439e6f
mov dword [ebp - 0xcc], 4
jmp case.0x437769.17
mov esi, dword [ebp - 0xd4]
xor ecx, ecx
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xc4], ecx
mov edx, dword [edi + 8]
mov dword [ebp - 0xc0], edx
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xbc], eax
shl eax, 4
add eax, dword [esi + 8]
mov dword [ebp - 0xac], eax
mov esi, dword [eax + 4]
mov dword [ebp - 0xb4], esi
cmp byte [edi], 0x27
jne 0x439ecf
mov esi, dword [ebp - 0xd0]
mov dword [ebp - 0xb8], 1
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x4c]
cmp al, byte [esi + 0x65]
jae 0x439ed5
mov byte [esi + 0x65], al
jmp 0x439ed5
mov dword [ebp - 0xb8], ecx
cmp byte [edi + 3], cl
je 0x439f03
lea ecx, [edx + edx*4]
mov edx, dword [ebp - 0xd8]
lea esi, [edx + ecx*8]
call fcn.00430be0
mov esi, dword [esi + 0x10]
mov dword [ebp - 0xc0], esi
cmp esi, 2
jl 0x43cf4e
mov ecx, dword [ebp - 0xc8]
mov al, byte [edi + 1]
cmp al, 0xfa
jne 0x439f34
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx]
mov eax, dword [edi + 0x10]
mov dword [ebp - 0xc4], 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 - 0xc4]
movzx ecx, word [edx + 6]
inc ecx
jmp 0x439f3b
cmp al, 0xf2
jne 0x439f41
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0xc8], ecx
mov eax, dword [ebp - 0xbc]
mov ebx, dword [ebp - 0xd0]
push 1
push eax
push ecx
mov ecx, dword [edi + 4]
push ecx
call fcn.00437340
add esp, 0x10
mov dword [ebp - 0xb0], eax
test eax, eax
je 0x437c28
mov cl, 1
mov byte [eax + 0x1c], cl
mov edx, dword [ebp - 0xb0]
mov byte [edx + 0x20], cl
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax]
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xb8]
push ecx
mov ecx, dword [ebp - 0xc0]
push edx
push eax
mov eax, dword [ebp - 0xb4]
push ecx
call fcn.00428fc0
mov edx, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xc4]
add esp, 0x10
mov dword [ebp - 0xcc], eax
mov dword [edx + 8], ecx
cmp eax, 0x10
jne 0x439fd5
mov edx, dword [ebp - 0xb0]
mov dword [edx], 0
mov dword [ebp - 0xcc], 0
cmp byte [edi + 1], 0xfa
mov ecx, dword [ebp - 0xb0]
setne al
mov byte [ecx + 0x1e], al
mov eax, dword [ebp - 0xb0]
cmp byte [eax + 0x1e], 0
sete dl
mov byte [eax + 0x1f], dl
jmp case.0x437769.17
mov eax, dword [edi + 8]
mov ecx, dword [edi + 4]
mov esi, dword [ebp - 0xd0]
push 1
push 0xffffffffffffffff
push eax
push ecx
mov ebx, esi
call fcn.00437340
add esp, 0x10
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x437c28
mov ebx, 1
mov byte [eax + 0x1c], bl
movzx edx, byte [edi + 3]
mov ecx, dword [ebp - 0xc8]
push 0x41e
or edx, 9
push edx
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx]
push 0
add ecx, 4
push eax
call fcn.00426af0
add esp, 0x10
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x43a12d
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ecx + 4]
push ebx
push edx
call fcn.00427a90
add esp, 8
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x43a12d
cmp dword [edi + 0x10], eax
je 0x43a106
mov ecx, dword [ebp - 0xc8]
lea eax, [ebp - 0x114]
push 2
push eax
mov eax, dword [ecx + 4]
call fcn.0042d400
add esp, 8
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x43a0fa
mov eax, dword [ebp - 0xc8]
mov edx, dword [eax]
mov ecx, dword [edi + 0x10]
mov eax, dword [eax + 4]
push edx
mov edx, dword [ebp - 0x114]
push ecx
push ebx
push edx
call fcn.00428fc0
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xcc], eax
mov eax, dword [edi + 0x10]
mov dword [ecx + 8], eax
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx + 8]
mov cl, byte [ecx + 0x4d]
add esp, 0x10
mov byte [eax + 4], cl
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0x1e], 0
jmp 0x43a12d
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
push ecx
push 0
push ebx
push ebx
call fcn.00428fc0
mov edx, dword [ebp - 0xc8]
add esp, 0x10
mov dword [ebp - 0xcc], eax
mov byte [edx + 0x1e], bl
cmp byte [edi + 3], 0x10
mov ecx, dword [ebp - 0xc8]
setne al
mov byte [ecx + 0x20], al
mov eax, dword [ebp - 0xc8]
cmp byte [eax + 0x1e], 0
sete dl
mov byte [eax + 0x1f], dl
jmp case.0x437769.17
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 4]
mov ebx, dword [ebp - 0xd0]
push 0
push 0xffffffffffffffff
push eax
push ecx
call fcn.00437340
add esp, 0x10
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x437c28
mov cl, 1
mov byte [eax + 0x1c], cl
mov edx, dword [edi + 8]
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0x1e], cl
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1f], 0
jmp case.0x437769.17
mov ecx, dword [edi + 4]
mov edi, dword [ebp - 0xd0]
mov edx, dword [edi + 0x44]
mov eax, dword [edx + ecx*4]
call fcn.00433190
mov eax, dword [ebp - 0xe8]
mov ecx, dword [eax + 4]
mov edx, dword [edi + 0x44]
mov dword [edx + ecx*4], 0
jmp case.0x437769.17
mov ecx, dword [ebp - 0xd0]
mov eax, dword [edi + 4]
mov edx, dword [ecx + 0x44]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xc0], eax
cmp dword [eax], 0
je 0x437784
movzx ecx, byte [edi]
mov dword [ebp - 0xc4], ecx
mov byte [eax + 0x1c], 0
mov ecx, dword [ebp - 0xc0]
cmp byte [ecx + 0x1e], 0
je 0x43a3e5
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
lea esi, [eax + edx*8]
call fcn.00437440
mov ecx, esi
call fcn.00430a80
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], edx
mov byte [ecx + 0x19], 0
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x43a374
test al, 8
jne 0x43a25a
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x437769.17
xor ebx, ebx
cmp dword [ebp - 0x98], ebx
jne 0x43a324
mov eax, SysReAllocString
cmp dword [ebp - 0x94], eax
jne 0x43a324
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x120], ebx
fild qword [ebp - 0x120]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
je 0x43a2a5
fldz
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x43a324
fldz
mov dword [ebp - 0xc8], 1
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x43a2d9
cmp dword [ebp - 0xc4], 0x2e
jl 0x43a315
mov edx, dword [ebp - 0xc0]
mov esi, dword [edx]
lea edi, [ebp - 0xc8]
call fcn.00429b90
jmp 0x43a2f5
cmp dword [ebp - 0xc4], 0x2d
jg 0x43a315
mov eax, dword [ebp - 0xc0]
mov esi, dword [eax]
lea edi, [ebp - 0xc8]
call fcn.00429bc0
mov dword [ebp - 0xcc], eax
cmp eax, ebx
jne 0x43cf6a
cmp dword [ebp - 0xc8], ebx
je case.0x437769.17
mov edi, dword [ebp - 0xe8]
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x437769.17
mov eax, dword [ebp - 0xc4]
cmp eax, 0x2c
je 0x43a355
cmp eax, 0x2e
je 0x43a355
fild qword [ebp - 0x98]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x43a376
or eax, 0xffffffff
add dword [ebp - 0x98], eax
adc dword [ebp - 0x94], eax
jmp 0x43a376
fild qword [ebp - 0x98]
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x43a376
add dword [ebp - 0x98], 1
adc dword [ebp - 0x94], ebx
jmp 0x43a376
xor ebx, ebx
mov edx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x98]
lea ecx, [ebp - 0xc8]
push ecx
mov ecx, dword [ebp - 0xc0]
push ebx
push edx
mov edx, dword [ecx]
push eax
push ebx
push edx
call fcn.00429c00
add esp, 0x18
mov dword [ebp - 0xcc], eax
cmp eax, ebx
jne 0x43cf6a
cmp dword [ebp - 0xc8], ebx
jne 0x43a477
mov eax, dword [ebp - 0xc0]
mov byte [eax + 0x19], 1
mov ecx, dword [ebp - 0x98]
mov edx, dword [ebp - 0xc0]
mov dword [edx + 0x40], ecx
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0xc0]
mov dword [ecx + 0x44], eax
jmp 0x43a477
mov edx, dword [edi + 0x10]
mov dword [ebp - 0xa0], edx
mov eax, dword [ecx + 8]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xc4]
and eax, 1
add eax, eax
add eax, eax
add eax, eax
mov word [ebp - 0xb4], dx
mov word [ebp - 0xb2], ax
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
lea eax, [eax + edx*8]
mov edx, 0x4000
mov dword [ebp - 0xa8], eax
test word [eax + 0x1c], dx
je 0x43a43f
call fcn.004307a0
mov ecx, dword [ebp - 0xc0]
lea eax, [ebp - 0xc8]
push eax
mov eax, dword [ecx]
push 0
push 0
push 0
lea edx, [ebp - 0xb8]
push edx
push eax
call fcn.00429c00
add esp, 0x18
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x43cf6a
mov ecx, dword [ebp - 0xc0]
mov byte [ecx + 0x19], al
xor ebx, ebx
mov edx, dword [ebp - 0xc0]
mov byte [edx + 0x1d], 0
mov eax, dword [ebp - 0xc0]
mov dword [eax + 0x4c], ebx
mov ecx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xc8]
cmp ecx, 0x2e
jl 0x43a4e3
cmp eax, ebx
jl 0x43a4b1
jne 0x43a4a6
cmp ecx, 0x2f
je 0x43a4b1
mov dword [ebp - 0xc8], ebx
jmp case.0x437769.17
mov edx, dword [ebp - 0xc0]
mov eax, dword [edx]
lea ecx, [ebp - 0xc8]
push ecx
push eax
call fcn.00429fe0
add esp, 8
mov dword [ebp - 0xcc], eax
cmp eax, ebx
jne 0x43cf6a
mov ecx, dword [ebp - 0xc0]
mov byte [ecx + 0x19], 0
jmp 0x43a537
cmp eax, ebx
jg 0x43a507
jne 0x43a4ee
cmp ecx, 0x2c
je 0x43a507
mov edx, dword [ebp - 0xc0]
mov eax, dword [edx]
xor ecx, ecx
cmp byte [eax + 0x53], 1
setne cl
mov dword [ebp - 0xc8], ecx
jmp 0x43a537
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax]
lea edx, [ebp - 0xc8]
push edx
push ecx
call fcn.0042a190
add esp, 8
mov dword [ebp - 0xcc], eax
cmp eax, ebx
jne 0x43cf6a
mov edx, dword [ebp - 0xc0]
mov byte [edx + 0x19], 0
cmp dword [ebp - 0xc8], ebx
je case.0x437769.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x437769.17
mov ecx, dword [ebp - 0xd0]
mov eax, dword [edi + 4]
mov edx, dword [ecx + 0x44]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xc8], eax
cmp dword [eax], 0
je case.0x437769.17
mov ecx, dword [ebp - 0xd8]
mov byte [eax + 0x1c], 0
mov edi, dword [edi + 8]
lea eax, [edi + edi*4]
lea ecx, [ecx + eax*8]
call fcn.00430a80
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x3c], edx
mov ecx, dword [ebp - 0xc8]
mov byte [ecx + 0x19], 0
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0x1d], 1
jmp case.0x437769.17
mov ebx, dword [ebp - 0xd0]
mov ecx, dword [ebx + 0x44]
mov esi, dword [ebp - 0xd8]
xor edx, edx
mov dword [ebp - 0xc8], edx
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xc4], eax
mov ecx, dword [edi + 0xc]
lea ecx, [ecx + ecx*4]
lea ecx, [esi + ecx*8]
cmp dword [eax], edx
je 0x43a6d1
cmp dword [edi + 0x10], edx
jle 0x43a620
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 - 0xbc], edx
jmp 0x43a658
mov edx, dword [ecx + 4]
mov ecx, dword [ecx + 0x18]
push edx
mov edx, dword [eax + 8]
push ecx
push edx
mov edx, 0x97
lea eax, [ebp - 0xa0]
call fcn.00434810
add esp, 0xc
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x43d008
or word [eax + 6], 0x10
mov eax, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xbc]
mov eax, dword [eax]
lea ecx, [ebp - 0xc0]
push ecx
push 0
push 0
push 0
push edx
push eax
call fcn.00429c00
add esp, 0x18
cmp dword [edi + 0x10], 0
mov esi, eax
mov dword [ebp - 0xcc], esi
jne 0x43a69f
mov eax, dword [ebp - 0xbc]
test byte [eax + 6], 1
je 0x43a69f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
push edx
call fcn.004169e0
add esp, 8
test esi, esi
jne case.0x437769.17
mov ecx, dword [ebp - 0xc4]
xor eax, eax
cmp dword [ebp - 0xc0], eax
sete al
mov dword [ebp - 0xc8], eax
mov byte [ecx + 0x1d], 0
mov edx, dword [ebp - 0xc4]
mov dword [edx + 0x4c], esi
mov edx, dword [ebp - 0xc8]
cmp byte [edi], 0x32
jne 0x43a6ed
test edx, edx
je case.0x437769.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x437769.17
test edx, edx
jne case.0x437769.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x437769.17
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp - 0xd8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [edi + 0x10]
lea edx, [eax + eax*4]
lea eax, [ecx + edx*8]
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0xb8], eax
mov ecx, dword [edi + 4]
mov eax, dword [edx + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc4], eax
xor ecx, ecx
mov dword [eax + 0x48], ecx
mov edx, dword [ebp - 0xc4]
mov dword [edx + 0x4c], ecx
mov edx, dword [ebp - 0xc4]
mov eax, dword [edx]
mov dword [ebp - 0xc0], eax
mov ecx, dword [edx + 8]
mov cx, word [ecx + 6]
xor ebx, ebx
xor eax, eax
cmp bx, cx
mov ebx, dword [ebp - 0xb8]
mov word [ebp - 0xbc], cx
mov word [ebp - 0xc8], ax
jae 0x43a7a5
jmp 0x43a780
movzx edx, ax
lea edx, [edx + edx*4]
test byte [ebx + edx*8 + 0x1c], 1
jne 0x43a85c
inc ax
mov word [ebp - 0xc8], ax
cmp ax, cx
jb 0x43a780
mov edx, dword [ebp - 0xc4]
cmp dword [ebp - 0xc0], 0
je case.0x437769.17
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0xbc]
inc ecx
mov edx, 0x20
mov dword [ebp - 0xb0], eax
mov word [ebp - 0xac], cx
mov word [ebp - 0xaa], dx
mov dword [ebp - 0xa0], ebx
call fcn.00430be0
mov edx, dword [ebp - 0xc4]
mov eax, dword [esi + 0x10]
add edx, 0x48
push edx
push 0
mov dword [ebp - 0x98], eax
mov ecx, dword [esi + 0x14]
push 0
push 0
lea eax, [ebp - 0xb0]
mov dword [ebp - 0x94], ecx
mov ecx, dword [ebp - 0xc0]
push eax
push ecx
call fcn.00429c00
add esp, 0x18
test byte [ebp - 0xaa], 0x20
mov dword [ebp - 0xcc], eax
jne 0x437784
mov eax, dword [ebp - 0xa8]
cmp eax, dword [ebp - 0x98]
jne 0x43a84b
mov edx, dword [ebp - 0xa4]
cmp edx, dword [ebp - 0x94]
je 0x437784
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0xa4]
mov dword [esi + 0x14], eax
jmp case.0x437769.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
mov dword [ebp - 0xc0], 0
jmp case.0x437769.17
mov eax, dword [edi + 0xc]
mov edx, dword [ebp - 0xd8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 4]
lea esi, [edx + ecx*8]
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0x44]
mov ecx, dword [edx + eax*4]
mov dword [ebp - 0xc8], ecx
mov eax, dword [ecx]
xor edx, edx
mov dword [ebp - 0xc4], eax
cmp eax, edx
je 0x43a94d
mov dword [ebp - 0xc0], edx
mov ecx, dword [esi + 0x10]
lea ebx, [ebp - 0xc0]
push ebx
push 0
mov dword [ebp - 0xb8], ecx
mov edx, dword [esi + 0x14]
push edx
push ecx
push 0
push eax
mov dword [ebp - 0xb4], edx
call fcn.00429c00
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xcc], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x40], eax
mov edx, dword [esi + 0x14]
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x44], edx
mov edx, dword [ebp - 0xc8]
add esp, 0x18
cmp dword [ebp - 0xc0], 0
sete cl
mov byte [edx + 0x19], cl
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1c], 0
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 0x4c], 0
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0x1d], 0
mov eax, dword [ebp - 0xc0]
test eax, eax
je 0x43a93f
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 0x48], eax
jmp case.0x437769.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
mov dword [ecx + 0x48], edx
jmp case.0x437769.17
mov eax, dword [edi + 4]
mov edx, dword [ebp - 0xd0]
mov ecx, dword [edx + 0x44]
mov eax, dword [ecx + eax*4]
mov esi, dword [eax + 0x30]
mov ecx, dword [ebp - 0xe0]
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.0x437769.17
mov edx, dword [ebp - 0xd0]
mov edx, dword [edx + 0x44]
xor eax, eax
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xbc], eax
mov ecx, dword [edi + 4]
mov edx, dword [edx + ecx*4]
mov dword [ebp - 0xc0], edx
mov ecx, dword [edx]
cmp ecx, eax
je 0x43acaa
cmp byte [edx + 0x1b], al
jne 0x43ab80
mov eax, dword [ecx + 0x18]
mov dword [ebp - 0xc8], eax
mov ecx, dword [ecx + 0x1c]
mov esi, eax
or esi, ecx
mov dword [ebp - 0xc4], ecx
jne 0x43aa80
mov esi, dword [edx]
lea edi, [ebp - 0xbc]
call fcn.00429bc0
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x43cf6a
cmp dword [ebp - 0xbc], eax
je 0x43aa1a
mov eax, 1
xor ecx, ecx
jmp 0x43aa6e
mov ecx, dword [ebp - 0xc0]
mov esi, dword [ecx]
lea eax, [ebp - 0xc8]
push eax
call fcn.00429170
mov ecx, dword [ebp - 0xc4]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
add esp, 4
cmp eax, 0xffffffff
jne 0x43aa68
cmp ecx, 0x7fffffff
jne 0x43aa68
mov edx, dword [ebp - 0xc0]
mov byte [edx + 0x1b], 1
mov ecx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xc8]
jmp 0x43aa7a
add eax, 1
adc ecx, 0
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0xc8], eax
mov edi, dword [ebp - 0xe8]
mov edx, dword [edi + 0xc]
test edx, edx
je 0x43ab53
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0xa8]
test ecx, ecx
je 0x43aacd
mov dword [ebp - 0xb0], ecx
mov eax, dword [ecx + 0x3c]
test eax, eax
je 0x43aabf
jmp 0x43aab0
mov ecx, eax
mov dword [ebp - 0xb0], ecx
mov eax, dword [ecx + 0x3c]
test eax, eax
jne 0x43aab0
mov edi, dword [edi + 0xc]
mov eax, dword [ecx + 0x10]
lea edx, [edi + edi*4]
lea esi, [eax + edx*8]
jmp 0x43aad9
lea ecx, [edx + edx*4]
mov edx, dword [ebp - 0xd8]
lea esi, [edx + ecx*8]
mov dword [ebp - 0xb4], esi
call fcn.00430be0
mov edx, dword [ebp - 0xb4]
mov eax, dword [edx + 0x10]
mov ecx, dword [edx + 0x14]
cmp eax, 0xffffffff
jne 0x43ab01
cmp ecx, 0x7fffffff
je 0x43cf60
mov esi, dword [ebp - 0xc0]
cmp byte [esi + 0x1b], 0
jne 0x43cf60
add eax, 1
adc ecx, 0
cmp dword [ebp - 0xc4], ecx
jg 0x43ab35
jl 0x43ab29
cmp dword [ebp - 0xc8], eax
jae 0x43ab35
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], ecx
mov eax, dword [ebp - 0xc8]
mov dword [edx + 0x10], eax
mov ecx, dword [ebp - 0xc4]
mov dword [edx + 0x14], ecx
mov ecx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xc8]
cmp ecx, 0x7fffffff
jg 0x43ab6a
jl 0x43ab62
cmp eax, 0xffffffff
jae 0x43ab6a
add eax, 1
adc ecx, 0
jmp 0x43ab6e
xor eax, eax
xor ecx, ecx
mov edx, dword [ebp - 0xc0]
mov esi, dword [edx]
push ecx
push eax
call fcn.00429010
add esp, 8
mov edx, dword [ebp - 0xc0]
cmp byte [edx + 0x1b], 0
je 0x43ac89
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xf8]
and eax, 0x3fffffff
add ecx, 1
lea esi, [ebp - 0xbc]
push esi
adc eax, 0
push 0
push eax
push ecx
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xb8], 0
mov eax, dword [edx]
push 0
push eax
call fcn.00429c00
add esp, 0x18
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x43ac89
mov ecx, dword [ebp - 0xbc]
test ecx, ecx
jne 0x43ac78
mov eax, dword [ebp - 0xb8]
inc eax
mov dword [ebp - 0xb8], eax
cmp eax, 0x64
jge 0x43ac78
lea ecx, [ebp - 0xc8]
push ecx
push 8
call fcn.00418310
mov eax, dword [ebp - 0xc8]
add esp, 8
cmp dword [ebp - 0xb8], 5
jge 0x43ac2c
and eax, 0xffffff
xor ecx, ecx
jmp 0x43ac38
mov ecx, dword [ebp - 0xc4]
and ecx, 0x3fffffff
add eax, 1
lea edx, [ebp - 0xbc]
push edx
adc ecx, 0
push 0
push ecx
push eax
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xc4], ecx
mov ecx, dword [eax]
push 0
push ecx
call fcn.00429c00
add esp, 0x18
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x43abe3
jmp 0x43ac89
cmp dword [ebp - 0xcc], 0
jne 0x43ac89
test ecx, ecx
je 0x43cf60
mov edx, dword [ebp - 0xc0]
mov byte [edx + 0x19], 0
mov eax, dword [ebp - 0xc0]
mov byte [eax + 0x1d], 0
mov ecx, dword [ebp - 0xc0]
mov dword [ecx + 0x4c], 0
mov eax, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xc8]
mov dword [eax + 0x10], edx
mov ecx, dword [ebp - 0xc4]
mov dword [eax + 0x14], ecx
jmp case.0x437769.17
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 0xd8]
mov ebx, dword [ebp - 0xd0]
lea edx, [eax + eax*4]
lea esi, [ecx + edx*8]
mov edx, dword [ebx + 0x44]
mov dword [ebp - 0xc8], esi
mov eax, dword [edi + 4]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xb8], eax
cmp byte [edi], 0x37
mov eax, dword [edi + 0xc]
jne 0x43ad13
lea edx, [eax + eax*4]
lea ecx, [ecx + edx*8]
mov dword [ebp - 0xc4], ecx
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0xc0], eax
mov edx, dword [ecx + 0x14]
jmp 0x43ad1a
cdq
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], edx
test byte [edi + 3], 1
je 0x43ad29
inc dword [ebx + 0x6c]
test byte [edi + 3], 2
je 0x43ad53
mov ecx, dword [ebp - 0xd4]
mov dword [ecx + 0x30], eax
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0xbc]
mov dword [ecx + 0x34], eax
mov esi, dword [ebp - 0xc8]
mov dword [ebp - 0xf4], edx
xor eax, eax
test byte [esi + 0x1c], 1
je 0x43ad6d
mov dword [esi + 4], eax
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 0x18], eax
mov esi, dword [ebp - 0xc8]
test byte [edi + 3], 0x10
je 0x43ad84
mov edx, dword [ebp - 0xb8]
mov ecx, dword [edx + 0x48]
mov dword [ebp - 0xb0], ecx
jmp 0x43ad8a
mov dword [ebp - 0xb0], eax
mov edx, 0x4000
test word [esi + 0x1c], dx
je 0x43ad98
mov eax, dword [esi + 0x10]
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 0xb4], eax
mov esi, dword [ecx]
push 0
push 0
call fcn.00429010
movzx eax, byte [edi + 3]
mov edx, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xb4]
push edx
and eax, 8
push eax
mov eax, dword [ebp - 0xc8]
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 4]
push ecx
mov ecx, dword [ebp - 0xbc]
push edx
mov edx, dword [ebp - 0xc0]
push eax
mov eax, dword [ebp - 0xb8]
push ecx
mov ecx, dword [eax]
push edx
push 0
push ecx
call fcn.0042cd00
mov edx, dword [ebp - 0xb8]
mov byte [edx + 0x19], 0
mov ecx, dword [ebp - 0xb8]
mov byte [ecx + 0x1d], 0
mov edx, dword [ebp - 0xb8]
add esp, 0x2c
mov dword [ebp - 0xcc], eax
mov dword [edx + 0x4c], 0
test eax, eax
jne case.0x437769.17
mov eax, dword [ebp - 0xd4]
cmp dword [eax + 0xbc], 0
je case.0x437769.17
cmp dword [edi + 0x10], 0
je case.0x437769.17
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ecx + 0xc]
mov ecx, eax
mov eax, dword [ecx + 8]
add edx, edx
mov edx, dword [eax + edx*8]
mov dword [ebp - 0xac], edx
mov esi, dword [edi + 0x10]
mov dword [ebp - 0xa8], esi
mov al, byte [edi + 3]
mov edi, dword [ebp - 0xbc]
and al, 4
movzx eax, al
push edi
mov edi, dword [ebp - 0xc0]
neg eax
sbb eax, eax
push edi
and eax, 5
add eax, 0x12
push esi
push edx
mov dword [ebp - 0xa4], eax
mov edx, dword [ecx + 0xb8]
push eax
mov eax, dword [ecx + 0xbc]
push edx
call eax
add esp, 0x18
jmp case.0x437769.17
mov edx, dword [ebp - 0xd0]
mov edx, dword [edx + 0x44]
xor eax, eax
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], eax
mov ecx, dword [edi + 4]
mov esi, dword [edx + ecx*4]
mov ecx, dword [ebp - 0xd4]
mov dword [ebp - 0xc0], esi
cmp dword [ecx + 0xbc], eax
je 0x43aeea
cmp dword [edi + 0x10], eax
je 0x43aeea
mov edx, dword [esi + 0x40]
mov dword [ebp - 0xc8], edx
mov eax, dword [esi + 0x44]
mov dword [ebp - 0xc4], eax
call fcn.00434380
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x43cf6a
mov ecx, dword [ebp - 0xc0]
mov esi, dword [ecx]
push eax
push eax
call fcn.00429010
mov edx, dword [ebp - 0xc0]
mov esi, dword [edx]
add esp, 8
call fcn.0042cf10
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0xcc], eax
mov dword [ecx + 0x4c], 0
test eax, eax
jne 0x43af79
mov edx, dword [ebp - 0xd4]
mov ecx, dword [edx + 0xbc]
test ecx, ecx
je 0x43af79
mov eax, dword [edi + 0x10]
test eax, eax
je 0x43af79
mov esi, dword [ebp - 0xc4]
push esi
mov esi, dword [ebp - 0xc8]
push esi
mov esi, dword [edx + 8]
mov edx, dword [edx + 0xb8]
push eax
mov eax, dword [ebp - 0xc0]
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.0x437769.17
mov eax, dword [ebp - 0xd0]
inc dword [eax + 0x6c]
jmp case.0x437769.17
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0x6c]
mov ecx, dword [ebp - 0xd4]
add dword [ecx + 0x40], eax
mov dword [ecx + 0x3c], eax
mov dword [edx + 0x6c], 0
jmp case.0x437769.17
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 0xd8]
mov edx, dword [edi + 4]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0x44]
mov esi, dword [ecx + edx*4]
mov dword [ebp - 0xc8], esi
mov edx, dword [esi]
mov dword [ebp - 0xe0], ebx
mov dword [ebp - 0xc4], edx
call fcn.00434380
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x43cf6a
mov eax, dword [ebp - 0xc8]
cmp byte [eax + 0x1f], 0
mov esi, dword [ebp - 0xc4]
je 0x43b048
lea ecx, [ebp - 0xb8]
push ecx
call fcn.00429170
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 0x48]
cdq
add esp, 4
cmp dword [ebp - 0xb4], edx
jg 0x4379ef
mov ecx, dword [ebp - 0xb8]
jl 0x43b03e
cmp ecx, eax
ja 0x4379ef
mov eax, ecx
mov dword [ebp - 0xc0], eax
jmp 0x43b06c
lea edx, [ebp - 0xc0]
push edx
call fcn.004291f0
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xd4]
add esp, 4
cmp eax, dword [ecx + 0x48]
ja 0x4379ef
push 0
mov edi, ebx
call fcn.00430620
add esp, 4
test eax, eax
jne 0x437c28
mov ax, word [ebx + 0x1c]
mov edx, dword [ebp - 0xc0]
mov ecx, 0xbf10
and ax, cx
or ax, 0x10
mov dword [ebx + 0x18], edx
mov word [ebx + 0x1c], ax
mov edx, dword [ebp - 0xc8]
cmp byte [edx + 0x1f], 0
je 0x43b0d2
mov eax, dword [ebx + 4]
mov esi, dword [ebp - 0xc4]
push 0
push eax
mov eax, dword [ebp - 0xc0]
push eax
push 0
call fcn.00429420
mov dword [ebp - 0xcc], eax
mov byte [ebx + 0x1f], 1
jmp 0x43cda5
mov ecx, dword [ebx + 4]
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xc4]
push ecx
push edx
push 0
push eax
call fcn.00429740
mov dword [ebp - 0xcc], eax
mov byte [ebx + 0x1f], 1
jmp 0x43cda5
mov ecx, dword [edi + 4]
mov edi, dword [ebp - 0xd0]
mov edx, dword [edi + 0x44]
mov esi, dword [edx + ecx*4]
mov dword [ebp - 0xc8], esi
cmp byte [esi + 0x1c], 0
je 0x43b129
mov ecx, dword [ebp - 0xe0]
mov eax, 1
mov word [ecx + 0x1c], ax
jmp case.0x437769.17
cmp byte [esi + 0x1d], 0
je 0x43b158
mov edx, dword [esi + 0x38]
mov dword [ebp - 0xc0], edx
mov eax, dword [esi + 0x3c]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xe0]
mov dword [eax + 0x10], edx
mov ecx, dword [ebp - 0xbc]
mov dword [eax + 0x14], ecx
jmp case.0x437769.17
cmp dword [esi + 0x24], 0
je 0x43b1b4
mov ecx, dword [esi + 0x24]
mov eax, dword [ecx]
mov dword [ebp - 0xb8], eax
mov eax, dword [eax]
mov dword [ebp - 0xb4], eax
mov ecx, dword [esi + 0x24]
lea edx, [ebp - 0xc0]
push edx
mov edx, dword [eax + 0x30]
push ecx
call edx
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xb8]
push eax
push edi
call fcn.00437570
mov eax, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xc0]
mov dword [eax + 0x10], edx
mov ecx, dword [ebp - 0xbc]
add esp, 0x10
mov dword [eax + 0x14], ecx
jmp case.0x437769.17
call fcn.00434380
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x43cf6a
mov eax, dword [ebp - 0xc8]
cmp byte [eax + 0x19], 0
je 0x43b1fe
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0xc0], ecx
mov edx, dword [eax + 0x44]
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xbc], edx
mov edx, ecx
mov dword [eax + 0x10], edx
mov ecx, dword [ebp - 0xbc]
mov dword [eax + 0x14], ecx
jmp case.0x437769.17
mov esi, dword [eax]
lea ecx, [ebp - 0xc0]
push ecx
call fcn.00429170
mov edx, dword [ebp - 0xc0]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xe0]
mov dword [eax + 0x10], edx
mov ecx, dword [ebp - 0xbc]
add esp, 4
mov dword [eax + 0x14], ecx
jmp case.0x437769.17
mov edx, dword [edi + 4]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0x44]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0xc8], eax
mov byte [eax + 0x1c], 1
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0x19], 0
mov eax, dword [ebp - 0xc8]
mov esi, dword [eax]
test esi, esi
je case.0x437769.17
call fcn.004258c0
jmp case.0x437769.17
mov ecx, dword [edi + 4]
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc8], eax
mov esi, dword [eax]
mov dword [ebp - 0xc4], esi
test esi, esi
jne 0x43b29c
mov dword [ebp - 0xc0], 1
jmp 0x43b2b9
lea edi, [ebp - 0xc0]
call fcn.00429bc0
mov edi, dword [ebp - 0xe8]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
mov cl, byte [ebp - 0xc0]
mov byte [eax + 0x1c], cl
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0x1d], 0
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x19], 0
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 0x4c], 0
mov edi, dword [edi + 8]
test edi, edi
jle case.0x437769.17
cmp dword [ebp - 0xc0], 0
je case.0x437769.17
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x437769.17
mov eax, dword [ebp - 0xd0]
inc dword [eax + 0x80]
jmp 0x43b31b
mov eax, dword [ebp - 0xd0]
mov edx, dword [edi + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc0], 1
mov esi, dword [eax]
mov dword [ebp - 0xc4], esi
test esi, esi
je 0x43b391
lea edi, [ebp - 0xc0]
call fcn.00429b90
cmp dword [ebp - 0xc0], 0
mov edx, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xe8]
sete cl
mov byte [edx + 0x1a], cl
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1d], 0
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 0x4c], 0
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0x19], 0
mov eax, dword [ebp - 0xc8]
mov cl, byte [ebp - 0xc0]
mov byte [eax + 0x1c], cl
cmp dword [ebp - 0xc0], 0
je case.0x437769.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x437769.17
mov esi, dword [ebp - 0xd4]
mov edx, dword [esi + 0xe0]
test edx, edx
jne 0x43cfbb
mov esi, dword [ebp - 0xd0]
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xc8], eax
test eax, eax
je case.0x437769.17
mov ecx, dword [eax]
mov dword [ebp - 0xc4], ecx
test ecx, ecx
jne 0x43b3fc
mov byte [eax + 0x1c], 1
jmp case.0x437769.17
mov dword [ebp - 0xc0], 1
cmp byte [edi], 0x43
jne 0x43b41a
lea edx, [ebp - 0xc0]
push edx
push ecx
call fcn.00429fe0
jmp 0x43b427
lea eax, [ebp - 0xc0]
push eax
push ecx
call fcn.0042a190
mov ecx, dword [ebp - 0xc8]
mov dl, byte [ebp - 0xc0]
mov byte [ecx + 0x1c], dl
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
add esp, 8
mov dword [eax + 0x4c], 0
cmp dword [ebp - 0xc0], 0
jne 0x43b471
mov eax, dword [edi + 8]
dec eax
mov dword [ebp - 0xdc], eax
mov al, byte [edi + 3]
test al, al
je 0x43b471
movzx ecx, al
inc dword [esi + ecx*4 + 0x78]
lea eax, [esi + ecx*4 + 0x78]
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0x19], 0
jmp case.0x437769.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0x44]
mov edx, dword [edx + eax*4]
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xc8], edx
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, dword [edx]
mov dword [ebp - 0xc4], ecx
test ecx, ecx
je case.0x437769.17
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x43b4e0
mov eax, esi
call fcn.004307a0
mov dword [ebp - 0xcc], eax
test eax, eax
jne case.0x437769.17
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xc8]
mov eax, dword [esi + 0x18]
mov dword [ebp - 0xc0], eax
mov esi, dword [esi + 4]
mov dword [ebp - 0xbc], esi
test byte [edi + 3], 0x10
je 0x43b4fd
mov edx, dword [edx + 0x48]
jmp 0x43b4ff
xor edx, edx
push edx
mov edx, dword [edi + 0xc]
push edx
push 0
push 0
push 0x4cd1a0
cdq
push edx
push eax
push esi
push ecx
call fcn.0042cd00
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
add esp, 0x24
mov dword [eax + 0x4c], 0
jmp case.0x437769.17
mov ecx, dword [edi + 4]
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc8], eax
mov ecx, dword [eax]
mov dword [ebp - 0xc4], ecx
test ecx, ecx
je case.0x437769.17
mov edx, dword [eax + 8]
mov dword [ebp - 0xb8], edx
mov ax, word [edi + 0xc]
xor edx, edx
mov word [ebp - 0xb4], ax
mov word [ebp - 0xb2], dx
mov edi, dword [edi + 8]
mov edx, dword [ebp - 0xd8]
lea eax, [edi + edi*4]
lea eax, [edx + eax*8]
lea edx, [ebp - 0xc0]
push edx
push 0
push 0
mov dword [ebp - 0xa8], eax
push 0
lea eax, [ebp - 0xb8]
push eax
push ecx
call fcn.00429c00
add esp, 0x18
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x43b5c9
cmp dword [ebp - 0xc0], eax
jne 0x43b5c9
mov esi, dword [ebp - 0xc4]
call fcn.0042cf10
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 0x4c], 0
jmp case.0x437769.17
mov edx, dword [edi + 4]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0x44]
mov eax, dword [ecx + edx*4]
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xc4], eax
mov edx, dword [eax]
mov dword [ebp - 0xc8], edx
mov eax, 1
mov word [ecx + 0x1c], ax
cmp dword [ebp - 0xc8], 0
je case.0x437769.17
mov esi, dword [ebp - 0xc4]
call fcn.00434380
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x43cf6a
mov edx, dword [ebp - 0xc4]
cmp byte [edx + 0x1c], al
jne case.0x437769.17
lea eax, [ebp - 0xc0]
push eax
mov eax, dword [ebp - 0xc8]
call fcn.00434b80
add esp, 4
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x43cf6a
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xe0]
mov dword [eax + 0x10], ecx
mov edx, dword [ebp - 0xbc]
mov ecx, 4
mov dword [eax + 0x14], edx
mov word [eax + 0x1c], cx
jmp case.0x437769.17
mov eax, dword [ebp - 0xd0]
mov edx, dword [edi + 4]
mov ecx, dword [eax + 0x44]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0xc8], eax
cmp dword [eax], 0
je case.0x437769.17
mov edx, dword [eax + 8]
mov dword [ebp - 0xc0], edx
mov cx, word [edi + 0x10]
mov word [ebp - 0xbc], cx
cmp byte [edi + 3], 0
je 0x43b6cb
mov edx, 0xc
mov word [ebp - 0xba], dx
jmp 0x43b6d7
mov ecx, 4
mov word [ebp - 0xba], cx
mov edi, dword [edi + 0xc]
mov ecx, dword [ebp - 0xd8]
lea edx, [edi + edi*4]
lea edx, [ecx + edx*8]
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0xb0], edx
push ecx
lea edx, [ebp - 0xc0]
push edx
mov edi, eax
call fcn.00434ce0
mov ecx, dword [ebp - 0xc4]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xe8]
add esp, 8
cmp byte [eax], 0x51
jne 0x43b71f
neg ecx
jmp 0x43b720
inc ecx
mov dword [ebp - 0xc4], ecx
test ecx, ecx
jle case.0x437769.17
mov eax, dword [eax + 8]
dec eax
mov dword [ebp - 0xdc], eax
jmp case.0x437769.17
mov ecx, dword [ebp - 0xd4]
mov dword [ebp - 0xc4], 0
mov eax, dword [ecx + 0x88]
mov dword [ebp - 0xc0], eax
mov edx, 1
test eax, eax
je 0x43b78a
cmp dword [eax + 0x34], 0xbdf20da3
jne 0x43b77d
cmp byte [eax + 0x66], 2
jae 0x43b77d
cmp dword [eax + 0x58], 0
jl 0x43b77d
add dword [ebp - 0xc4], edx
mov eax, dword [eax + 0x40]
mov dword [ebp - 0xc0], eax
test eax, eax
jne 0x43b762
mov esi, dword [ebp - 0xe0]
mov eax, edx
mov word [esi + 0x1c], ax
cmp dword [ebp - 0xc4], edx
jle 0x43b7b7
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0xcc], 6
mov byte [ecx + 0x60], 2
jmp case.0x437769.17
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xbc], eax
mov ecx, dword [ecx + 8]
lea edx, [ebp - 0xc8]
push edx
mov edx, dword [edi + 4]
add eax, eax
mov eax, dword [ecx + eax*8 + 4]
push edx
call fcn.0042d8f0
mov ecx, eax
mov edx, 4
mov word [esi + 0x1c], dx
mov eax, dword [ebp - 0xc8]
cdq
add esp, 8
mov dword [ebp - 0xcc], ecx
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
test ecx, ecx
jne case.0x437769.17
mov esi, dword [ebp - 0xc8]
test esi, esi
je case.0x437769.17
mov edi, dword [edi + 4]
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xd4]
call fcn.0044aec0
mov al, byte [ebp - 0xbc]
inc al
mov byte [ebp - 0xe9], al
jmp case.0x437769.17
mov dword [ebp - 0xc8], 0
mov eax, dword [edi + 0xc]
mov edx, dword [edi + 4]
neg eax
sbb eax, eax
lea ecx, [ebp - 0xc8]
and eax, ecx
mov ecx, dword [ebp - 0xd4]
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.0042d610
add esp, 8
cmp dword [edi + 0xc], 0
mov dword [ebp - 0xcc], eax
je case.0x437769.17
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xd0]
add dword [ecx + 0x6c], eax
mov edi, dword [edi + 0xc]
test edi, edi
jle case.0x437769.17
mov edx, dword [ebp - 0xd8]
lea ecx, [edi + edi*4]
lea ecx, [edx + ecx*8 + 0x10]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
jmp case.0x437769.17
mov ecx, dword [ebp - 0xd4]
mov dword [ebp - 0xc8], 0
mov eax, dword [edi + 4]
shl eax, 4
add eax, dword [ecx + 8]
xor ecx, ecx
mov dword [ebp - 0xc0], eax
cmp byte [edi], 0x62
lea edx, [ebp - 0xc8]
setne cl
inc ecx
push ecx
mov dword [ebp - 0xc4], ecx
mov eax, dword [eax + 4]
push edx
call fcn.0042d400
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
cdq
add esp, 8
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.0x437769.17
mov eax, dword [edi + 4]
mov dword [ebp - 0xc8], eax
mov ecx, str.sqlite_temp_master
cmp eax, 1
je 0x43b928
mov ecx, str.sqlite_master
mov esi, dword [ebp - 0xd4]
mov ebx, dword [ebp - 0xd0]
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0xbc], esi
mov edx, dword [edi + 4]
mov dword [ebp - 0xb8], edx
lea edx, [ebx + 0x38]
mov dword [ebp - 0xb4], edx
mov edx, dword [edi + 0x10]
push edx
push ecx
mov ecx, dword [esi + 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 esi
call fcn.00417fa0
add esp, 0x14
mov dword [ebp - 0xc0], eax
test eax, eax
je 0x437c34
push 0
lea eax, [ebp - 0xbc]
push eax
mov byte [esi + 0x7c], 1
mov ecx, dword [ebp - 0xc0]
push fcn.0045ae30
push ecx
push esi
mov dword [ebp - 0xb0], 0
call fcn.00457ee0
mov edi, eax
add esp, 0x14
mov dword [ebp - 0xcc], edi
test edi, edi
jne 0x43b9c2
mov edx, dword [ebp - 0xb0]
mov dword [ebp - 0xcc], edx
mov edi, edx
mov eax, dword [ebp - 0xc0]
push eax
push esi
call fcn.004169e0
add esp, 8
mov byte [esi + 0x7c], 0
cmp edi, 7
je 0x437c34
jmp case.0x437769.17
mov eax, dword [edi + 4]
mov ebx, dword [ebp - 0xd4]
call fcn.004477a0
mov dword [ebp - 0xcc], eax
jmp case.0x437769.17
mov ecx, dword [ebp - 0xd4]
mov eax, dword [edi + 4]
push ecx
mov ecx, dword [edi + 0x10]
call fcn.004495c0
add esp, 4
jmp case.0x437769.17
mov edx, dword [ebp - 0xd4]
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 4]
push edx
call fcn.00449190
add esp, 4
jmp case.0x437769.17
mov eax, dword [ebp - 0xd4]
mov ecx, dword [edi + 0x10]
push eax
mov eax, dword [edi + 4]
call fcn.00465270
add esp, 4
jmp case.0x437769.17
mov eax, dword [edi + 8]
mov esi, dword [ebp - 0xd4]
lea ecx, [eax*4 + 4]
mov dword [ebp - 0xc8], eax
call fcn.00416c30
mov dword [ebp - 0xc4], eax
test eax, eax
je 0x43d002
mov ecx, dword [edi + 0xc]
mov edx, dword [ebp - 0xd8]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*8]
mov dword [ebp - 0xb4], ecx
mov ecx, dword [edi + 4]
lea ecx, [ecx + ecx*4]
lea esi, [edx + ecx*8]
xor ecx, ecx
mov dword [ebp - 0xc0], ecx
cmp dword [ebp - 0xc8], ecx
jle 0x43bad7
lea edx, [ecx + ecx*4]
lea ecx, [esi + edx*8]
call fcn.00430a80
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xc4]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0xc0]
inc ecx
mov dword [ebp - 0xc0], ecx
cmp ecx, dword [ebp - 0xc8]
jl 0x43baa2
mov eax, dword [ebp - 0xc4]
mov dword [eax + ecx*4], 0
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ecx + 0x10]
mov ecx, dword [ebp - 0xc4]
lea eax, [ebp - 0xbc]
push eax
mov eax, dword [ebp - 0xc8]
push edx
movzx edx, byte [edi + 3]
mov edi, dword [ebp - 0xd4]
push eax
mov eax, dword [edi + 8]
add edx, edx
push ecx
mov ecx, dword [eax + edx*8 + 4]
call fcn.0042e850
mov ecx, dword [ebp - 0xc4]
push ecx
push edi
mov dword [ebp - 0xb8], eax
call fcn.004169e0
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xb4]
cdq
add esp, 0x18
sub dword [ecx + 0x10], eax
sbb dword [ecx + 0x14], edx
call fcn.00430cf0
cmp dword [ebp - 0xbc], 0
je 0x43bb6f
mov eax, dword [ebp - 0xb8]
test eax, eax
je 0x43d002
push 1
push eax
mov eax, fcn.00416940
or ecx, 0xffffffff
mov edx, esi
call fcn.00431020
add esp, 8
movzx ecx, byte [ebp - 0xe4]
mov eax, esi
call fcn.00430600
jmp case.0x437769.17
mov eax, dword [edi + 4]
mov edi, dword [edi + 8]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
test byte [eax + edx*8 + 0x1c], 0x20
lea esi, [eax + edx*8]
lea ecx, [edi + edi*4]
lea ebx, [eax + ecx*8]
jne 0x43bbb2
mov edi, esi
call fcn.00430e40
test byte [esi + 0x1c], 0x20
je 0x437c28
mov edx, dword [ebx + 0x14]
mov eax, dword [ebx + 0x10]
mov edi, dword [esi + 0x10]
push edx
push eax
call fcn.0041d7a0
add esp, 8
jmp case.0x437769.17
mov esi, dword [ebp - 0xd4]
mov ecx, dword [esi + 0xe0]
test ecx, ecx
jne 0x43cfbb
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
test byte [eax + edx*8 + 0x1c], 0x20
lea ebx, [eax + edx*8]
je 0x43bc30
mov eax, dword [ebx + 0x10]
lea esi, [ebp - 0xc8]
call fcn.0041dbb0
test eax, eax
je 0x43bc30
mov ecx, dword [ebp - 0xc4]
mov edi, dword [edi + 0xc]
mov edx, dword [ebp - 0xc8]
push ecx
mov ecx, dword [ebp - 0xd8]
lea eax, [edi + edi*4]
push edx
lea esi, [ecx + eax*8]
call fcn.00430d40
add esp, 8
jmp case.0x437769.17
mov esi, ebx
call fcn.00430cf0
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x437769.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd8]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [edi + 0x10]
lea esi, [ecx + edx*8]
mov dword [ebp - 0xc8], eax
test byte [esi + 0x1c], 0x20
jne 0x43bc8a
mov edi, esi
call fcn.00430e40
test byte [esi + 0x1c], 0x20
je 0x437c28
mov eax, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xe8]
test eax, eax
je 0x43bcce
js 0x43bc95
and eax, 0xf
jmp 0x43bc9a
mov eax, 0xff
mov ecx, dword [ebx + 0x14]
mov edx, dword [ebx + 0x10]
push ecx
mov ecx, dword [esi + 0x10]
push edx
call fcn.0041dc30
add esp, 8
mov dword [ebp - 0xc4], eax
test eax, eax
je 0x43bcc6
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x437769.17
mov eax, dword [ebp - 0xc8]
test eax, eax
js case.0x437769.17
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x10]
mov edi, dword [esi + 0x10]
push eax
push ecx
call fcn.0041d7a0
add esp, 8
jmp case.0x437769.17
mov ecx, dword [edi + 0x10]
mov ebx, dword [ebp - 0xd0]
mov dword [ebp - 0xb0], ecx
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
lea edx, [eax + edx*8]
mov dword [ebp - 0xc0], edx
cmp byte [edi + 3], 0
je 0x43bd46
mov eax, dword [ebx + 0xa8]
mov esi, dword [ecx + 0x10]
mov dword [ebp - 0xac], esi
mov dword [ebp - 0xb4], eax
test eax, eax
je 0x43bd46
nop
cmp dword [eax + 0x20], esi
je case.0x437769.17
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0xb4], eax
test eax, eax
jne 0x43bd30
mov eax, dword [ebx + 0xb0]
mov esi, dword [ebp - 0xd4]
cmp eax, dword [esi + 0x70]
jl 0x43bd78
push str.too_many_levels_of_trigger_recursion
lea edi, [ebx + 0x38]
mov eax, esi
mov dword [ebp - 0xcc], 1
call fcn.00416df0
add esp, 4
jmp case.0x437769.17
test byte [edx + 0x1c], 0x40
jne 0x43bed0
mov eax, dword [ecx + 8]
add eax, dword [ecx + 0xc]
lea edx, [eax + eax*4]
mov dword [ebp - 0xc8], eax
mov eax, dword [ecx + 0xc]
lea edi, [eax + edx*2]
lea edi, [edi*4 + 0x40]
mov eax, esi
mov dword [ebp - 0xc4], edi
call fcn.00416c10
mov dword [ebp - 0xb4], eax
test eax, eax
je 0x437c34
mov ecx, dword [ebp - 0xc0]
push ecx
call fcn.004309e0
mov eax, dword [ebp - 0xc0]
mov edx, 0x40
mov word [eax + 0x1c], dx
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xc0]
mov dword [edx + 0x10], ecx
mov eax, dword [ebp - 0xb4]
mov dword [eax], ebx
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xc8]
mov dword [ecx + 0x24], edx
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0xb4]
mov dword [edx + 0x28], ecx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xdc]
mov dword [eax + 4], ecx
mov edx, dword [ebx + 8]
mov eax, dword [ebp - 0xb4]
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0xb4]
mov ecx, dword [ebx + 0x18]
mov dword [edx + 0x14], ecx
mov eax, dword [ebx + 0x44]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x18], eax
mov dx, word [ebx + 0x32]
mov eax, dword [ebp - 0xb4]
mov word [eax + 0x1c], dx
mov ecx, dword [ebx + 4]
mov edx, dword [ebp - 0xb4]
mov dword [edx + 8], ecx
mov eax, dword [ebx + 0x1c]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0xc], eax
mov edx, dword [ebp - 0xb0]
mov eax, dword [edx + 0x10]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x20], eax
mov ecx, dword [ebp - 0xb4]
mov eax, dword [ecx + 0x24]
lea edx, [eax + eax*4]
lea edx, [ecx + edx*8 + 0x40]
lea eax, [ecx + 0x40]
add esp, 4
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0xbc], eax
cmp eax, edx
je 0x43bed9
lea ecx, [ecx]
mov ecx, 1
mov word [eax + 0x1c], cx
mov edx, dword [ebp - 0xbc]
mov dword [edx], esi
mov eax, dword [ebp - 0xbc]
add eax, 0x28
mov dword [ebp - 0xbc], eax
cmp eax, dword [ebp - 0xb8]
jne 0x43bea0
mov ecx, dword [ebp - 0xb4]
jmp 0x43bed9
mov ecx, dword [edx + 0x10]
mov dword [ebp - 0xb4], ecx
inc dword [ebx + 0xb0]
mov eax, dword [ebx + 0xa8]
mov edx, dword [ebp - 0xf8]
mov dword [ecx + 0x3c], eax
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x30], edx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xf4]
mov dword [eax + 0x34], ecx
mov edx, dword [ebx + 0x6c]
mov eax, dword [ebp - 0xb4]
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0xb4]
lea ecx, [eax + 0x18]
mov dword [ebx + 0xa8], eax
mov dword [ebx + 8], ecx
mov dword [ebx + 0x6c], 0
mov edx, dword [eax + 0x24]
mov dword [ebx + 0x18], edx
mov ax, word [eax + 0x28]
mov word [ebx + 0x32], ax
mov eax, edx
lea edx, [eax + eax*4 + 5]
lea eax, [ecx + edx*8]
mov dword [ebp - 0xd8], ecx
mov ecx, dword [ebp - 0xb0]
mov dword [ebx + 0x44], eax
mov eax, dword [ecx]
mov dword [ebx + 4], eax
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x10c], eax
mov dword [ebx + 0x1c], ecx
mov dword [ebp - 0xdc], 0xffffffff
jmp case.0x437769.17
mov edx, dword [ebp - 0xd0]
mov ecx, dword [edx + 0xa8]
mov ebx, dword [ebp - 0xe0]
mov dword [ebp - 0xc8], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 8]
mov ecx, dword [ecx + 0x10]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4 + 4]
add eax, dword [edi + 4]
push 0x1000
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
mov dword [ebp - 0xc4], eax
call fcn.00430f20
add esp, 8
jmp case.0x437769.17
cmp dword [edi + 4], 0
mov eax, dword [edi + 8]
cdq
je 0x43bfdc
mov ecx, dword [ebp - 0xd4]
add dword [ecx + 0x1f0], eax
adc dword [ecx + 0x1f4], edx
jmp case.0x437769.17
mov ecx, dword [ebp - 0xd0]
add dword [ecx + 0x90], eax
adc dword [ecx + 0x94], edx
jmp case.0x437769.17
cmp dword [edi + 4], 0
je 0x43c020
mov eax, dword [ebp - 0xd4]
mov edx, dword [eax + 0x1f0]
or edx, dword [eax + 0x1f4]
jne case.0x437769.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x437769.17
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0x90]
or ecx, dword [eax + 0x94]
jne case.0x437769.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x437769.17
mov edx, dword [ebp - 0xd0]
mov ecx, dword [edx + 0xa8]
test ecx, ecx
je 0x43c081
mov dword [ebp - 0xc4], ecx
mov eax, dword [ecx + 0x3c]
test eax, eax
je 0x43c073
mov ecx, eax
mov dword [ebp - 0xc4], ecx
mov eax, dword [ecx + 0x3c]
test eax, eax
jne 0x43c064
mov eax, dword [edi + 4]
mov ecx, dword [ecx + 0x10]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
jmp 0x43c090
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
lea esi, [eax + edx*8]
mov dword [ebp - 0xc8], esi
call fcn.00430be0
mov edi, dword [edi + 8]
mov edx, dword [ebp - 0xd8]
lea ecx, [edi + edi*4]
lea esi, [edx + ecx*8]
call fcn.00430be0
mov ecx, dword [esi + 0x10]
mov eax, dword [ebp - 0xc8]
mov esi, dword [esi + 0x14]
cmp dword [eax + 0x14], esi
jg case.0x437769.17
jl 0x43c0cf
cmp dword [eax + 0x10], ecx
jae case.0x437769.17
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], esi
jmp case.0x437769.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd8]
lea eax, [eax + eax*4]
cmp dword [ecx + eax*8 + 0x14], 0
jl case.0x437769.17
jg 0x43c100
mov edx, ecx
cmp dword [edx + eax*8 + 0x10], 0
jbe case.0x437769.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x437769.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd8]
lea eax, [eax + eax*4]
cmp dword [ecx + eax*8 + 0x14], 0
jg case.0x437769.17
jl 0x43c135
mov edx, ecx
cmp dword [edx + eax*8 + 0x10], 0
jae case.0x437769.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x437769.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd8]
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.0x437769.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x437769.17
movzx ecx, byte [edi + 3]
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xc8], ecx
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0xbc], eax
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x78], eax
xor eax, eax
mov dword [ebp - 0xc4], eax
test ecx, ecx
jle 0x43c1e2
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0x78]
mov dword [edx + eax*4], ecx
mov ecx, dword [ebp - 0xbc]
call fcn.00437310
mov eax, dword [ebp - 0xc4]
add dword [ebp - 0xbc], 0x28
inc eax
mov dword [ebp - 0xc4], eax
cmp eax, dword [ebp - 0xc8]
jl 0x43c1af
mov eax, dword [edi + 0x10]
mov edx, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xd4]
mov dword [ebp - 0xb8], eax
mov eax, dword [edi + 0xc]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0x88], eax
inc dword [eax + 0x18]
xor ebx, ebx
mov eax, 1
mov word [ebp - 0x94], ax
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0xb0], esi
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0x80], ebx
test byte [eax + 3], 8
je 0x43c250
mov ecx, dword [edi - 4]
mov dword [ebp - 0x80], ecx
mov edx, dword [ebp - 0x78]
mov ecx, dword [ebp - 0xc8]
mov eax, dword [eax + 0x10]
push edx
push ecx
lea edx, [ebp - 0xb8]
push edx
call eax
add esp, 0xc
cmp dword [ebp - 0x84], ebx
je 0x43c2a4
mov bl, 1
lea edi, [ebp - 0xb0]
call fcn.00431630
mov edi, dword [ebp - 0xd0]
push eax
push 0x4da8b4
add edi, 0x38
mov eax, esi
call fcn.00416df0
mov ecx, dword [ebp - 0x84]
add esp, 8
mov dword [ebp - 0xcc], ecx
lea edx, [ebp - 0xb0]
push edx
call fcn.004309e0
add esp, 4
jmp case.0x437769.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0xc8], ecx
mov eax, dword [edi + 0x10]
call fcn.00430900
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x43c309
mov edi, dword [ebp - 0xc8]
mov bl, 1
call fcn.00431630
mov edi, dword [ebp - 0xd0]
push eax
mov eax, dword [ebp - 0xd4]
push 0x4da8b4
add edi, 0x38
call fcn.00416df0
add esp, 8
movzx ecx, byte [ebp - 0xe4]
mov eax, dword [ebp - 0xc8]
call fcn.00430600
mov ecx, dword [ebp - 0xc8]
call fcn.00430ef0
test eax, eax
jne 0x4379ef
jmp case.0x437769.17
or eax, 0xffffffff
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xc0], eax
xor esi, esi
mov dword [ebp - 0xc4], esi
mov eax, dword [edi + 8]
mov ecx, dword [edi + 4]
lea edx, [ebp - 0xbc]
push edx
mov edx, dword [ebp - 0xd4]
push eax
push ecx
push edx
lea eax, [ebp - 0xc0]
call fcn.00474960
add esp, 0x10
mov dword [ebp - 0xcc], eax
cmp eax, 5
jne 0x43c389
mov dword [ebp - 0xcc], esi
mov dword [ebp - 0xc4], 1
mov edx, dword [ebp - 0xd8]
xor eax, eax
mov dword [ebp - 0xc8], eax
mov edi, dword [edi + 0xc]
lea ecx, [edi + edi*4]
lea esi, [edx + ecx*8]
mov dword [ebp - 0xb8], esi
mov eax, dword [ebp + eax*4 - 0xc4]
cdq
push edx
push eax
call fcn.00430d40
mov eax, dword [ebp - 0xc8]
mov esi, dword [ebp - 0xb8]
inc eax
add esi, 0x28
add esp, 8
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xb8], esi
cmp eax, 3
jl 0x43c3a6
jmp case.0x437769.17
mov edx, dword [edi + 0xc]
mov ecx, dword [ebp - 0xd4]
mov dword [ebp - 0xc0], edx
mov eax, dword [edi + 4]
mov ecx, dword [ecx + 8]
add eax, eax
mov eax, dword [ecx + eax*8 + 4]
mov dword [ebp - 0xc8], eax
mov eax, dword [eax + 4]
mov esi, dword [eax]
mov dword [ebp - 0xc4], esi
movzx ebx, byte [esi + 5]
mov dword [ebp - 0xbc], ebx
cmp edx, 0xffffffff
jne 0x43c421
mov edx, ebx
mov dword [ebp - 0xc0], edx
cmp byte [esi + 0xf], 3
jae 0x43c43d
mov ecx, dword [esi + 0x40]
cmp dword [ecx], 0
je 0x43c445
cmp dword [esi + 0x4c], 0
jl 0x43c445
jg 0x43c43d
cmp dword [esi + 0x48], 0
jbe 0x43c445
mov edx, ebx
mov dword [ebp - 0xc0], edx
mov eax, dword [esi + 0x90]
mov dword [ebp - 0xb8], eax
cmp edx, 5
jne 0x43c473
cmp byte [eax], 0
je 0x43c466
mov eax, esi
call fcn.00422710
test eax, eax
jne 0x43c473
mov edx, ebx
mov dword [ebp - 0xc0], edx
jmp 0x43c553
cmp edx, ebx
je 0x43c553
cmp ebx, 5
je 0x43c489
cmp edx, 5
jne 0x43c553
mov eax, dword [ebp - 0xd4]
cmp byte [eax + 0x1c], 0
je 0x43c50c
cmp dword [eax + 0x8c], 1
jg 0x43c50c
cmp ebx, 5
jne 0x43c4c6
mov eax, esi
call fcn.00422850
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x43c4fe
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xc4]
jmp 0x43c4d0
cmp ebx, 4
jne 0x43c4db
lea ecx, [ebx - 2]
mov eax, esi
call fcn.004225b0
mov edx, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xc8]
xor eax, eax
cmp edx, 5
sete al
inc eax
push eax
push ecx
call fcn.0042eee0
add esp, 8
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x43c547
mov edx, dword [ebp - 0xbc]
mov dword [ebp - 0xc0], edx
jmp 0x43c54d
mov dword [ebp - 0xcc], 1
mov eax, str.into
cmp edx, 5
je 0x43c525
mov eax, str.out_of
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
mov edi, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xd4]
add edi, 0x38
call fcn.00416df0
add esp, 8
jmp case.0x437769.17
mov edx, dword [ebp - 0xc0]
mov esi, dword [ebp - 0xc4]
mov ecx, edx
mov eax, esi
call fcn.004225b0
mov dword [ebp - 0xc0], eax
mov edi, dword [edi + 8]
mov eax, dword [ebp - 0xd8]
lea edx, [edi + edi*4]
lea edx, [eax + edx*8]
mov ecx, 0xa02
mov word [edx + 0x1c], cx
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xe0], edx
cmp eax, 6
jne 0x43c58f
xor ecx, ecx
jmp 0x43c596
mov ecx, dword [eax*4 + 0x4d6930]
mov dword [edx + 4], ecx
call fcn.00418ac0
movzx ecx, byte [ebp - 0xe4]
mov dword [edx + 0x18], eax
mov eax, edx
mov byte [edx + 0x1f], 1
call fcn.00430600
jmp case.0x437769.17
mov ecx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xd4]
add ecx, 0x38
call fcn.00468a80
mov dword [ebp - 0xcc], eax
jmp case.0x437769.17
mov edx, dword [edi + 4]
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 8]
add edx, edx
mov ebx, dword [ecx + edx*8 + 4]
mov dword [ebp - 0xc8], ebx
call fcn.00428630
mov dword [ebp - 0xcc], eax
cmp eax, 0x65
jne case.0x437769.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
mov dword [ebp - 0xcc], 0
jmp case.0x437769.17
cmp dword [edi + 4], 0
jne 0x43c632
mov eax, dword [ebp - 0xd4]
call fcn.00434dd0
jmp case.0x437769.17
mov edx, dword [ebp - 0xd0]
mov byte [edx + 0x63], 1
jmp case.0x437769.17
mov cl, byte [edi + 0xc]
test cl, cl
jne 0x43c65b
mov eax, dword [ebp - 0xd4]
test dword [eax + 0xc], 0x80000
jne case.0x437769.17
mov edx, dword [edi + 8]
mov eax, dword [edi + 4]
push edx
mov edx, dword [ebp - 0xd4]
mov edx, dword [edx + 8]
add eax, eax
mov esi, dword [edx + eax*8 + 4]
call fcn.0042edd0
add esp, 4
mov dword [ebp - 0xcc], eax
cmp al, 6
jne case.0x437769.17
mov eax, dword [edi + 0x10]
push eax
push str.database_table_is_locked:__s
jmp 0x43c52b
mov edi, dword [edi + 0x10]
mov esi, dword [ebp - 0xd4]
mov dword [ebp - 0xc8], edi
call fcn.00469e10
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
test eax, eax
je case.0x437769.17
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0xd0]
push ecx
push edx
call fcn.00437570
add esp, 8
jmp case.0x437769.17
mov eax, dword [ebp - 0xd0]
mov ecx, dword [edi + 0x10]
add eax, 0x38
push eax
mov eax, dword [edi + 4]
push ecx
mov ecx, dword [ebp - 0xd4]
call fcn.00469920
add esp, 8
mov dword [ebp - 0xcc], eax
jmp case.0x437769.17
mov esi, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xd4]
mov byte [esi + 0x66], 2
mov edx, dword [edi + 0x10]
mov eax, dword [edi + 4]
push edx
call fcn.00469c10
add esp, 4
mov dword [ebp - 0xcc], eax
mov byte [esi + 0x66], 0
jmp case.0x437769.17
xor eax, eax
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], eax
mov eax, dword [edi + 0x10]
mov eax, dword [eax + 8]
mov dword [ebp - 0xc0], eax
mov ecx, dword [eax]
lea edx, [ebp - 0xc4]
push edx
mov dword [ebp - 0xbc], ecx
push eax
mov eax, dword [ecx + 0x18]
call eax
mov ecx, dword [ebp - 0xc0]
mov ebx, dword [ebp - 0xd0]
push ecx
mov esi, eax
push ebx
mov dword [ebp - 0xcc], esi
call fcn.00437570
add esp, 0x10
test esi, esi
jne case.0x437769.17
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xc4]
push esi
push 0xffffffffffffffff
mov dword [eax], edx
mov ecx, dword [edi + 4]
push esi
push ecx
call fcn.00437340
add esp, 0x10
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x43c7cb
mov edx, dword [ebp - 0xc4]
mov dword [eax + 0x24], edx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax]
mov edx, dword [ecx]
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x28], edx
jmp case.0x437769.17
mov ecx, dword [ebp - 0xd4]
mov byte [ecx + 0x1e], 1
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax + 0x1c]
push edx
call ecx
add esp, 4
jmp case.0x437769.17
mov eax, dword [edi + 0xc]
mov esi, dword [ebp - 0xd0]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
lea eax, [eax + edx*8]
mov edx, dword [esi + 0x44]
mov esi, dword [esi + 0xc]
mov dword [ebp - 0xbc], eax
lea ebx, [eax + 0x28]
mov dword [ebp - 0xb8], ebx
mov ecx, dword [edi + 4]
mov ecx, dword [edx + ecx*4]
mov dword [ebp - 0xac], ecx
mov edx, dword [ecx + 0x24]
mov dword [ebp - 0xb4], edx
mov ecx, dword [edx]
mov dword [ebp - 0xb0], ecx
mov ecx, dword [ecx]
mov dword [ebp - 0xc0], ecx
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0xc8], ecx
mov eax, dword [eax + 0x10]
mov dword [ebp - 0xc4], eax
xor eax, eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa0], esi
mov dword [ebp - 0xa4], eax
cmp ecx, eax
jle 0x43c8b7
jmp 0x43c876
mov ebx, dword [ebp - 0xb8]
lea ecx, [eax + eax*4 + 5]
lea edx, [ebx + ecx*8]
mov ecx, dword [ebp - 0xa0]
mov dword [ecx + eax*4], edx
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0xa0]
mov ecx, dword [eax + edx*4]
call fcn.00437310
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xc8]
inc eax
mov dword [ebp - 0xa4], eax
cmp eax, ecx
jl 0x43c870
mov edx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xa0]
mov esi, dword [ebp - 0xd0]
push eax
mov eax, dword [ebp - 0xc4]
push ecx
mov byte [esi + 0x66], 1
mov ecx, dword [edi + 0x10]
push ecx
mov ecx, dword [ebp - 0xc0]
push eax
push edx
mov edx, dword [ecx + 0x20]
call edx
mov ebx, eax
mov eax, dword [ebp - 0xb0]
add esp, 0x14
push eax
push esi
mov dword [ebp - 0xcc], ebx
mov byte [esi + 0x66], 0
call fcn.00437570
add esp, 8
test ebx, ebx
jne 0x43c91e
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xc0]
mov eax, dword [edx + 0x28]
push ecx
call eax
add esp, 4
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
je 0x43c931
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
mov ecx, dword [ebp - 0xac]
mov byte [ecx + 0x1c], 0
jmp case.0x437769.17
mov eax, dword [ebp - 0xd0]
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 - 0xd8]
lea eax, [eax + edx*8]
mov dword [ebp - 0xc0], eax
cmp byte [esi + 0x1c], 0
je 0x43c976
mov esi, eax
call fcn.00430cf0
jmp case.0x437769.17
mov ecx, dword [esi + 0x24]
mov eax, dword [ecx]
mov dword [ebp - 0xc8], eax
mov edx, dword [eax]
push 0x40
lea eax, [ebp - 0xb8]
push 0
push eax
mov dword [ebp - 0xc4], edx
call fcn.004a63e0
mov ebx, dword [ebp - 0xc0]
add esp, 0xc
lea eax, [ebp - 0xb0]
call fcn.00430fd0
mov ecx, dword [ebp - 0x94]
and ecx, 0xbf01
or ecx, 1
mov word [ebp - 0x94], cx
mov edx, dword [edi + 8]
mov ecx, dword [esi + 0x24]
push edx
mov edx, dword [ebp - 0xc4]
lea eax, [ebp - 0xb8]
push eax
mov eax, dword [edx + 0x2c]
push ecx
call eax
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xd0]
add esp, 0xc
push ecx
push edx
mov dword [ebp - 0xcc], eax
call fcn.00437570
mov eax, dword [ebp - 0x84]
add esp, 8
test eax, eax
je 0x43ca0c
mov dword [ebp - 0xcc], eax
movzx ecx, byte [ebp - 0xe4]
lea eax, [ebp - 0xb0]
call fcn.00430600
mov eax, dword [ebp - 0xc0]
lea ebx, [ebp - 0xb0]
call fcn.00430fd0
mov ecx, dword [ebp - 0xc0]
call fcn.00430ef0
test eax, eax
jne 0x4379ef
jmp case.0x437769.17
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0x44]
mov dword [ebp - 0xc0], 0
mov eax, dword [edi + 4]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xbc], eax
cmp byte [eax + 0x1c], 0
jne case.0x437769.17
mov ecx, dword [eax + 0x24]
mov ecx, dword [ecx]
mov esi, dword [ebp - 0xd0]
mov dword [ebp - 0xc8], ecx
mov ecx, dword [ecx]
mov dword [ebp - 0xc4], ecx
mov byte [esi + 0x66], 1
mov edx, dword [eax + 0x24]
mov eax, dword [ecx + 0x24]
push edx
call eax
mov ecx, dword [ebp - 0xc8]
add esp, 4
push ecx
mov ebx, eax
push esi
mov dword [ebp - 0xcc], ebx
mov byte [esi + 0x66], 0
call fcn.00437570
add esp, 8
test ebx, ebx
jne 0x43cad7
mov edx, dword [ebp - 0xbc]
mov eax, dword [edx + 0x24]
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ecx + 0x28]
push eax
call edx
add esp, 4
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0
jne case.0x437769.17
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
jmp case.0x437769.17
mov eax, dword [edi + 0x10]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xc8], eax
mov edi, dword [edi + 4]
lea ecx, [edi + edi*4]
lea ecx, [edx + ecx*8]
mov dword [ebp - 0xc4], 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 - 0xd0]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
push eax
push esi
call fcn.00437570
mov byte [esi + 0x63], 0
jmp 0x43cda5
mov ecx, dword [edi + 0x10]
mov eax, dword [ecx + 8]
mov dword [ebp - 0xc8], eax
mov eax, dword [eax]
mov dword [ebp - 0xc4], eax
mov edx, dword [edi + 8]
mov dword [ebp - 0xc0], edx
cmp dword [eax + 0x34], 0
je case.0x437769.17
mov esi, dword [ebp - 0xd4]
mov al, byte [esi + 0x22]
mov ecx, dword [ebp - 0xd0]
mov byte [ebp - 0xf9], al
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0xb0], eax
mov eax, dword [edi + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
lea ecx, [eax + ecx*8]
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0xbc], 0
test edx, edx
jle 0x43cbee
lea ebx, [ebx]
call fcn.00437310
mov ecx, dword [ebp - 0xac]
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xb0]
mov dword [eax + edx*4], ecx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xac]
inc eax
add ecx, 0x28
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0xbc], eax
cmp eax, dword [ebp - 0xc0]
jl 0x43cbb0
mov cl, byte [edi + 3]
mov byte [esi + 0x22], cl
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xc0]
lea edx, [ebp - 0xb8]
push edx
mov edx, dword [ebp - 0xc8]
push eax
mov eax, dword [ebp - 0xc4]
push ecx
mov ecx, dword [eax + 0x34]
push edx
call ecx
mov dl, byte [ebp - 0xf9]
mov ecx, dword [ebp - 0xd0]
mov ebx, eax
mov byte [esi + 0x22], dl
mov eax, dword [ebp - 0xc8]
push eax
push ecx
mov dword [ebp - 0xcc], ebx
call fcn.00437570
add esp, 0x18
test ebx, ebx
jne 0x43cc81
cmp dword [edi + 4], ebx
je 0x43af83
mov eax, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xb4]
mov dword [esi + 0x30], eax
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0xb4]
mov dword [esi + 0x34], eax
mov eax, dword [ebp - 0xd0]
inc dword [eax + 0x6c]
mov dword [ebp - 0xf4], edx
jmp case.0x437769.17
cmp ebx, 0x13
jne 0x43af83
mov ecx, dword [edi + 0x10]
cmp byte [ecx + 0x10], 0
je 0x43af83
mov al, byte [edi + 3]
cmp al, 4
jne 0x43ccad
mov dword [ebp - 0xcc], 0
jmp case.0x437769.17
cmp al, 5
jne 0x43ccc4
mov edx, dword [ebp - 0xd0]
mov eax, 2
mov byte [edx + 0x60], al
jmp case.0x437769.17
mov edx, dword [ebp - 0xd0]
movzx eax, al
mov byte [edx + 0x60], al
jmp case.0x437769.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd4]
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 - 0xe0]
mov dword [eax + 0x10], edx
mov dword [eax + 0x14], 0
jmp case.0x437769.17
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd4]
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 0x43cd29
mov eax, dword [ecx + 4]
mov eax, dword [eax + 0x30]
cmp eax, edi
jae 0x43cd29
mov eax, edi
call fcn.00427470
mov ecx, dword [ebp - 0xe0]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.0x437769.17
mov ecx, dword [ebp - 0xd4]
cmp dword [ecx + 0x98], 0
je case.0x437769.17
mov edi, dword [edi + 0x10]
test edi, edi
je 0x43cd57
mov ecx, edi
jmp 0x43cd63
mov edx, dword [ebp - 0xd0]
mov ecx, dword [edx + 0xa0]
mov dword [ebp - 0xc8], ecx
test ecx, ecx
je case.0x437769.17
mov eax, dword [ebp - 0xd0]
push eax
call fcn.00436f40
mov esi, dword [ebp - 0xd4]
add esp, 4
mov dword [ebp - 0xc4], eax
mov ecx, dword [esi + 0x9c]
mov edx, dword [esi + 0x98]
push eax
push ecx
call edx
mov eax, dword [ebp - 0xc4]
push eax
push esi
call fcn.004169e0
add esp, 0x10
inc dword [ebp - 0xdc]
cmp dword [ebp - 0xcc], 0
jne 0x437a15
mov ebx, dword [ebp - 0xd0]
mov esi, dword [ebp - 0xd4]
jmp 0x4376d0
mov dword [ebp - 0xcc], 9
jmp 0x437a15
mov ecx, dword [edi + 4]
mov dword [ebx + 0x5c], ecx
mov dl, byte [edi + 8]
mov ecx, dword [ebp - 0xdc]
mov byte [ebx + 0x60], dl
mov dword [ebx + 0x58], ecx
mov eax, dword [edi + 0x10]
test eax, eax
je 0x43ce36
push eax
mov eax, dword [ebp - 0xd4]
push 0x4da8b4
lea edi, [ebx + 0x38]
call fcn.00416df0
mov eax, dword [ebp - 0xe8]
mov ecx, dword [eax + 0x10]
mov edx, dword [ebx + 0xa0]
push ecx
mov ecx, dword [ebp - 0xdc]
push edx
mov edx, dword [eax + 4]
push ecx
push str.abort_at__d_in___s_:__s
push edx
call fcn.004181c0
add esp, 0x1c
jmp 0x43ce55
cmp dword [ebx + 0x5c], 0
je 0x43ce55
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.004181c0
add esp, 0x10
call fcn.00433c00
mov edi, 5
cmp eax, edi
je 0x43ceaa
mov edi, dword [ebx + 0x5c]
neg edi
sbb edi, edi
and edi, 0xffffff9c
add edi, 0x65
jmp 0x437a7d
lea eax, [ebp - 0xb8]
push eax
call fcn.004309e0
add esp, 4
jmp 0x437c2e
mov dword [ebp - 0xcc], 0x14
jmp 0x43cf6a
mov ecx, dword [ebp - 0xdc]
mov dword [ebx + 0x58], ecx
mov byte [esi + 0x1c], 0
mov edi, 5
mov dword [ebx + 0x5c], edi
jmp 0x437a7d
test edi, edi
je 0x43cee4
mov eax, esi
call fcn.00473f50
mov byte [esi + 0x1c], 1
mov esi, dword [ebp - 0xd4]
call fcn.00473a70
mov edx, dword [ebp - 0xd0]
mov edi, dword [edx + 0x5c]
neg edi
sbb edi, edi
and edi, 0xffffff9c
add edi, 0x65
jmp 0x437a7d
push ebx
mov ebx, dword [ebp - 0xd0]
mov ecx, ebx
call fcn.00433ba0
mov edi, eax
add esp, 4
test edi, edi
jne 0x437a7d
mov dl, byte [ebp - 0xc8]
mov byte [esi + 0x1c], dl
call fcn.00433c00
mov edi, 5
cmp eax, edi
jne 0x43cec1
mov eax, dword [ebp - 0xdc]
mov cl, 1
sub cl, byte [ebp - 0xc8]
mov dword [ebx + 0x58], eax
mov byte [esi + 0x1c], cl
mov dword [ebx + 0x5c], edi
jmp 0x437a7d
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xdc]
mov edi, 5
mov dword [eax + 0x58], ecx
mov dword [eax + 0x5c], edi
jmp 0x437a7d
mov eax, 0x10155
call fcn.00475d80
mov dword [ebp - 0xcc], eax
jmp 0x43cf6a
mov dword [ebp - 0xcc], 0xd
mov ecx, dword [ebp - 0xd4]
cmp byte [ecx + 0x1e], 0
je 0x43cf82
mov dword [ebp - 0xcc], 7
jmp 0x43cf92
cmp dword [ebp - 0xcc], 0xc0a
je 0x437a15
mov eax, dword [ebp - 0xcc]
call fcn.00474020
mov edi, dword [ebp - 0xd0]
push eax
push 0x4da8b4
add edi, 0x38
mov eax, ecx
call fcn.00416df0
add esp, 8
jmp 0x437a15
mov ebx, dword [ebp - 0xd0]
mov eax, 9
mov dword [ebp - 0xcc], eax
mov dword [ebx + 0x5c], eax
mov eax, dword [str.interrupted]
test eax, eax
jne 0x43cfdd
mov eax, str.unknown_error
push eax
push 0x4da8b4
lea edi, [ebx + 0x38]
mov eax, esi
call fcn.00416df0
add esp, 8
jmp 0x437a15
mov ebx, esi
mov esi, dword [ebp - 0xd4]
jmp 0x437c34
mov ebx, dword [ebp - 0xd0]
mov esi, dword [ebp - 0xd4]
jmp 0x437c34