Function at 0x100cda60
Capabilities:
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x11c
mov eax, dword [0x1018d0d0]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, dword [ecx]
mov esi, dword [ecx + 4]
push ecx
mov dword [ebp - 0xd4], ecx
mov eax, dword [edi + 8]
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xd8], esi
mov dword [ebp - 0xcc], 0
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xc8], edi
mov byte [ebp - 0xf1], 0
mov dword [ebp - 0x104], 0
mov al, byte [eax + 0x4d]
mov byte [ebp - 0xe8], al
mov eax, dword [ecx + 8]
mov dword [ebp - 0xe0], eax
xor eax, eax
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xfc], 0
mov dword [ebp - 0x100], eax
call fcn.100cda00
mov ecx, dword [ebp - 0xd4]
add esp, 4
cmp dword [ecx + 0x5c], 7
je 0x100d3a78
mov dword [ecx + 0x5c], 0
mov dword [ecx + 0x14], 0
cmp dword [edi + 0xe0], 0
mov dword [edi + 0x1b4], 0
jne 0x100d3ec3
mov ebx, dword [ecx + 0x58]
xor edx, edx
cmp dword [edi + 0x114], edx
setne dl
mov dword [ebp - 0xdc], edx
mov dword [ebp - 0xd0], ebx
cmp byte [edi + 0x1e], 0
jne 0x100d3a78
lea edi, [ebx + ebx*4]
test edx, edx
je 0x100cdb8e
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0x104]
cmp dword [eax + 0x11c], ecx
jne 0x100cdb81
push dword [eax + 0x118]
mov eax, dword [eax + 0x114]
call eax
add esp, 4
test eax, eax
jne 0x100d38de
jmp 0x100cdb87
mov eax, dword [ebp - 0x104]
inc eax
mov dword [ebp - 0x104], eax
test byte [esi + edi*4 + 2], 2
je 0x100cdbc5
mov eax, dword [esi + edi*4 + 8]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
mov dword [ebp - 0xe4], eax
call fcn.100d5c40
mov edx, dword [ebp - 0xe4]
mov eax, 4
add esp, 4
mov word [edx + 0x1c], ax
jmp 0x100cdbcb
mov edx, dword [ebp - 0xe4]
movzx eax, byte [esi + edi*4]
dec eax
cmp eax, 0x90
ja case.0x100cdbdb.17
jmp dword [eax*4 + 0x100d3f14]
mov ecx, dword [ebp - 0xc8]
cmp dword [ecx + 0xe0], 0
jne 0x100d3eb7
mov ebx, dword [esi + edi*4 + 8]
mov edi, ecx
mov edx, dword [ebp - 0xdc]
jmp 0x100cdb3b
mov ecx, dword [esi + edi*4 + 4]
mov eax, 4
mov ebx, dword [ebp - 0xe0]
lea ecx, [ecx + ecx*4]
mov word [ebx + ecx*8 + 0x1c], ax
mov eax, dword [ebp - 0xd0]
cdq
mov dword [ebx + ecx*8 + 0x14], edx
mov edx, dword [ebp - 0xdc]
mov dword [ebx + ecx*8 + 0x10], eax
mov ebx, dword [esi + edi*4 + 8]
mov edi, dword [ebp - 0xc8]
jmp 0x100cdb3b
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe0]
mov edi, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xdc]
lea eax, [eax + eax*4]
mov ebx, dword [ecx + eax*8 + 0x10]
inc ebx
jmp 0x100cdb3b
mov eax, dword [esi + edi*4 + 4]
mov ebx, dword [ebp - 0xe0]
mov edi, dword [ebp - 0xc8]
lea ecx, [eax + eax*4]
mov eax, 4
mov word [ebx + ecx*8 + 0x1c], ax
mov eax, dword [ebx + ecx*8 + 0x10]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0xd0]
cdq
mov dword [ebx + ecx*8 + 0x14], edx
mov edx, dword [ebp - 0xdc]
mov dword [ebx + ecx*8 + 0x10], eax
mov ebx, dword [ebp - 0xc4]
inc ebx
jmp 0x100cdb3b
mov eax, dword [esi + edi*4 + 0xc]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
je case.0x100cdbdb.17
cmp dword [esi + edi*4 + 4], 0
mov edx, dword [ebp - 0xd4]
jne 0x100d38f2
mov ecx, dword [edx + 0xa8]
test ecx, ecx
je 0x100d38f2
mov eax, dword [ecx + 0x3c]
dec dword [edx + 0xb0]
mov dword [edx + 0xa8], eax
mov eax, dword [edx + 0x6c]
mov edx, dword [ebp - 0xc8]
push ecx
add dword [edx + 0x40], eax
mov dword [edx + 0x3c], eax
call fcn.100d4610
add esp, 4
mov ebx, eax
cmp dword [esi + edi*4 + 8], 4
mov dword [ebp - 0xd0], ebx
jne 0x100cdd2e
mov edi, eax
lea ecx, [edi + edi*4]
mov edi, dword [ebp - 0xd4]
mov eax, dword [edi + 4]
mov ebx, dword [eax + ecx*4 + 8]
dec ebx
jmp 0x100cdd34
mov edi, dword [ebp - 0xd4]
mov esi, dword [edi + 4]
inc ebx
mov eax, dword [edi + 8]
mov edi, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0xd8], esi
mov dword [ebp - 0xe0], eax
jmp 0x100cdb3b
mov eax, dword [esi + edi*4 + 4]
inc ebx
mov ecx, dword [ebp - 0xe4]
mov edi, dword [ebp - 0xc8]
cdq
mov dword [ecx + 0x14], edx
mov edx, dword [ebp - 0xdc]
mov dword [ecx + 0x10], eax
jmp 0x100cdb3b
mov ecx, dword [esi + edi*4 + 0x10]
inc ebx
mov edi, dword [ebp - 0xc8]
mov eax, dword [ecx]
mov dword [edx + 0x10], eax
mov eax, dword [ecx + 4]
mov dword [edx + 0x14], eax
mov edx, dword [ebp - 0xdc]
jmp 0x100cdb3b
mov eax, 8
inc ebx
mov word [edx + 0x1c], ax
mov eax, dword [esi + edi*4 + 0x10]
mov edi, dword [ebp - 0xc8]
fld qword [eax]
fstp qword [edx + 8]
mov edx, dword [ebp - 0xdc]
jmp 0x100cdb3b
mov edx, dword [esi + edi*4 + 0x10]
push edx
mov byte [esi + edi*4], 9
call fcn.100c9310
add esp, 4
mov dword [esi + edi*4 + 4], eax
cmp byte [ebp - 0xe8], 1
je 0x100cde78
mov ecx, dword [ebp - 0xe4]
push 0
push 1
push 0xffffffffffffffff
push edx
push ecx
call fcn.100d5ec0
add esp, 0x14
mov dword [ebp - 0xcc], eax
cmp eax, 0x12
je 0x100d3d29
movzx ecx, byte [ebp - 0xe8]
push ecx
push dword [ebp - 0xe4]
call fcn.100cd1f0
add esp, 8
test eax, eax
jne 0x100d3a72
mov ecx, dword [ebp - 0xe4]
mov edx, 0xfbff
mov dword [ecx + 0x24], eax
mov ax, word [ecx + 0x1c]
and ax, dx
mov edx, 0x800
or ax, dx
mov word [ecx + 0x1c], ax
cmp byte [esi + edi*4 + 1], 0xff
jne 0x100cde65
push dword [esi + edi*4 + 0x10]
push dword [ebp - 0xc8]
call fcn.100b36a0
mov ecx, dword [ebp - 0xe4]
add esp, 8
mov byte [esi + edi*4 + 1], 0xff
mov eax, dword [ecx + 4]
mov dword [esi + edi*4 + 0x10], eax
mov eax, dword [ecx + 0x18]
mov dword [esi + edi*4 + 4], eax
mov ecx, dword [ebp - 0xc8]
mov eax, dword [esi + edi*4 + 4]
cmp eax, dword [ecx + 0x48]
jg 0x100d3d25
mov ecx, dword [ebp - 0xe4]
mov eax, 0xa02
mov word [ecx + 0x1c], ax
mov eax, dword [esi + edi*4 + 0x10]
mov dword [ecx + 4], eax
mov eax, dword [esi + edi*4 + 4]
mov dword [ecx + 0x18], eax
mov al, byte [ebp - 0xe8]
mov byte [ecx + 0x1f], al
mov edi, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xcc]
inc ebx
mov dword [ebp - 0xd0], ebx
test eax, eax
jne 0x100d3aa4
mov edx, dword [ebp - 0xdc]
jmp 0x100cdb41
mov edi, dword [ebp - 0xc8]
mov eax, 1
mov word [edx + 0x1c], ax
inc ebx
mov edx, dword [ebp - 0xdc]
jmp 0x100cdb3b
push 0
push 0
push dword [esi + edi*4 + 4]
push dword [esi + edi*4 + 0x10]
push edx
call fcn.100d5ec0
mov eax, dword [ebp - 0xe4]
add esp, 0x14
mov cl, byte [ebp - 0xe8]
inc ebx
mov edi, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xdc]
mov byte [eax + 0x1f], cl
jmp 0x100cdb3b
mov eax, dword [esi + edi*4 + 4]
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0xd4]
lea esi, [esi - 5]
mov eax, dword [eax + 0x48]
lea esi, [eax + esi*8]
push esi
mov dword [ebp - 0xc4], esi
call fcn.100d61d0
add esp, 4
test eax, eax
jne 0x100d3d29
push 0x800
push esi
push dword [ebp - 0xe4]
call fcn.100d60a0
mov esi, dword [ebp - 0xd8]
add esp, 0xc
mov edi, dword [ebp - 0xc8]
inc ebx
mov edx, dword [ebp - 0xdc]
jmp 0x100cdb3b
mov edx, dword [esi + edi*4 + 0xc]
mov dword [ebp - 0xc0], edx
mov eax, dword [esi + edi*4 + 4]
mov dword [ebp - 0xbc], eax
mov ecx, dword [esi + edi*4 + 8]
mov edi, dword [ebp - 0xe0]
mov dword [ebp - 0xb8], ecx
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
lea eax, [ecx + ecx*4]
lea eax, [edi + eax*8]
mov dword [ebp - 0xe4], eax
test edx, edx
je 0x100ce006
mov ebx, eax
lea ecx, [ecx]
dec edx
mov dword [ebp - 0xc0], edx
mov eax, dword [ebx + 0x24]
push esi
mov dword [ebp - 0xc4], eax
push ebx
mov dword [ebx + 0x24], 0
call fcn.100d5a50
mov eax, dword [ebp - 0xc4]
add esp, 8
mov dword [esi + 0x24], eax
add ebx, 0x28
mov edx, dword [ebp - 0xc0]
add esi, 0x28
test edx, edx
jne 0x100cdfc0
mov dword [ebp - 0xe4], ebx
mov ebx, dword [ebp - 0xd0]
mov esi, dword [ebp - 0xd8]
dec edx
mov edi, dword [ebp - 0xc8]
inc ebx
mov dword [ebp - 0xc0], edx
mov edx, dword [ebp - 0xdc]
jmp 0x100cdb3b
mov eax, dword [esi + edi*4 + 8]
mov edx, dword [ebp - 0xe0]
push 0x1000
lea eax, [eax + eax*4]
lea ecx, [edx + eax*8]
mov eax, dword [esi + edi*4 + 4]
mov dword [ebp - 0xe4], ecx
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
push eax
push ecx
call fcn.100d60a0
mov ecx, dword [ebp - 0xe4]
mov eax, 0x1000
add esp, 0xc
test word [ecx + 0x1c], ax
je 0x100d0c59
push ecx
call fcn.100d59e0
mov edi, dword [ebp - 0xc8]
add esp, 4
test eax, eax
jne 0x100d3a78
mov edx, dword [ebp - 0xdc]
inc ebx
jmp 0x100cdb3b
mov eax, dword [esi + edi*4 + 8]
mov edx, dword [ebp - 0xe0]
push 0x1000
lea eax, [eax + eax*4]
lea ecx, [edx + eax*8]
mov eax, dword [esi + edi*4 + 4]
mov dword [ebp - 0xe4], ecx
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
push eax
push ecx
call fcn.100d60a0
mov edi, dword [ebp - 0xc8]
add esp, 0xc
mov edx, dword [ebp - 0xdc]
inc ebx
jmp 0x100cdb3b
push 0
push dword [ebp - 0xd4]
call fcn.100cd570
add esp, 8
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x100ce105
push 1
push dword [ebp - 0xd4]
call fcn.100cd5d0
add esp, 8
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x100d3993
mov edi, dword [ebp - 0xc8]
jmp 0x100cdebd
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [esi + edi*4 + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
movzx ecx, word [ebx + 0x1c]
mov al, byte [esi + 0x1c]
or al, cl
mov dword [ebp - 0xe4], edx
test al, 1
je 0x100ce174
push edx
call fcn.100d5db0
mov ebx, dword [ebp - 0xd0]
add esp, 4
mov esi, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xc8]
inc ebx
mov edx, dword [ebp - 0xdc]
jmp 0x100cdb3b
test ecx, 0x4000
je 0x100ce18d
push ebx
call fcn.100d5590
add esp, 4
test eax, eax
jne 0x100d3a72
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x100ce1a9
push esi
call fcn.100d5590
add esp, 4
test eax, eax
jne 0x100d3a72
test byte [ebx + 0x1c], 0x12
jne 0x100ce1c8
movzx eax, byte [ebp - 0xe8]
push eax
push ebx
call fcn.100d6130
add esp, 8
test eax, eax
jne 0x100d3a72
test byte [esi + 0x1c], 0x12
jne 0x100ce1e7
movzx eax, byte [ebp - 0xe8]
push eax
push esi
call fcn.100d6130
add esp, 8
test eax, eax
jne 0x100d3a72
mov eax, dword [ebx + 0x18]
add eax, dword [esi + 0x18]
cdq
mov edi, eax
mov ecx, edx
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xc4], edi
mov dword [ebp - 0xc0], ecx
mov eax, dword [eax + 0x48]
cdq
cmp ecx, edx
jg 0x100d3d29
jl 0x100ce21a
cmp edi, eax
ja 0x100d3d29
mov edi, dword [ebp - 0xe4]
mov ecx, 0xbf02
mov ax, word [edi + 0x1c]
and ax, cx
or ax, 2
mov word [edi + 0x1c], ax
xor eax, eax
cmp edi, esi
sete al
push eax
mov eax, dword [ebp - 0xc4]
add eax, 2
push eax
push edi
call fcn.100d5800
add esp, 0xc
test eax, eax
jne 0x100d3a72
cmp edi, esi
je 0x100ce26c
push dword [esi + 0x18]
push dword [esi + 4]
push dword [edi + 4]
call fcn.1011b250
add esp, 0xc
push dword [ebx + 0x18]
mov eax, dword [edi + 4]
push dword [ebx + 4]
add eax, dword [esi + 0x18]
push eax
call fcn.1011b250
mov eax, dword [ebp - 0xc4]
add esp, 0xc
mov ecx, dword [edi + 4]
mov ebx, dword [ebp - 0xd0]
mov esi, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xdc]
mov byte [eax + ecx], 0
mov eax, dword [ebp - 0xc4]
mov ecx, dword [edi + 4]
mov edi, dword [ebp - 0xc8]
mov byte [ecx + eax + 1], 0
mov eax, 0x200
mov ecx, dword [ebp - 0xe4]
or word [ecx + 0x1c], ax
inc ebx
mov eax, dword [ebp - 0xc4]
mov dword [ecx + 0x18], eax
mov al, byte [ebp - 0xe8]
mov byte [ecx + 0x1f], al
jmp 0x100cdb3b
mov eax, dword [esi + edi*4 + 4]
mov ebx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
push esi
call fcn.1008eb80
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + edi*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
push ebx
call fcn.1008eb80
mov eax, dword [ebp - 0xd8]
add esp, 8
mov ecx, dword [ebp - 0xe0]
mov eax, dword [eax + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
movzx ecx, word [ebx + 0x1c]
mov dword [ebp - 0xe4], eax
movzx eax, word [esi + 0x1c]
or ecx, eax
mov dword [ebp - 0xc4], ecx
test cl, 1
jne 0x100ce5ff
mov al, byte [ebx + 0x1c]
and al, byte [esi + 0x1c]
test al, 4
je 0x100ce3af
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0xbc], ecx
mov edx, dword [esi + 0x14]
mov dword [ebp - 0xb8], edx
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xb4], eax
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xd8]
movzx eax, byte [eax + edi*4]
add eax, 0xffffffaa
cmp eax, 3
ja case.default.0x100ce38f
jmp dword [eax*4 + 0x100d4158]
push edx
push ecx
lea eax, [ebp - 0xb4]
push eax
call fcn.100ab380
add esp, 0xc
test eax, eax
je 0x100ce49e
push esi
call fcn.100d6730
fstp qword [ebp - 0xac]
push ebx
call fcn.100d6730
mov esi, dword [ebp - 0xd8]
add esp, 8
fst qword [ebp - 0xa4]
movzx eax, byte [esi + edi*4]
add eax, 0xffffffaa
cmp eax, 3
ja case.default.0x100ce3e0
jmp dword [eax*4 + 0x100d4168]
push edx
push ecx
lea eax, [ebp - 0xb4]
push eax
call fcn.100c9340
add esp, 0xc
test eax, eax
jne 0x100ce3af
jmp 0x100ce49e
push edx
push ecx
lea eax, [ebp - 0xb4]
push eax
call fcn.100bfa90
add esp, 0xc
test eax, eax
jne 0x100ce3af
jmp 0x100ce49e
mov eax, ecx
or eax, edx
je 0x100ce5ff
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
mov eax, dword [ebp - 0xec]
jne 0x100ce448
test eax, eax
jne 0x100ce448
cmp dword [ebp - 0xf8], 0x80000000
je 0x100ce3af
push edx
push ecx
push dword [ebp - 0xf8]
push eax
call fcn.10120ee0
jmp 0x100ce492
mov eax, ecx
or eax, edx
je 0x100ce5ff
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x100ce47e
mov ecx, 1
xor edx, edx
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0xec]
push edx
push ecx
push dword [ebp - 0xf8]
push eax
call fcn.10121380
mov dword [ebp - 0xb0], edx
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 0xe4]
mov edx, 0xbf04
mov eax, dword [ebp - 0xb4]
mov ebx, dword [ebp - 0xd0]
mov esi, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xc8]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xb0]
mov dword [ecx + 0x14], eax
mov ax, word [ecx + 0x1c]
and ax, dx
mov edx, dword [ebp - 0xdc]
or ax, 4
inc ebx
mov word [ecx + 0x1c], ax
jmp 0x100cdb3b
fadd qword [ebp - 0xac]
jmp 0x100ce596
fsub qword [ebp - 0xac]
jmp 0x100ce596
fmul qword [ebp - 0xac]
jmp 0x100ce596
fldz
fld qword [ebp - 0xac]
fucomi st(1)
fstp st(1)
lahf
test ah, 0x44
jnp 0x100ce5fb
fdivp st(1)
jmp 0x100ce596
fld qword [ebp - 0xac]
call fcn.10121646
mov esi, eax
mov edi, edx
mov dword [ebp - 0xbc], esi
mov dword [ebp - 0xb8], edi
call fcn.10121646
mov ecx, esi
mov dword [ebp - 0xb4], eax
or ecx, edi
mov dword [ebp - 0xb0], edx
je 0x100ce5ff
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x100ce575
mov esi, 1
xor edi, edi
mov dword [ebp - 0xbc], esi
mov dword [ebp - 0xb8], edi
push edi
push esi
push edx
push eax
call fcn.10121380
mov esi, dword [ebp - 0xd8]
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x118], edx
fild qword [ebp - 0x11c]
sub esp, 8
fst qword [ebp - 0xa4]
fstp qword [esp]
call fcn.100bebc0
add esp, 8
test eax, eax
jne 0x100ce5ff
mov ecx, dword [ebp - 0xe4]
mov edx, 0xbf08
fld qword [ebp - 0xa4]
mov ax, word [ecx + 0x1c]
and ax, dx
or ax, 8
fstp qword [ecx + 8]
mov word [ecx + 0x1c], ax
test byte [ebp - 0xc4], 8
jne 0x100ce5e3
push ecx
call fcn.100d4c80
add esp, 4
mov ebx, dword [ebp - 0xd0]
mov edi, dword [ebp - 0xc8]
inc ebx
mov edx, dword [ebp - 0xdc]
jmp 0x100cdb3b
fstp st(0)
fstp st(0)
push dword [ebp - 0xe4]
jmp 0x100ce14e
movzx ecx, byte [esi + edi*4 + 3]
mov eax, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0x78], ecx
mov esi, dword [eax + 0xc]
mov dword [ebp - 0x7c], esi
mov eax, dword [edx + edi*4 + 0xc]
mov edx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xe4], eax
mov eax, dword [edx + edi*4 + 8]
mov edx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
xor eax, eax
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0xc4], eax
test ecx, ecx
jle 0x100ce6bc
mov dword [esi + eax*4], edx
mov ecx, 0x1000
mov eax, dword [ebp - 0xc0]
test word [eax + 0x1c], cx
je 0x100ce68d
push eax
call fcn.100d59e0
add esp, 4
test eax, eax
jne 0x100d3a72
mov eax, dword [ebp - 0xc0]
push eax
call fcn.100d60f0
mov eax, dword [ebp - 0xc4]
add esp, 4
mov edx, dword [ebp - 0xc0]
inc eax
add edx, 0x28
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], edx
cmp eax, dword [ebp - 0x78]
jge 0x100ce6bc
mov esi, dword [ebp - 0x7c]
jmp 0x100ce662
mov esi, dword [ebp - 0xd8]
cmp byte [esi + edi*4 + 1], 0xfb
mov eax, dword [esi + edi*4 + 0x10]
jne 0x100ce6d9
mov dword [ebp - 0xb8], 0
jmp 0x100ce6e1
mov dword [ebp - 0xb8], eax
mov eax, dword [eax]
push dword [ebp - 0xe4]
mov dword [ebp - 0xbc], eax
mov eax, 1
mov word [ebp - 0x98], ax
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xb4], eax
lea eax, [ebp - 0xb4]
push eax
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0
call fcn.100d5a50
mov eax, dword [ebp - 0x98]
add esp, 8
mov ecx, dword [ebp - 0xbc]
and eax, 0xbf01
or eax, 1
mov dword [ebp - 0x88], 0
mov word [ebp - 0x98], ax
test byte [ecx + 3], 8
je 0x100ce75d
mov eax, dword [esi + edi*4 - 4]
mov dword [ebp - 0x84], eax
push dword [ebp - 0x7c]
lea eax, [ebp - 0xbc]
push dword [ebp - 0x78]
push eax
mov eax, dword [ecx + 0xc]
call eax
mov eax, dword [ebp - 0xc8]
add esp, 0xc
cmp byte [eax + 0x1e], 0
jne 0x100d3a63
mov eax, dword [ebp - 0xb8]
test eax, eax
je 0x100ce7a8
push dword [esi + edi*4 + 4]
push eax
call fcn.100cd800
mov eax, dword [ebp - 0xb8]
add esp, 8
mov dword [esi + edi*4 + 0x10], eax
mov byte [esi + edi*4 + 1], 0xf9
cmp dword [ebp - 0x88], 0
je 0x100ce7e9
lea eax, [ebp - 0xb4]
push 1
push eax
call fcn.100cceb0
push eax
mov eax, dword [ebp - 0xd4]
push 0x101794b4
push dword [ebp - 0xc8]
add eax, 0x38
push eax
call fcn.100c8200
mov eax, dword [ebp - 0x88]
add esp, 0x18
mov dword [ebp - 0xcc], eax
movzx eax, byte [ebp - 0xe8]
push eax
lea eax, [ebp - 0xb4]
push eax
call fcn.100cd1f0
mov edi, dword [ebp - 0xe4]
lea eax, [ebp - 0xb4]
push eax
push edi
call fcn.100d5a50
push edi
call fcn.100d61d0
mov edi, dword [ebp - 0xc8]
add esp, 0x14
test eax, eax
jne 0x100d3d2f
jmp 0x100cdeb7
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xd8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [edx + edi*4 + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [edx + edi*4 + 0xc]
mov edx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov al, byte [ecx + 0x1c]
or al, byte [esi + 0x1c]
mov dword [ebp - 0xe4], edx
test al, 1
je 0x100ce88d
push edx
call fcn.100d5db0
mov esi, dword [ebp - 0xd8]
add esp, 4
mov edi, dword [ebp - 0xc8]
inc ebx
mov edx, dword [ebp - 0xdc]
jmp 0x100cdb3b
push ecx
call fcn.100d4c10
push esi
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], edx
call fcn.100d4c10
mov esi, dword [ebp - 0xd8]
mov ebx, eax
mov dword [ebp - 0xb4], ebx
add esp, 8
mov dword [ebp - 0xb0], edx
mov cl, byte [esi + edi*4]
mov byte [ebp - 0xac], cl
cmp cl, 0x52
jne 0x100ce8e3
mov edi, dword [ebp - 0xc4]
and edi, ebx
and dword [ebp - 0xc0], edx
mov dword [ebp - 0xc4], edi
jmp 0x100cea4b
cmp cl, 0x53
jne 0x100ce901
mov edi, dword [ebp - 0xc4]
or edi, ebx
or dword [ebp - 0xc0], edx
mov dword [ebp - 0xc4], edi
jmp 0x100cea4b
mov eax, ebx
or eax, edx
je 0x100cea45
test edx, edx
jg 0x100ce94b
jl 0x100ce915
test ebx, ebx
jae 0x100ce940
mov al, 0xa9
sub al, cl
mov cl, al
mov byte [ebp - 0xac], cl
cmp edx, 0xffffffff
jl 0x100ce97b
jg 0x100ce92d
cmp ebx, 0xffffffc0
jbe 0x100ce97b
neg ebx
mov dword [ebp - 0xb4], ebx
adc edx, 0
neg edx
mov dword [ebp - 0xb0], edx
test edx, edx
jl 0x100ce9a7
jg 0x100ce94b
cmp ebx, 0x40
jb 0x100ce9a7
cmp dword [ebp - 0xc0], 0
jg 0x100ce991
jl 0x100ce95f
cmp dword [ebp - 0xc4], 0
jae 0x100ce991
cmp cl, 0x54
je 0x100ce991
or eax, 0xffffffff
cdq
mov edi, eax
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0xc4], edi
jmp 0x100cea4b
mov dword [ebp - 0xb4], 0x40
mov dword [ebp - 0xb0], 0
jmp 0x100ce94b
xor eax, eax
cdq
mov edi, eax
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0xc4], edi
jmp 0x100cea4b
mov eax, dword [ebp - 0xc4]
cmp cl, 0x54
mov ecx, ebx
jne 0x100ce9dd
mov edx, dword [ebp - 0xc0]
call fcn.10121440
mov edi, eax
mov eax, edx
mov dword [ebp - 0xbc], edi
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xc4], edi
mov dword [ebp - 0xc0], eax
jmp 0x100cea4b
mov esi, dword [ebp - 0xc0]
mov edx, esi
call fcn.101215f0
mov edi, eax
mov eax, edx
mov dword [ebp - 0xbc], edi
mov dword [ebp - 0xb8], eax
test esi, esi
jg 0x100cea31
jl 0x100cea09
cmp dword [ebp - 0xc4], 0
jae 0x100cea31
mov ecx, 0x40
or eax, 0xffffffff
sub ecx, ebx
or edx, 0xffffffff
call fcn.10121440
or edi, eax
mov eax, dword [ebp - 0xb8]
or eax, edx
mov dword [ebp - 0xbc], edi
mov dword [ebp - 0xb8], eax
mov esi, dword [ebp - 0xd8]
mov dword [ebp - 0xc4], edi
mov dword [ebp - 0xc0], eax
jmp 0x100cea4b
mov edi, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xe4]
mov edx, 0xbf04
mov ebx, dword [ebp - 0xd0]
mov dword [ecx + 0x10], edi
mov eax, dword [ebp - 0xc0]
mov edi, dword [ebp - 0xc8]
mov dword [ecx + 0x14], eax
mov ax, word [ecx + 0x1c]
and ax, dx
mov edx, dword [ebp - 0xdc]
or ax, 4
inc ebx
mov word [ecx + 0x1c], ax
jmp 0x100cdb3b
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push esi
call fcn.100d59b0
mov eax, dword [ebp - 0xd8]
add esp, 4
mov eax, dword [eax + edi*4 + 8]
mov edi, dword [ebp - 0xc8]
cdq
add dword [esi + 0x10], eax
adc dword [esi + 0x14], edx
inc ebx
mov esi, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xdc]
jmp 0x100cdb3b
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push esi
call fcn.1008eb80
add esp, 4
test byte [esi + 0x1c], 8
je 0x100ceaf3
push esi
call fcn.100d4c80
add esp, 4
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x100ceb20
mov esi, dword [ebp - 0xd8]
mov eax, dword [esi + edi*4 + 8]
test eax, eax
je 0x100d3b2b
mov edi, dword [ebp - 0xc8]
mov ebx, eax
mov edx, dword [ebp - 0xdc]
jmp 0x100cdb3b
mov edi, dword [ebp - 0xc8]
and eax, 0xbf04
mov edx, dword [ebp - 0xdc]
or eax, 4
mov word [esi + 0x1c], ax
inc ebx
mov esi, dword [ebp - 0xd8]
jmp 0x100cdb3b
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 4
lea eax, [ecx + eax*8]
je 0x100ce162
push eax
call fcn.100d5b90
mov edi, dword [ebp - 0xc8]
add esp, 4
mov edx, dword [ebp - 0xdc]
inc ebx
jmp 0x100cdb3b
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx ecx, word [esi + 0x1c]
test cl, 1
jne 0x100cf9d1
mov eax, ecx
shr eax, 3
and eax, 2
or eax, ecx
mov word [esi + 0x1c], ax
test al, 2
jne 0x100cebbe
test al, 0xc
je 0x100cebbe
movzx eax, byte [ebp - 0xe8]
push eax
push esi
call fcn.100d6130
add esp, 8
mov eax, 0xfff3
and word [esi + 0x1c], ax
movzx eax, word [esi + 0x1c]
test eax, 0x4000
je 0x100cebdd
push esi
call fcn.100d5590
add esp, 4
jmp 0x100cebdf
xor eax, eax
mov ecx, 0xbfe3
mov dword [ebp - 0xcc], eax
and word [esi + 0x1c], cx
mov esi, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xc8]
jmp 0x100cdebd
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 0x1c]
test al, 1
jne 0x100cf9d1
test al, 0x10
jne 0x100cec64
test al, 2
jne 0x100cec38
test al, 0xc
je 0x100cec38
movzx eax, byte [ebp - 0xe8]
push eax
push esi
call fcn.100d6130
add esp, 8
mov ax, word [esi + 0x1c]
mov ecx, 0xbf10
mov edi, dword [ebp - 0xc8]
and ax, cx
mov edx, dword [ebp - 0xdc]
or ax, 0x10
mov word [esi + 0x1c], ax
inc ebx
mov esi, dword [ebp - 0xd8]
jmp 0x100cdb3b
mov edi, dword [ebp - 0xc8]
and eax, 0xff10
mov edx, dword [ebp - 0xdc]
inc ebx
mov word [esi + 0x1c], ax
mov esi, dword [ebp - 0xd8]
jmp 0x100cdb3b
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
call fcn.100d5b10
mov edi, dword [ebp - 0xc8]
add esp, 4
mov edx, dword [ebp - 0xdc]
inc ebx
jmp 0x100cdb3b
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea eax, [ecx + eax*8]
jne 0x100ce162
push eax
call fcn.100d59b0
mov edi, dword [ebp - 0xc8]
add esp, 4
mov edx, dword [ebp - 0xdc]
inc ebx
jmp 0x100cdb3b
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea eax, [ecx + eax*8]
jne 0x100ce162
push eax
call fcn.100d5b90
mov edi, dword [ebp - 0xc8]
add esp, 4
mov edx, dword [ebp - 0xdc]
inc ebx
jmp 0x100cdb3b
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
movzx eax, word [esi + 0x1c]
mov word [ebp - 0xbe], ax
movzx eax, word [ebx + 0x1c]
mov word [ebp - 0xbc], ax
movzx edx, word [ebx + 0x1c]
movzx ecx, word [esi + 0x1c]
mov al, dl
or al, cl
test al, 1
mov eax, dword [ebp - 0xd8]
mov al, byte [eax + edi*4 + 3]
je 0x100cede7
test al, al
jns 0x100ced7c
and edx, ecx
not edx
and edx, 1
jmp 0x100cee66
mov esi, dword [ebp - 0xd8]
test al, 0x10
je 0x100cedc8
mov eax, dword [esi + edi*4 + 8]
mov edx, 0xbf01
mov ecx, dword [ebp - 0xe0]
mov ebx, dword [ebp - 0xd0]
mov edi, dword [ebp - 0xc8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov ax, word [ecx + 0x1c]
and ax, dx
mov dword [ebp - 0xe4], ecx
mov edx, dword [ebp - 0xdc]
or ax, 1
mov word [ecx + 0x1c], ax
inc ebx
jmp 0x100cdb3b
test al, 8
je 0x100ce5e3
mov ebx, dword [esi + edi*4 + 8]
mov edi, dword [ebp - 0xc8]
dec ebx
mov edx, dword [ebp - 0xdc]
inc ebx
jmp 0x100cdb3b
and al, 0x67
mov byte [ebp - 0xc0], al
je 0x100cee28
push dword [ebp - 0xe8]
push dword [ebp - 0xc0]
push esi
call fcn.100cca80
push dword [ebp - 0xe8]
push dword [ebp - 0xc0]
push ebx
call fcn.100cca80
mov eax, dword [ebp - 0xc8]
add esp, 0x18
cmp byte [eax + 0x1e], 0
jne 0x100d3f06
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x100cee41
push esi
call fcn.100d5590
add esp, 4
mov eax, 0x4000
test word [ebx + 0x1c], ax
je 0x100cee50
push ebx
call fcn.100d5590
add esp, 4
mov eax, dword [ebp - 0xd8]
push dword [eax + edi*4 + 0x10]
push esi
push ebx
call fcn.100bf6a0
add esp, 0xc
mov edx, eax
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xc4], edx
movzx ecx, byte [eax + edi*4]
add ecx, 0xffffffb5
cmp ecx, 4
ja case.default.0x100cee7e
jmp dword [ecx*4 + 0x100d4178]
xor eax, eax
test edx, edx
sete al
jmp 0x100ceeb9
xor eax, eax
test edx, edx
setne al
jmp 0x100ceeb9
xor eax, eax
test edx, edx
sets al
jmp 0x100ceeb9
xor eax, eax
test edx, edx
setle al
jmp 0x100ceeb9
xor eax, eax
test edx, edx
setg al
jmp 0x100ceeb9
xor eax, eax
test edx, edx
setns al
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xc4], eax
test byte [ecx + edi*4 + 3], 0x10
je 0x100cef33
mov eax, dword [ecx + edi*4 + 8]
mov edx, 0xbf04
mov ecx, dword [ebp - 0xe0]
mov edi, dword [ebp - 0xc8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov ax, word [ecx + 0x1c]
and ax, dx
mov dword [ebp - 0xe4], ecx
or ax, 4
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xc4]
cdq
mov dword [ecx + 0x14], edx
mov edx, dword [ebp - 0xdc]
mov dword [ecx + 0x10], eax
mov al, byte [ebp - 0xbe]
mov byte [esi + 0x1c], al
mov al, byte [ebp - 0xbc]
mov esi, dword [ebp - 0xd8]
mov byte [ebx + 0x1c], al
mov ebx, dword [ebp - 0xd0]
inc ebx
jmp 0x100cdb3b
test eax, eax
je 0x100cef42
mov eax, dword [ecx + edi*4 + 8]
dec eax
mov dword [ebp - 0xd0], eax
mov al, byte [ebp - 0xbe]
mov edi, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xdc]
mov byte [esi + 0x1c], al
mov al, byte [ebp - 0xbc]
mov esi, dword [ebp - 0xd8]
mov byte [ebx + 0x1c], al
mov ebx, dword [ebp - 0xd0]
inc ebx
jmp 0x100cdb3b
mov eax, dword [esi + edi*4 + 0x10]
inc ebx
mov edi, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0x100], eax
jmp 0x100cdb3b
mov eax, dword [esi + edi*4 + 0xc]
xor edx, edx
mov dword [ebp - 0xc4], eax
mov ebx, dword [esi + edi*4 + 0x10]
mov dword [ebp - 0xb4], ebx
mov ecx, dword [esi + edi*4 + 4]
mov dword [ebp - 0xbc], ecx
mov edi, dword [esi + edi*4 + 8]
mov dword [ebp - 0xec], ecx
mov dword [ebp - 0xb8], edi
mov dword [ebp - 0xc0], edx
test eax, eax
jle 0x100cf079
lea esp, [esp]
mov eax, dword [ebp - 0x100]
test eax, eax
je 0x100cefdf
mov esi, dword [eax + edx*4]
jmp 0x100cefe1
mov esi, edx
mov dword [ebp - 0xb0], esi
mov ecx, dword [ebx + edx*4 + 0xc]
mov dword [ebp - 0xac], ecx
mov eax, dword [ebx + 8]
push ecx
mov ecx, dword [ebp - 0xe0]
movzx eax, byte [eax + edx]
mov dword [ebp - 0xa8], eax
lea eax, [esi + edi]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
mov eax, dword [ebp - 0xec]
add eax, esi
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
call fcn.100bf6a0
add esp, 0xc
mov dword [ebp - 0xfc], eax
test eax, eax
jne 0x100cf062
mov edx, dword [ebp - 0xc0]
inc edx
mov dword [ebp - 0xc0], edx
cmp edx, dword [ebp - 0xc4]
jge 0x100cf073
mov ecx, dword [ebp - 0xbc]
mov ebx, dword [ebp - 0xb4]
mov edi, dword [ebp - 0xb8]
mov dword [ebp - 0xec], ecx
jmp 0x100cefd0
cmp dword [ebp - 0xa8], 0
je 0x100cf073
neg eax
mov dword [ebp - 0xfc], eax
mov esi, dword [ebp - 0xd8]
mov ebx, dword [ebp - 0xd0]
xor eax, eax
mov edi, dword [ebp - 0xc8]
inc ebx
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0x100], eax
jmp 0x100cdb3b
mov eax, dword [ebp - 0xfc]
test eax, eax
jns 0x100cf0b8
mov ebx, dword [esi + edi*4 + 4]
mov edi, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xdc]
jmp 0x100cdb3b
jne 0x100cf0cf
mov ebx, dword [esi + edi*4 + 8]
mov edi, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xdc]
jmp 0x100cdb3b
mov ebx, dword [esi + edi*4 + 0xc]
mov edi, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xdc]
jmp 0x100cdb3b
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea eax, [ecx + eax*8]
je 0x100cf102
mov ecx, 2
jmp 0x100cf118
push eax
call fcn.100d4c10
add esp, 4
or eax, edx
je 0x100cf116
mov ecx, 1
jmp 0x100cf118
xor ecx, ecx
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0xc4], ecx
mov eax, dword [esi + edi*4 + 8]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x1c], 1
lea eax, [edx + eax*8]
je 0x100cf13c
mov eax, 2
jmp 0x100cf15e
push eax
call fcn.100d4c10
mov ecx, dword [ebp - 0xc4]
add esp, 4
or eax, edx
mov edx, dword [ebp - 0xe0]
je 0x100cf15c
mov eax, 1
jmp 0x100cf15e
xor eax, eax
mov dword [ebp - 0xc0], eax
lea eax, [eax + ecx*2]
cmp byte [esi + edi*4], 0x45
jne 0x100cf177
movzx ecx, byte [ecx + eax + 0x1015a928]
jmp 0x100cf17f
movzx ecx, byte [ecx + eax + 0x1015a934]
mov dword [ebp - 0xc4], ecx
mov eax, dword [esi + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov dword [ebp - 0xe4], edx
cmp ecx, 2
jne 0x100cf1c0
mov ax, word [edx + 0x1c]
mov ecx, 0xbf01
mov edi, dword [ebp - 0xc8]
and ax, cx
or ax, 1
inc ebx
mov word [edx + 0x1c], ax
mov edx, dword [ebp - 0xdc]
jmp 0x100cdb3b
mov edi, dword [ebp - 0xc8]
mov eax, ecx
mov ecx, dword [ebp - 0xe4]
cdq
mov dword [ecx + 0x10], eax
mov ax, word [ecx + 0x1c]
mov dword [ecx + 0x14], edx
mov edx, 0xbf04
and ax, dx
mov edx, dword [ebp - 0xdc]
or ax, 4
inc ebx
mov word [ecx + 0x1c], ax
jmp 0x100cdb3b
mov eax, dword [esi + edi*4 + 4]
mov edx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x1c], 1
lea ecx, [edx + eax*8]
mov eax, dword [esi + edi*4 + 8]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov dword [ebp - 0xe4], edi
je 0x100cf237
push edi
call fcn.100d5db0
mov edi, dword [ebp - 0xc8]
add esp, 4
mov edx, dword [ebp - 0xdc]
inc ebx
jmp 0x100cdb3b
push ecx
call fcn.100d4c10
add esp, 4
or eax, edx
jne 0x100cf267
mov eax, 1
cdq
push edx
push eax
push edi
call fcn.100d5d60
mov edi, dword [ebp - 0xc8]
add esp, 0xc
mov edx, dword [ebp - 0xdc]
inc ebx
jmp 0x100cdb3b
xor eax, eax
cdq
push edx
push eax
push edi
call fcn.100d5d60
mov edi, dword [ebp - 0xc8]
add esp, 0xc
mov edx, dword [ebp - 0xdc]
inc ebx
jmp 0x100cdb3b
mov eax, dword [esi + edi*4 + 4]
mov edx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x1c], 1
lea ecx, [edx + eax*8]
mov eax, dword [esi + edi*4 + 8]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov dword [ebp - 0xe4], edi
je 0x100cf2c9
push edi
call fcn.100d5db0
mov edi, dword [ebp - 0xc8]
add esp, 4
mov edx, dword [ebp - 0xdc]
inc ebx
jmp 0x100cdb3b
push ecx
call fcn.100d4c10
not edx
not eax
push edx
push eax
push edi
call fcn.100d5d60
mov edi, dword [ebp - 0xc8]
add esp, 0x10
mov edx, dword [ebp - 0xdc]
inc ebx
jmp 0x100cdb3b
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea eax, [ecx + eax*8]
je 0x100cf318
mov ecx, dword [esi + edi*4 + 0xc]
test ecx, ecx
mov dword [ebp - 0xc4], ecx
jmp 0x100d0c52
push eax
call fcn.100d6730
fldz
add esp, 4
fxch st(1)
fucompi st(1)
fstp st(0)
lahf
test ah, 0x44
jnp 0x100cf336
mov ecx, 1
jmp 0x100cf338
xor ecx, ecx
mov dword [ebp - 0xc4], ecx
cmp byte [esi + edi*4], 0x1b
jne 0x100cf353
xor eax, eax
test ecx, ecx
sete al
mov ecx, eax
mov dword [ebp - 0xc4], ecx
test ecx, ecx
jmp 0x100d0c52
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
jmp 0x100d0c52
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
jne 0x100d0c59
mov ebx, dword [esi + edi*4 + 8]
mov edi, dword [ebp - 0xc8]
dec ebx
mov edx, dword [ebp - 0xdc]
inc ebx
jmp 0x100cdb3b
mov eax, dword [esi + edi*4 + 4]
mov edx, 0xbf01
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xb4], eax
mov eax, dword [esi + edi*4 + 8]
mov dword [ebp - 0xb0], eax
xor eax, eax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0xac], 0
mov eax, dword [esi + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0x88], ecx
mov ax, word [ecx + 0x1c]
and ax, dx
or ax, 1
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xa8], 0
mov ecx, dword [eax + 0x44]
mov eax, dword [ebp - 0xb4]
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0xac], edx
mov eax, dword [edx]
mov dword [ebp - 0xa4], eax
test eax, eax
je 0x100cf4ea
push edx
call fcn.100cd710
mov ecx, eax
add esp, 4
mov dword [ebp - 0xcc], ecx
test ecx, ecx
jne 0x100d3c34
mov ecx, dword [ebp - 0xac]
cmp byte [ecx + 0x1c], al
je 0x100cf479
mov edi, dword [ebp - 0xc8]
inc ebx
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0xc4], eax
jmp 0x100cdb3b
mov edx, dword [ebp - 0xd4]
mov eax, dword [ecx + 0x4c]
cmp eax, dword [edx + 0x54]
jne 0x100cf49e
mov edx, dword [ecx + 0x50]
mov dword [ebp - 0xc4], edx
mov eax, dword [ecx + 0x5c]
mov dword [ebp - 0xa8], eax
jmp 0x100cf539
cmp byte [ecx + 0x1f], 0
je 0x100cf4cd
lea eax, [ebp - 0xbc]
push eax
push dword [ebp - 0xa4]
call fcn.100afc20
mov edx, dword [ebp - 0xbc]
add esp, 8
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc4], edx
jmp 0x100cf533
lea eax, [ebp - 0xc4]
push eax
push dword [ebp - 0xa4]
call fcn.100aedf0
add esp, 8
mov dword [ebp - 0xcc], eax
jmp 0x100cf52d
mov eax, dword [edx + 0x10]
test eax, eax
jle 0x100cf9dc
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0x44], ecx
mov eax, dword [ecx + 0x18]
mov dword [ebp - 0xc4], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0xa8], eax
test byte [esi + edi*4 + 3], 0x20
je 0x100cf521
xor eax, eax
jmp 0x100cf52a
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + 0x54]
mov dword [edx + 0x4c], eax
mov edx, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xac]
test edx, edx
je case.0x100cdbdb.17
mov eax, dword [ebp - 0xc8]
cmp edx, dword [eax + 0x48]
ja 0x100d3d21
mov esi, dword [ecx + 0x14]
mov dword [ebp - 0x98], esi
mov edx, dword [ecx + 0x54]
mov dword [ebp - 0xec], esi
mov esi, dword [ebp - 0xd4]
mov dword [ebp - 0xa0], edx
mov eax, dword [ecx + 0x4c]
cmp eax, dword [esi + 0x54]
mov esi, dword [ebp - 0xec]
jne 0x100cf58a
mov eax, dword [ecx + 0x58]
mov dword [ebp - 0x9c], eax
jmp 0x100cf7fb
lea eax, [edx + esi*4]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x9c], eax
mov dword [ecx + 0x58], eax
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xc4]
mov dword [ecx + 0x50], eax
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 0x54]
mov eax, dword [ebp - 0xac]
mov dword [eax + 0x4c], ecx
mov ecx, dword [ebp - 0xa8]
test ecx, ecx
je 0x100cf5d0
mov dword [ebp - 0x8c], ecx
jmp 0x100cf626
mov eax, dword [ebp - 0xac]
cmp byte [eax + 0x1f], 0
lea eax, [ebp - 0x48]
push eax
push dword [ebp - 0xa4]
je 0x100cf5ed
call fcn.100afbb0
jmp 0x100cf5f2
call fcn.100aedd0
mov ecx, eax
add esp, 8
mov eax, dword [ebp - 0xc4]
cmp eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x8c], ecx
ja 0x100cf619
mov dword [ebp - 0xa8], ecx
mov dword [eax + 0x5c], ecx
jmp 0x100cf620
mov dword [eax + 0x5c], 0
mov ecx, dword [ebp - 0x8c]
mov al, byte [ecx]
cmp al, 0x80
jae 0x100cf639
movzx edx, al
mov eax, 1
mov dword [ebp - 0x54], edx
jmp 0x100cf652
lea eax, [ebp - 0x54]
push eax
push ecx
call fcn.100bc2e0
mov edx, dword [ebp - 0x54]
add esp, 8
mov ecx, dword [ebp - 0x8c]
movzx eax, al
movzx eax, al
mov dword [ebp - 0x4c], eax
cmp edx, 0x18003
jbe 0x100cf684
push 0xfce4
call fcn.100b2680
mov esi, dword [ebp - 0xd8]
add esp, 4
mov edi, dword [ebp - 0xc8]
mov dword [ebp - 0xcc], eax
jmp 0x100cdebd
mov ebx, dword [ebp - 0x98]
lea esi, [ebx*4 + 3]
add esi, ebx
cmp esi, edx
cmovg esi, edx
cmp dword [ebp - 0xa8], 0
mov dword [ebp - 0x94], esi
jne 0x100cf703
cmp dword [ebp - 0x48], esi
jge 0x100cf703
xor eax, eax
mov word [ebp - 0x68], ax
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0x84]
push eax
mov eax, dword [ebp - 0xac]
movzx eax, byte [eax + 0x1f]
push eax
push esi
push 0
push dword [ebp - 0xa4]
call fcn.100d5680
mov ebx, eax
add esp, 0x14
mov dword [ebp - 0xcc], ebx
test ebx, ebx
jne 0x100cf9cb
mov ecx, dword [ebp - 0x80]
mov edx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x94]
mov ebx, dword [ebp - 0x98]
mov dword [ebp - 0x8c], ecx
lea eax, [ecx + esi]
mov esi, dword [ebp - 0x4c]
add esi, ecx
mov dword [ebp - 0x58], eax
xor ecx, ecx
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x90], ecx
test ebx, ebx
jle 0x100cf7a6
cmp esi, eax
mov eax, dword [ebp - 0x9c]
jae 0x100cf86a
mov dword [eax + ecx*4], edx
mov edx, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x90]
mov al, byte [edx]
cmp al, 0x80
jae 0x100cf754
movzx edx, al
mov eax, dword [ebp - 0xa0]
mov dword [eax + ecx*4], edx
mov eax, 1
jmp 0x100cf76a
mov eax, dword [ebp - 0xa0]
lea eax, [eax + ecx*4]
push eax
push edx
call fcn.100bc2e0
add esp, 8
movzx eax, al
mov esi, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x90]
movzx eax, al
add esi, eax
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x5c], esi
push dword [eax + ecx*4]
call fcn.100d6fc0
mov edx, dword [ebp - 0x54]
add esp, 4
add edx, eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x54], edx
cmp edx, eax
jae 0x100cf87d
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x5c], eax
lea eax, [ebp - 0x84]
push eax
call fcn.100d5c00
mov edx, dword [ebp - 0x5c]
add esp, 4
mov esi, dword [ebp - 0x58]
mov eax, 1
mov word [ebp - 0x68], ax
cmp edx, esi
ja 0x100cf9b8
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0xc4]
cmp eax, ecx
ja 0x100cf9b8
cmp edx, esi
jne 0x100cf7e9
cmp eax, ecx
jne 0x100cf9b8
mov eax, dword [ebp - 0x9c]
mov edx, dword [ebp - 0xa0]
mov ebx, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xb0]
cmp dword [eax + ecx*4], 0
je 0x100cf939
cmp dword [ebp - 0xa8], 0
je 0x100cf898
push dword [ebp - 0x88]
call fcn.100d5c40
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xa0]
push dword [ebp - 0x88]
push dword [eax + ecx*4]
mov eax, dword [ebp - 0x9c]
mov eax, dword [eax + ecx*4]
add eax, dword [ebp - 0xa8]
push eax
call fcn.100d6bb0
mov eax, dword [ebp - 0x88]
add esp, 0x10
mov cl, byte [ebp - 0xe8]
mov esi, dword [ebp - 0xd8]
mov byte [eax + 0x1f], cl
jmp 0x100cf95d
mov dword [eax + ecx*4], 0
mov edx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x90]
inc ecx
mov dword [ebp - 0x90], ecx
cmp ecx, dword [ebp - 0x98]
jge 0x100cf7a6
mov eax, dword [ebp - 0x58]
jmp 0x100cf721
push dword [edx + ecx*4]
call fcn.100d6fc0
push dword [ebp - 0x88]
mov dword [ebp - 0x94], eax
lea eax, [ebp - 0x84]
push eax
call fcn.100d5a50
mov ecx, dword [ebp - 0x9c]
lea eax, [ebp - 0x84]
push eax
mov eax, dword [ebp - 0xac]
movzx eax, byte [eax + 0x1f]
push eax
mov eax, dword [ebp - 0xb0]
push dword [ebp - 0x94]
push dword [ecx + eax*4]
push dword [ebp - 0xa4]
call fcn.100d5680
add esp, 0x20
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x100cebee
mov ecx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0xb0]
push dword [ebp - 0x88]
mov edx, dword [ebp - 0x80]
mov dword [ebp - 0x8c], edx
push dword [ecx + eax*4]
push edx
call fcn.100d6bb0
mov eax, dword [ebp - 0x88]
add esp, 0xc
mov cl, byte [ebp - 0xe8]
mov esi, dword [ebp - 0xd8]
mov byte [eax + 0x1f], cl
jmp 0x100cf95d
mov esi, dword [ebp - 0xd8]
cmp byte [esi + edi*4 + 1], 0xf8
jne 0x100cf95d
push 0x800
push dword [esi + edi*4 + 0x10]
push dword [ebp - 0x88]
call fcn.100d60a0
add esp, 0xc
cmp dword [ebp - 0x60], 0
je 0x100cf999
mov eax, dword [ebp - 0x88]
mov ecx, 0xe7ff
and word [eax + 0x1c], cx
mov ecx, 0x200
mov eax, dword [ebp - 0x88]
or word [eax + 0x1c], cx
mov ecx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x80]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x60]
mov dword [eax + 0x24], ecx
push dword [ebp - 0x88]
call fcn.100d59e0
mov edi, dword [ebp - 0xc8]
add esp, 4
mov dword [ebp - 0xcc], eax
jmp 0x100cdebd
push 0xfd2e
call fcn.100b2680
add esp, 4
mov dword [ebp - 0xcc], eax
mov ebx, dword [ebp - 0xd0]
mov esi, dword [ebp - 0xd8]
jmp case.0x100cdbdb.17
mov dword [ebp - 0xc4], 0
jmp case.0x100cdbdb.17
mov ecx, dword [esi + edi*4 + 0x10]
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0xc4], ecx
mov eax, dword [esi + edi*4 + 4]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov al, byte [ecx]
mov byte [ebp - 0xc0], al
test al, al
je 0x100cfa66
mov ebx, 0x4000
jmp 0x100cfa20
inc ecx
mov dword [ebp - 0xc4], ecx
test word [esi + 0x1c], bx
je 0x100cfa36
push esi
call fcn.100d5590
add esp, 4
push dword [ebp - 0xe8]
push dword [ebp - 0xc0]
push esi
call fcn.100cca80
mov ecx, dword [ebp - 0xc4]
add esp, 0xc
add esi, 0x28
mov al, byte [ecx]
mov byte [ebp - 0xc0], al
test al, al
jne 0x100cfa20
mov ebx, dword [ebp - 0xd0]
mov esi, dword [ebp - 0xd8]
inc ecx
mov edi, dword [ebp - 0xc8]
inc ebx
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0xc4], ecx
jmp 0x100cdb3b
mov dword [ebp - 0xbc], 0
xor edx, edx
mov dword [ebp - 0xb8], 0
xor ebx, ebx
mov dword [ebp - 0xb4], edx
mov dword [ebp - 0xa4], ebx
mov eax, dword [esi + edi*4 + 4]
mov dword [ebp - 0x90], eax
mov ecx, dword [esi + edi*4 + 0x10]
mov dword [ebp - 0x8c], ecx
lea eax, [eax + eax*4]
mov dword [ebp - 0xec], ecx
mov ecx, dword [ebp - 0xe0]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0x98], ecx
mov eax, dword [esi + edi*4 + 8]
mov dword [ebp - 0x90], eax
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [ebp - 0xd4]
add ecx, 0xffffffd8
mov dword [ebp - 0x94], ecx
movzx eax, byte [eax + 0x66]
mov dword [ebp - 0x88], eax
mov eax, dword [esi + edi*4 + 0xc]
mov esi, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0x98]
mov esi, eax
mov dword [ebp - 0xc0], esi
cmp eax, ecx
ja 0x100cfc2a
lea ebx, [ebx]
mov edi, dword [ebp - 0xec]
test edi, edi
je 0x100cfb7b
push dword [ebp - 0xe8]
mov ecx, esi
sub ecx, eax
mov eax, 0x66666667
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movzx eax, byte [eax + edi]
push eax
push esi
call fcn.100cca80
mov ecx, dword [ebp - 0x8c]
add esp, 0xc
mov ebx, dword [ebp - 0xa4]
mov esi, dword [ebp - 0xc0]
mov dword [ebp - 0xec], ecx
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x100cfbad
cmp dword [esi + 0x18], 0
jle 0x100cfbad
push esi
call fcn.100d5590
mov ecx, dword [ebp - 0x8c]
add esp, 4
mov ebx, dword [ebp - 0xa4]
mov esi, dword [ebp - 0xc0]
mov dword [ebp - 0xec], ecx
push dword [ebp - 0x88]
push esi
call fcn.100d6ec0
mov ecx, eax
push ecx
mov dword [ebp - 0x9c], ecx
call fcn.100d6fc0
mov edi, eax
cdq
add dword [ebp - 0xbc], eax
push 0
adc dword [ebp - 0xb8], edx
push ecx
mov dword [ebp - 0x80], edi
call fcn.100ccf60
mov edx, dword [ebp - 0xb4]
add esp, 0x14
add edx, eax
mov eax, 0x4000
mov dword [ebp - 0xb4], edx
test word [esi + 0x1c], ax
je 0x100cfc02
add ebx, dword [esi + 0x10]
jmp 0x100cfc09
xor eax, eax
test edi, edi
cmovne ebx, eax
mov eax, dword [ebp - 0x98]
add esi, 0x28
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 0xc0], esi
cmp esi, dword [ebp - 0x94]
jbe 0x100cfb30
mov eax, edx
cdq
push edx
push eax
call fcn.100ccf60
mov edi, dword [ebp - 0xb4]
mov esi, eax
add edi, esi
mov dword [ebp - 0xa0], esi
mov eax, edi
mov dword [ebp - 0xb4], edi
cdq
push edx
push eax
call fcn.100ccf60
add esp, 0x10
cmp esi, eax
jge 0x100cfc62
inc edi
mov dword [ebp - 0xb4], edi
mov eax, ebx
cdq
mov ecx, eax
mov esi, edx
mov eax, edi
cdq
mov ebx, eax
mov edi, edx
mov eax, dword [ebp - 0xc8]
sub ebx, ecx
sbb edi, esi
add ebx, dword [ebp - 0xbc]
mov dword [ebp - 0xac], ebx
adc edi, dword [ebp - 0xb8]
mov dword [ebp - 0xa8], edi
mov eax, dword [eax + 0x48]
cdq
cmp edi, edx
jg 0x100d3d29
jl 0x100cfca8
cmp ebx, eax
ja 0x100d3d29
push 0
push ebx
mov ebx, dword [ebp - 0xe4]
push ebx
call fcn.100d5800
add esp, 0xc
test eax, eax
jne 0x100d3a72
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebx + 4]
mov dword [ebp - 0xc4], ecx
cmp eax, 0x80
jae 0x100cfce1
mov byte [ecx], al
mov eax, 1
jmp 0x100cfceb
push eax
push ecx
call fcn.100c4b30
add esp, 8
mov ecx, dword [ebp - 0x94]
movzx esi, al
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x84], esi
mov dword [ebp - 0xc0], eax
cmp eax, ecx
ja 0x100cfd80
lea ebx, [ebx]
push dword [ebp - 0x88]
push eax
call fcn.100d6ec0
add esp, 8
mov dword [ebp - 0x9c], eax
cmp eax, 0x80
jae 0x100cfd3e
mov cl, al
mov eax, dword [ebp - 0xc4]
mov byte [esi + eax], cl
mov eax, 1
jmp 0x100cfd50
push eax
mov eax, dword [ebp - 0xc4]
add eax, esi
push eax
call fcn.100c4b30
add esp, 8
mov esi, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x94]
movzx eax, al
add esi, eax
mov eax, dword [ebp - 0xc0]
add eax, 0x28
mov dword [ebp - 0x84], esi
mov dword [ebp - 0xc0], eax
cmp eax, ecx
jbe 0x100cfd10
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xc0], eax
cmp eax, ecx
ja 0x100cfdd6
lea ebx, [ebx]
push dword [ebp - 0x88]
push eax
mov eax, dword [ebp - 0xac]
sub eax, esi
push eax
mov eax, dword [ebp - 0xc4]
add eax, esi
push eax
call fcn.100d6e10
mov esi, dword [ebp - 0x84]
add esp, 0x10
add esi, eax
mov eax, dword [ebp - 0xc0]
add eax, 0x28
mov dword [ebp - 0x84], esi
mov dword [ebp - 0xc0], eax
cmp eax, dword [ebp - 0x94]
jbe 0x100cfd90
mov ecx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xac]
mov dword [ecx + 0x18], eax
mov eax, 0x410
mov word [ecx + 0x1c], ax
mov dword [ecx + 0x20], 0
mov eax, dword [ebp - 0xa4]
test eax, eax
je 0x100cfe0b
mov dword [ecx + 0x10], eax
mov eax, 0x4410
mov word [ecx + 0x1c], ax
mov ebx, dword [ebp - 0xd0]
mov esi, dword [ebp - 0xd8]
inc ebx
mov edi, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xdc]
mov byte [ecx + 0x1f], 1
jmp 0x100cdb3b
mov eax, dword [ebp - 0xd4]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax]
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x100cfe7c
lea ecx, [ebp - 0xc4]
push ecx
push eax
call fcn.100aea70
mov ecx, dword [ebp - 0xe4]
add esp, 8
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc4]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xc0]
mov dword [ecx + 0x14], eax
jmp case.0x100cdbdb.17
mov ecx, dword [ebp - 0xe4]
xor eax, eax
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], eax
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xc0]
mov dword [ecx + 0x14], eax
jmp case.0x100cdbdb.17
mov ebx, dword [esi + edi*4 + 4]
mov dword [ebp - 0xc4], ebx
mov eax, dword [esi + edi*4 + 0x10]
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xc0], eax
test ebx, ebx
jne 0x100cff7d
mov edi, dword [ebp - 0xc8]
cmp dword [edi + 0x90], ebx
jg 0x100d3b41
push eax
call fcn.100c9310
mov dword [ebp - 0xbc], eax
add eax, 0x19
push eax
push edi
call fcn.100b3730
add esp, 0xc
mov dword [ebp - 0xb8], eax
test eax, eax
je 0x100cff6b
lea ecx, [eax + 0x18]
mov dword [eax], ecx
mov eax, dword [ebp - 0xbc]
inc eax
push eax
mov eax, dword [ebp - 0xb8]
push dword [ebp - 0xc0]
push dword [eax]
call fcn.1011b250
add esp, 0xc
cmp byte [edi + 0x1c], bl
je 0x100cff2c
mov byte [edi + 0x1c], bl
mov byte [edi + 0x1e8], 1
jmp 0x100cff32
inc dword [edi + 0x1e0]
mov eax, dword [ebp - 0xb8]
mov ecx, dword [edi + 0x1dc]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [edi + 0x1f0]
mov dword [edi + 0x1dc], eax
mov eax, dword [ebp - 0xb8]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [edi + 0x1f4]
mov dword [eax + 0xc], ecx
mov ebx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xdc]
inc ebx
jmp 0x100cdb3b
mov ecx, dword [ebp - 0xc8]
xor edi, edi
mov dword [ebp - 0xac], edi
mov esi, dword [ecx + 0x1dc]
mov dword [ebp - 0xb4], esi
push eax
test esi, esi
je 0x100d3b8b
push dword [esi]
call fcn.100c92c0
add esp, 8
test eax, eax
je 0x100cffc0
mov eax, dword [ebp - 0xec]
inc edi
mov dword [ebp - 0xac], edi
mov esi, dword [esi + 0x10]
jmp 0x100cff91
mov eax, dword [ebp - 0xc8]
cmp dword [eax + 0x90], 0
jg 0x100d01b8
cmp ebx, 2
jne 0x100cffe5
cmp dword [eax + 0x8c], 1
jg 0x100d01b8
cmp dword [esi + 0x10], 0
jne 0x100d004e
cmp byte [eax + 0x1e8], 0
je 0x100d004e
mov dword [ebp - 0xec], 1
cmp ebx, 1
jne 0x100d0058
push ebx
mov ebx, dword [ebp - 0xd4]
push ebx
call fcn.100cd570
mov esi, eax
add esp, 8
test esi, esi
jne 0x100d3b0f
mov edi, dword [ebp - 0xc8]
push ebx
mov byte [edi + 0x1c], 1
call fcn.100d4710
add esp, 4
cmp eax, 5
je 0x100d3b74
mov byte [edi + 0x1e8], 0
mov eax, dword [ebx + 0x5c]
mov dword [ebp - 0xcc], eax
jmp 0x100d00ef
mov dword [ebp - 0xec], 0
mov eax, dword [eax + 0x1e0]
xor ecx, ecx
sub eax, edi
mov dword [ebp - 0xa8], ecx
mov edi, dword [ebp - 0xc8]
dec eax
mov dword [ebp - 0xac], eax
cmp dword [edi + 4], ecx
jle 0x100d00c9
lea ebx, [ebx]
push eax
mov eax, dword [edi + 8]
add ecx, ecx
push ebx
push dword [eax + ecx*8 + 4]
call fcn.100b0d20
mov ebx, eax
add esp, 0xc
mov dword [ebp - 0xcc], ebx
test ebx, ebx
jne 0x100d3c40
mov ecx, dword [ebp - 0xa8]
mov ebx, dword [ebp - 0xc4]
inc ecx
mov dword [ebp - 0xa8], ecx
cmp ecx, dword [edi + 4]
jge 0x100d00c3
mov eax, dword [ebp - 0xac]
jmp 0x100d0080
mov esi, dword [ebp - 0xb4]
cmp ebx, 2
jne 0x100d00fb
test dword [edi + 0xc], 0x200
je 0x100d00fb
push edi
call fcn.100b51c0
push 0xffffffffffffffff
push edi
call fcn.100c5400
add esp, 0xc
or dword [edi + 0xc], 0x200
mov ebx, dword [ebp - 0xc4]
mov esi, dword [ebp - 0xb4]
cmp dword [edi + 0x1dc], esi
je 0x100d014e
jmp 0x100d0110
mov eax, dword [edi + 0x1dc]
mov dword [ebp - 0xb0], eax
mov eax, dword [eax + 0x10]
mov dword [edi + 0x1dc], eax
push dword [ebp - 0xb0]
push edi
call fcn.100b36a0
dec dword [edi + 0x1e0]
add esp, 8
mov esi, dword [ebp - 0xb4]
cmp dword [edi + 0x1dc], esi
jne 0x100d0110
mov ebx, dword [ebp - 0xc4]
cmp ebx, 1
jne 0x100d0195
mov eax, dword [esi + 0x10]
mov dword [edi + 0x1dc], eax
push dword [ebp - 0xb4]
push edi
call fcn.100b36a0
mov ebx, dword [ebp - 0xd0]
add esp, 8
cmp dword [ebp - 0xec], 0
mov esi, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xcc]
jne 0x100cdebd
dec dword [edi + 0x1e0]
jmp 0x100cdebd
mov eax, dword [esi + 8]
mov ebx, dword [ebp - 0xd0]
mov dword [edi + 0x1f0], eax
mov eax, dword [esi + 0xc]
mov esi, dword [ebp - 0xd8]
mov dword [edi + 0x1f4], eax
jmp 0x100cdeb7
mov edi, dword [ebp - 0xc8]
cmp ebx, 2
mov ecx, str.release
mov eax, str.rollback
cmovne eax, ecx
push eax
mov eax, dword [ebp - 0xd4]
push str.cannot__s_savepoint___SQL_statements_in_progress
add eax, 0x38
push edi
push eax
call fcn.100c8200
mov ebx, dword [ebp - 0xd0]
add esp, 0x10
mov esi, dword [ebp - 0xd8]
mov eax, 5
mov dword [ebp - 0xcc], 5
jmp 0x100cdebd
mov eax, dword [ebp - 0xc8]
mov ecx, dword [esi + edi*4 + 4]
add ecx, ecx
mov eax, dword [eax + 8]
mov eax, dword [eax + ecx*8 + 4]
mov dword [ebp - 0xc4], eax
test eax, eax
je case.0x100cdbdb.17
push dword [esi + edi*4 + 8]
push eax
call fcn.100ae2f0
add esp, 8
mov dword [ebp - 0xcc], eax
cmp eax, 5
je 0x100d3bc0
test eax, eax
jne 0x100d3c34
cmp dword [esi + edi*4 + 8], eax
mov edi, dword [ebp - 0xc8]
je 0x100cdebd
mov ecx, dword [ebp - 0xd4]
cmp byte [ecx + 0x68], al
je 0x100cdebd
cmp byte [edi + 0x1c], al
je 0x100d027d
cmp dword [edi + 0x8c], 1
jle 0x100cdebd
mov eax, ecx
cmp dword [eax + 0x78], 0
jne 0x100d029c
mov eax, dword [edi + 0x1e0]
inc dword [edi + 0x1e4]
add eax, dword [edi + 0x1e4]
mov dword [ecx + 0x78], eax
mov eax, ecx
push dword [eax + 0x78]
push dword [ebp - 0xc4]
call fcn.100ae2a0
mov ecx, dword [ebp - 0xd4]
add esp, 8
mov dword [ebp - 0xcc], eax
mov eax, dword [edi + 0x1f0]
mov dword [ecx + 0x98], eax
mov eax, dword [edi + 0x1f4]
mov dword [ecx + 0x9c], eax
jmp 0x100cdeb7
mov ecx, dword [esi + edi*4 + 4]
lea edx, [ebp - 0xc4]
mov dword [ebp - 0xc0], ecx
add ecx, ecx
mov eax, dword [esi + edi*4 + 0xc]
mov edi, dword [ebp - 0xc8]
push edx
mov dword [ebp - 0xbc], eax
push eax
mov eax, dword [edi + 8]
push dword [eax + ecx*8 + 4]
call fcn.100af380
mov eax, dword [ebp - 0xc4]
add esp, 0xc
mov ecx, dword [ebp - 0xe4]
inc ebx
cdq
mov dword [ecx + 0x14], edx
mov edx, dword [ebp - 0xdc]
mov dword [ecx + 0x10], eax
jmp 0x100cdb3b
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xc8]
shl eax, 4
add eax, dword [ecx + 8]
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xc4], eax
mov eax, dword [esi + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push esi
call fcn.100d59b0
mov eax, dword [ebp - 0xd8]
push dword [esi + 0x10]
push dword [eax + edi*4 + 8]
mov eax, dword [ebp - 0xc4]
push dword [eax + 4]
call fcn.100b1320
mov dword [ebp - 0xcc], eax
add esp, 0x10
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + edi*4 + 8]
cmp eax, 1
jne 0x100d03a4
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax + 0xc]
mov eax, dword [esi + 0x10]
mov dword [ecx], eax
mov eax, dword [ebp - 0xc8]
or dword [eax + 0xc], 0x200
jmp 0x100d03b8
cmp eax, 2
jne 0x100d03b8
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax + 0xc]
mov al, byte [esi + 0x10]
mov byte [ecx + 0x4c], al
mov esi, dword [ebp - 0xd8]
cmp dword [esi + edi*4 + 4], 1
mov edi, dword [ebp - 0xc8]
jne 0x100cdeb7
push edi
call fcn.100b51c0
mov eax, dword [ebp - 0xd4]
add esp, 4
mov byte [eax + 0x64], 0
jmp 0x100cdeb7
mov edx, dword [ebp - 0xc8]
mov ecx, dword [esi + edi*4 + 4]
add ecx, ecx
mov eax, dword [edx + 8]
mov eax, dword [eax + ecx*8 + 4]
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x100d0434
lea ecx, [ebp - 0xc4]
push ecx
push 1
push eax
call fcn.100af380
mov edx, dword [ebp - 0xc8]
add esp, 0xc
mov ecx, dword [esi + edi*4 + 4]
add ecx, ecx
mov eax, dword [edx + 8]
mov eax, dword [eax + ecx*8 + 0xc]
mov ecx, dword [ebp - 0xc4]
mov eax, dword [eax + 4]
jmp 0x100d043e
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0xc0], eax
cmp ecx, dword [esi + edi*4 + 8]
jne 0x100d0454
cmp eax, dword [esi + edi*4 + 0xc]
je case.0x100cdbdb.17
mov eax, dword [ebp - 0xd4]
push dword [eax + 0x38]
push edx
call fcn.100b36a0
push str.database_schema_has_changed
push dword [ebp - 0xc8]
call fcn.100b38b0
mov ecx, dword [ebp - 0xd4]
add esp, 0x10
mov dword [ecx + 0x38], eax
mov edx, dword [esi + edi*4 + 4]
mov ecx, edx
mov edi, dword [ebp - 0xc8]
add ecx, ecx
mov eax, dword [edi + 8]
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax]
cmp eax, dword [ebp - 0xc4]
je 0x100d04a8
push edx
push edi
call fcn.100c5400
add esp, 8
mov eax, dword [ebp - 0xd4]
mov byte [eax + 0x64], 1
mov eax, 0x11
mov dword [ebp - 0xcc], eax
jmp 0x100cdebd
mov eax, dword [ebp - 0xd4]
cmp byte [eax + 0x64], 0
jne 0x100d3bf9
mov eax, dword [ebp - 0xc8]
xor ecx, ecx
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0xc0], ecx
mov ebx, dword [esi + edi*4 + 8]
mov dword [ebp - 0xbc], ebx
mov esi, dword [esi + edi*4 + 0xc]
mov edx, esi
mov dword [ebp - 0xb8], esi
shl edx, 4
add edx, dword [eax + 8]
mov dword [ebp - 0xa8], edx
mov eax, dword [edx + 4]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xd8]
cmp byte [eax + edi*4], 0x27
jne 0x100d053d
mov dword [ebp - 0xb4], 1
mov eax, dword [edx + 0xc]
mov edx, dword [ebp - 0xd4]
mov al, byte [eax + 0x4c]
cmp al, byte [edx + 0x66]
jae 0x100d0543
mov byte [edx + 0x66], al
jmp 0x100d0543
mov dword [ebp - 0xb4], ecx
mov edx, dword [ebp - 0xd8]
cmp byte [edx + edi*4 + 3], cl
je 0x100d0588
mov ecx, dword [ebp - 0xe0]
lea eax, [ebx + ebx*4]
lea esi, [ecx + eax*8]
push esi
call fcn.100d59b0
mov eax, dword [esi + 0x10]
add esp, 4
mov dword [ebp - 0xbc], eax
cmp eax, 2
jl 0x100d3bdc
mov esi, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xd8]
mov al, byte [edx + edi*4 + 1]
cmp al, 0xfa
jne 0x100d05c1
mov eax, dword [ebp - 0xd4]
mov ecx, dword [edx + edi*4 + 0x10]
mov dword [ebp - 0xc0], ecx
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x4d]
mov byte [ecx + 4], al
mov eax, dword [ebp - 0xc0]
mov esi, dword [ebp - 0xb8]
movzx ecx, word [eax + 6]
inc ecx
jmp 0x100d05c9
cmp al, 0xf2
jne 0x100d05cf
mov ecx, dword [edx + edi*4 + 0x10]
mov dword [ebp - 0xc4], ecx
push 1
push esi
mov esi, dword [ebp - 0xd8]
push ecx
push dword [esi + edi*4 + 4]
push dword [ebp - 0xd4]
call fcn.1008ccc0
add esp, 0x14
mov dword [ebp - 0xac], eax
test eax, eax
je 0x100d3a72
mov byte [eax + 0x1c], 1
mov eax, dword [ebp - 0xac]
mov byte [eax + 0x20], 1
mov eax, dword [ebp - 0xac]
push dword [eax]
push dword [ebp - 0xc0]
push dword [ebp - 0xb4]
push dword [ebp - 0xbc]
push dword [ebp - 0xb0]
call fcn.100aecb0
mov ecx, dword [ebp - 0xac]
mov ebx, eax
mov eax, dword [ebp - 0xc0]
add esp, 0x14
mov dword [ebp - 0xcc], ebx
mov dword [ecx + 8], eax
cmp ebx, 0x10
jne 0x100d0661
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0xcc], 0
mov dword [eax], 0
cmp byte [esi + edi*4 + 1], 0xfa
mov eax, dword [ebp - 0xac]
setne cl
mov byte [eax + 0x1e], cl
mov ecx, dword [ebp - 0xac]
cmp byte [ecx + 0x1e], 0
sete al
mov byte [ecx + 0x1f], al
mov ebx, dword [ebp - 0xd0]
jmp case.0x100cdbdb.17
push 1
push 0xffffffffffffffff
push dword [esi + edi*4 + 8]
push dword [esi + edi*4 + 4]
push dword [ebp - 0xd4]
call fcn.1008ccc0
add esp, 0x14
mov dword [ebp - 0xc4], eax
test eax, eax
je 0x100d3a72
mov byte [eax + 0x1c], 1
movzx eax, byte [esi + edi*4 + 3]
push 0x41e
or eax, 9
push eax
mov eax, dword [ebp - 0xc4]
add eax, 4
push eax
push dword [ebp - 0xc8]
push 0
call fcn.100b0380
add esp, 0x14
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x100d07be
mov eax, dword [ebp - 0xc4]
push 1
push dword [eax + 4]
call fcn.100ae2f0
add esp, 8
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x100d07be
cmp dword [esi + edi*4 + 0x10], eax
je 0x100d0795
push 2
lea eax, [ebp - 0x10c]
push eax
mov eax, dword [ebp - 0xc4]
push dword [eax + 4]
call fcn.100aec60
add esp, 0xc
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x100d0789
mov eax, dword [ebp - 0xc4]
push dword [eax]
push dword [esi + edi*4 + 0x10]
push 1
push dword [ebp - 0x10c]
push dword [eax + 4]
call fcn.100aecb0
mov ecx, dword [esi + edi*4 + 0x10]
add esp, 0x14
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc4]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax + 8]
mov al, byte [edx + 0x4d]
mov byte [ecx + 4], al
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x1e], 0
jmp 0x100d07be
mov eax, dword [ebp - 0xc4]
push dword [eax]
push 0
push 1
push 1
push dword [eax + 4]
call fcn.100aecb0
mov dword [ebp - 0xcc], eax
add esp, 0x14
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x1e], 1
cmp byte [esi + edi*4 + 3], 0x10
mov eax, dword [ebp - 0xc4]
setne cl
mov byte [eax + 0x20], cl
mov ecx, dword [ebp - 0xc4]
cmp byte [ecx + 0x1e], 0
sete al
jmp 0x100cdeae
push 0
push 0xffffffffffffffff
push dword [esi + edi*4 + 0xc]
push dword [esi + edi*4 + 4]
push dword [ebp - 0xd4]
call fcn.1008ccc0
add esp, 0x14
mov dword [ebp - 0xc4], eax
test eax, eax
je 0x100d3a72
mov edx, dword [ebp - 0xdc]
inc ebx
mov byte [eax + 0x1c], 1
mov eax, dword [ebp - 0xc4]
mov ecx, dword [esi + edi*4 + 8]
mov edi, dword [ebp - 0xc8]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x1e], 1
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x1f], 0
jmp 0x100cdb3b
mov edx, dword [ebp - 0xd4]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [edx + 0x44]
push dword [eax + ecx*4]
push edx
call fcn.100d4660
mov eax, dword [ebp - 0xd4]
add esp, 8
mov ecx, dword [esi + edi*4 + 4]
inc ebx
mov edi, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xdc]
mov eax, dword [eax + 0x44]
mov dword [eax + ecx*4], 0
jmp 0x100cdb3b
mov eax, dword [ebp - 0xd4]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xbc], ecx
cmp dword [ecx], 0
je 0x100d0903
movzx eax, byte [esi + edi*4]
mov dword [ebp - 0xc0], eax
mov byte [ecx + 0x1c], 0
mov ecx, dword [ebp - 0xbc]
cmp byte [ecx + 0x1e], 0
je 0x100d0aec
mov eax, dword [esi + edi*4 + 0xc]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push esi
call fcn.1008eb80
push esi
call fcn.100d4c10
mov dword [ebp - 0x94], eax
add esp, 8
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x90], edx
mov byte [eax + 0x19], 0
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x100d0a74
test al, 8
jne 0x100d0918
mov esi, dword [ebp - 0xd8]
mov ebx, dword [esi + edi*4 + 8]
mov edi, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xdc]
jmp 0x100cdb3b
cmp dword [ebp - 0x94], 0
jne 0x100d09ee
cmp dword [ebp - 0x90], 0x80000000
jne 0x100d09ee
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x110], closesocket
fild qword [ebp - 0x114]
fstp qword [ebp - 0xf0]
fld qword [esi + 8]
fld qword [ebp - 0xf0]
fcompi st(1)
fstp st(0)
fldz
ja 0x100d096d
fld qword [esi + 8]
fcompi st(1)
jbe 0x100d09ec
mov dword [ebp - 0xc4], 1
fld qword [esi + 8]
fxch st(1)
fcompi st(1)
fstp st(0)
jbe 0x100d09a1
cmp dword [ebp - 0xc0], 0x2e
jl 0x100d09dc
lea eax, [ebp - 0xc4]
push eax
mov eax, dword [ebp - 0xbc]
push dword [eax]
call fcn.100af2f0
jmp 0x100d09be
cmp dword [ebp - 0xc0], 0x2d
jg 0x100d09dc
lea eax, [ebp - 0xc4]
push eax
mov eax, dword [ebp - 0xbc]
push dword [eax]
call fcn.100afc60
add esp, 8
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x100d3c34
cmp dword [ebp - 0xc4], 0
je 0x100cebee
mov esi, dword [ebp - 0xd8]
mov ebx, dword [esi + edi*4 + 8]
dec ebx
jmp case.0x100cdbdb.17
fstp st(0)
mov eax, dword [ebp - 0xc0]
cmp eax, 0x2c
je 0x100d0a39
cmp eax, 0x2e
je 0x100d0a39
fild qword [ebp - 0x94]
fstp qword [ebp - 0xf0]
fld qword [esi + 8]
fld qword [ebp - 0xf0]
fcompi st(1)
fstp st(0)
jbe 0x100d0a74
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x90]
add eax, 0xffffffff
mov dword [ebp - 0x94], eax
adc ecx, 0xffffffff
mov dword [ebp - 0x90], ecx
jmp 0x100d0a80
fild qword [ebp - 0x94]
fstp qword [ebp - 0xf0]
fld qword [ebp - 0xf0]
fld qword [esi + 8]
fcompi st(1)
fstp st(0)
jbe 0x100d0a74
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x90]
add eax, 1
mov dword [ebp - 0x94], eax
adc ecx, 0
mov dword [ebp - 0x90], ecx
jmp 0x100d0a80
mov ecx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x94]
lea edx, [ebp - 0xc4]
push edx
push 0
push ecx
push eax
mov eax, dword [ebp - 0xbc]
push 0
push dword [eax]
call fcn.100afe50
mov ecx, eax
add esp, 0x18
mov dword [ebp - 0xcc], ecx
test ecx, ecx
jne 0x100d3c34
mov esi, dword [ebp - 0xd8]
cmp dword [ebp - 0xc4], eax
jne 0x100d0b86
mov eax, dword [ebp - 0xbc]
mov byte [eax + 0x19], 1
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0x94]
mov dword [eax + 0x40], ecx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0x90]
mov dword [eax + 0x44], ecx
jmp 0x100d0b86
mov eax, dword [esi + edi*4 + 0x10]
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0x9c], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0xb4], eax
mov ax, word [ebp - 0x9c]
mov word [ebp - 0xb0], ax
mov eax, dword [ebp - 0xc0]
and eax, 1
shl eax, 3
mov word [ebp - 0xae], ax
mov eax, dword [esi + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov edx, 0x4000
mov dword [ebp - 0xa4], eax
test word [eax + 0x1c], dx
je 0x100d0b50
push eax
call fcn.100d5590
mov ecx, dword [ebp - 0xbc]
add esp, 4
lea eax, [ebp - 0xc4]
push eax
push 0
push 0
push 0
lea eax, [ebp - 0xb4]
push eax
push dword [ecx]
call fcn.100afe50
add esp, 0x18
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x100d3c34
mov eax, dword [ebp - 0xbc]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xbc]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xbc]
mov dword [eax + 0x4c], 0
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xc4]
cmp eax, 0x2e
jl 0x100d0bf8
test ecx, ecx
js 0x100d0bd5
jne 0x100d0bb9
cmp eax, 0x2f
je 0x100d0bd5
mov edi, dword [ebp - 0xc8]
inc ebx
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0xc4], 0
jmp 0x100cdb3b
lea eax, [ebp - 0xc4]
push eax
mov eax, dword [ebp - 0xbc]
push dword [eax]
call fcn.100b0210
mov ecx, eax
add esp, 8
mov dword [ebp - 0xcc], ecx
test ecx, ecx
jmp 0x100d0c3b
test ecx, ecx
jg 0x100d0c1c
jne 0x100d0c03
cmp eax, 0x2c
je 0x100d0c1c
mov eax, dword [ebp - 0xbc]
xor ecx, ecx
mov eax, dword [eax]
cmp byte [eax + 0x53], 1
setne cl
mov dword [ebp - 0xc4], ecx
jmp 0x100d0c4b
lea eax, [ebp - 0xc4]
push eax
mov eax, dword [ebp - 0xbc]
push dword [eax]
call fcn.100b0970
add esp, 8
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x100d3c34
mov eax, dword [ebp - 0xbc]
mov byte [eax + 0x19], 0
cmp dword [ebp - 0xc4], 0
je 0x100d0c59
mov ebx, dword [esi + edi*4 + 8]
dec ebx
mov edi, dword [ebp - 0xc8]
inc ebx
mov edx, dword [ebp - 0xdc]
jmp 0x100cdb3b
mov eax, dword [ebp - 0xd4]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc4], eax
cmp dword [eax], 0
je 0x100d0c59
mov ecx, dword [ebp - 0xe0]
mov byte [eax + 0x1c], 0
mov eax, dword [esi + edi*4 + 8]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
call fcn.100d4c10
mov ecx, dword [ebp - 0xc4]
add esp, 4
mov edi, dword [ebp - 0xc8]
inc ebx
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x3c], edx
mov eax, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xdc]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x1d], 1
jmp 0x100cdb3b
mov eax, dword [ebp - 0xd4]
xor edx, edx
mov dword [ebp - 0xc4], edx
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc0], ecx
mov eax, dword [esi + edi*4 + 0xc]
mov esi, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
cmp dword [ecx], edx
je 0x100d0e04
mov edx, dword [ebp - 0xd8]
cmp dword [edx + edi*4 + 0x10], 0
jle 0x100d0d53
mov eax, dword [ecx + 8]
mov dword [ebp - 0xb4], eax
mov ax, word [edx + edi*4 + 0x10]
mov word [ebp - 0xb0], ax
mov eax, 0x10
mov word [ebp - 0xae], ax
lea eax, [ebp - 0xb4]
mov dword [ebp - 0xa4], esi
mov dword [ebp - 0xb8], eax
jmp 0x100d0d8f
push 0x97
lea eax, [ebp - 0x9c]
push eax
push dword [esi + 4]
push dword [esi + 0x18]
push dword [ecx + 8]
call fcn.100d6940
add esp, 0x14
mov dword [ebp - 0xb8], eax
test eax, eax
je 0x100d3a72
or word [eax + 6], 0x10
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xc0]
lea edx, [ebp - 0xbc]
push edx
push 0
push 0
push 0
push eax
push dword [ecx]
call fcn.100afe50
mov esi, dword [ebp - 0xd8]
add esp, 0x18
mov dword [ebp - 0xcc], eax
cmp dword [esi + edi*4 + 0x10], 0
jne 0x100d0dce
push dword [ebp - 0xb8]
call fcn.100cd990
mov eax, dword [ebp - 0xcc]
add esp, 4
test eax, eax
jne 0x100ce105
cmp dword [ebp - 0xbc], eax
sete al
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0xc0]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xc0]
mov dword [eax + 0x4c], 0
mov edx, dword [ebp - 0xc4]
jmp 0x100d0e0a
mov esi, dword [ebp - 0xd8]
cmp byte [esi + edi*4], 0x32
jne 0x100d0e17
test edx, edx
jmp 0x100d0c52
test edx, edx
jne 0x100d0c59
mov ebx, dword [esi + edi*4 + 8]
mov edi, dword [ebp - 0xc8]
dec ebx
mov edx, dword [ebp - 0xdc]
inc ebx
jmp 0x100cdb3b
mov eax, dword [esi + edi*4 + 0xc]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [esi + edi*4 + 0x10]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xb4], eax
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc0], eax
mov dword [eax + 0x48], 0
mov eax, dword [ebp - 0xc0]
mov dword [eax + 0x4c], 0
mov ecx, dword [ebp - 0xc0]
mov esi, dword [ebp - 0xb4]
mov eax, dword [ecx]
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xec], eax
mov eax, dword [ecx + 8]
xor ecx, ecx
mov dx, word [eax + 6]
xor eax, eax
mov word [ebp - 0xb8], dx
mov word [ebp - 0xc4], cx
cmp ax, dx
jae 0x100d0edf
jmp 0x100d0ec0
movzx eax, cx
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 0x1c], 1
jne 0x100d0fa0
inc cx
mov word [ebp - 0xc4], cx
cmp cx, dx
jb 0x100d0ec0
cmp dword [ebp - 0xec], 0
je 0x100cf9cb
mov eax, dword [ebp - 0xc0]
push ebx
mov eax, dword [eax + 8]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xb8]
inc eax
mov dword [ebp - 0x9c], esi
mov word [ebp - 0xa8], ax
mov eax, 0x20
mov word [ebp - 0xa6], ax
call fcn.100d59b0
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x94], eax
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0xc0]
add eax, 0x48
push eax
push 0
push 0
push 0
lea eax, [ebp - 0xac]
push eax
push dword [ebp - 0xbc]
call fcn.100afe50
add esp, 0x1c
mov dword [ebp - 0xcc], eax
test byte [ebp - 0xa6], 0x20
jne 0x100d0fc0
mov ecx, dword [ebp - 0xa4]
cmp ecx, dword [ebp - 0x94]
jne 0x100d0f83
mov eax, dword [ebp - 0xa0]
cmp eax, dword [ebp - 0x90]
je 0x100d0fba
mov esi, dword [ebp - 0xd8]
mov dword [ebx + 0x10], ecx
mov eax, dword [ebp - 0xa0]
mov dword [ebx + 0x14], eax
mov ebx, dword [ebp - 0xd0]
jmp case.0x100cdbdb.17
mov esi, dword [ebp - 0xd8]
mov ebx, dword [esi + edi*4 + 8]
dec ebx
mov dword [ebp - 0xbc], 0
jmp case.0x100cdbdb.17
mov eax, dword [ebp - 0xcc]
mov esi, dword [ebp - 0xd8]
mov ebx, dword [esi + edi*4 + 8]
mov edi, dword [ebp - 0xc8]
dec ebx
jmp 0x100cdebd
mov eax, dword [esi + edi*4 + 0xc]
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + edi*4 + 4]
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc4], eax
mov edx, dword [eax]
mov dword [ebp - 0xec], edx
mov dword [ebp - 0xc0], edx
test edx, edx
je 0x100d10d4
mov eax, dword [ebp - 0xe0]
lea edx, [ebp - 0xbc]
push edx
mov edx, dword [ebp - 0xec]
mov dword [ebp - 0xbc], 0
mov ecx, dword [eax + esi*8 + 0x10]
push 0
mov dword [ebp - 0xb4], ecx
mov eax, dword [eax + esi*8 + 0x14]
push eax
push ecx
push 0
push edx
mov dword [ebp - 0xb0], eax
call fcn.100afe50
mov edx, dword [ebp - 0xe0]
add esp, 0x18
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc4]
mov ecx, dword [edx + esi*8 + 0x10]
mov dword [eax + 0x40], ecx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [edx + esi*8 + 0x14]
mov esi, dword [ebp - 0xd8]
mov dword [eax + 0x44], ecx
cmp dword [ebp - 0xbc], 0
mov eax, dword [ebp - 0xc4]
sete cl
mov byte [eax + 0x19], cl
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x1c], 0
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x4c], 0
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x1d], 0
mov ecx, dword [ebp - 0xbc]
test ecx, ecx
je 0x100d10c6
mov eax, dword [esi + edi*4 + 8]
dec eax
mov dword [ebp - 0xd0], eax
mov ebx, eax
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x48], ecx
jmp case.0x100cdbdb.17
mov esi, dword [ebp - 0xd8]
mov ebx, dword [esi + edi*4 + 8]
dec ebx
mov dword [eax + 0x48], 0
jmp case.0x100cdbdb.17
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx + 0x30]
mov dword [edx + 0x10], eax
mov eax, dword [ecx + 0x34]
mov dword [edx + 0x14], eax
mov eax, dword [ebp - 0xd4]
mov ecx, dword [esi + edi*4 + 4]
mov edi, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xdc]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
add dword [eax + 0x30], 1
adc dword [eax + 0x34], 0
inc ebx
jmp 0x100cdb3b
mov eax, dword [ebp - 0xd4]
xor edx, edx
mov dword [ebp - 0xc4], edx
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0xb8], edx
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0xbc], esi
mov ecx, dword [esi]
test ecx, ecx
je 0x100d1469
cmp byte [esi + 0x1b], dl
jne 0x100d1337
mov edx, dword [ecx + 0x18]
mov eax, edx
mov dword [ebp - 0xc4], edx
mov ecx, dword [ecx + 0x1c]
or eax, ecx
mov dword [ebp - 0xc0], ecx
jne 0x100d121e
lea eax, [ebp - 0xb8]
push eax
push dword [esi]
call fcn.100afc60
add esp, 8
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x100d3c34
cmp dword [ebp - 0xb8], eax
je 0x100d11b8
lea edx, [eax + 1]
xor ecx, ecx
jmp 0x100d120c
lea eax, [ebp - 0xc4]
push eax
mov eax, dword [ebp - 0xbc]
push dword [eax]
call fcn.100afc20
mov edx, dword [ebp - 0xc4]
add esp, 8
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0xcc], eax
cmp edx, 0xffffffff
jne 0x100d1206
cmp ecx, 0x7fffffff
jne 0x100d1206
mov eax, dword [ebp - 0xbc]
mov byte [eax + 0x1b], 1
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xc4]
jmp 0x100d1218
add edx, 1
adc ecx, 0
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0xc4], edx
mov esi, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + edi*4 + 0xc]
test eax, eax
je 0x100d130a
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 0xa8]
test edx, edx
je 0x100d1274
mov dword [ebp - 0xac], edx
mov eax, dword [edx + 0x3c]
test eax, eax
je 0x100d125f
lea ecx, [ecx]
mov edx, eax
mov dword [ebp - 0xac], edx
mov eax, dword [edx + 0x3c]
test eax, eax
jne 0x100d1250
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + edi*4 + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea eax, [eax + ecx*8]
jmp 0x100d1280
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
mov dword [ebp - 0xb0], eax
call fcn.100d59b0
mov esi, dword [ebp - 0xb0]
add esp, 4
mov edx, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
cmp edx, 0xffffffff
jne 0x100d12ac
cmp ecx, 0x7fffffff
je 0x100d3c14
mov eax, dword [ebp - 0xbc]
cmp byte [eax + 0x1b], 0
jne 0x100d3c14
add edx, 1
adc ecx, 0
cmp dword [ebp - 0xc0], ecx
jg 0x100d12e6
jl 0x100d12d6
mov eax, dword [ebp - 0xc4]
cmp eax, edx
jae 0x100d12ec
mov eax, edx
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0xc4], eax
jmp 0x100d12ec
mov eax, dword [ebp - 0xc4]
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0xc0]
mov dword [esi + 0x14], eax
mov esi, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xc4]
cmp ecx, 0x7fffffff
jg 0x100d1321
jl 0x100d1319
cmp edx, 0xffffffff
jae 0x100d1321
add edx, 1
adc ecx, 0
jmp 0x100d1325
xor edx, edx
xor ecx, ecx
push ecx
push edx
push dword [esi]
call fcn.100b0f90
mov esi, dword [ebp - 0xbc]
add esp, 0xc
cmp byte [esi + 0x1b], 0
je 0x100d1448
mov edi, dword [ebp - 0xc8]
lea edx, [ebp - 0xb8]
push edx
push 0
mov eax, dword [edi + 0x34]
mov ecx, dword [edi + 0x30]
and eax, 0x3fffffff
add ecx, 1
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xc4], ecx
adc eax, 0
push eax
push ecx
mov dword [ebp - 0xc0], eax
push 0
push dword [esi]
call fcn.100afe50
mov edx, eax
add esp, 0x18
mov dword [ebp - 0xcc], edx
test edx, edx
jne 0x100d1442
jmp 0x100d13a0
mov ecx, dword [ebp - 0xb8]
test ecx, ecx
jne 0x100d1436
mov eax, dword [ebp - 0xb4]
inc eax
mov dword [ebp - 0xb4], eax
cmp eax, 0x64
jge 0x100d1436
lea eax, [ebp - 0xc4]
push eax
push 8
call fcn.10088670
mov eax, dword [ebp - 0xc4]
add esp, 8
cmp dword [ebp - 0xb4], 5
jge 0x100d13e9
and eax, 0xffffff
xor ecx, ecx
jmp 0x100d13f5
mov ecx, dword [ebp - 0xc0]
and ecx, 0x3fffffff
add eax, 1
lea edx, [ebp - 0xb8]
push edx
push 0
adc ecx, 0
mov dword [ebp - 0xc4], eax
push ecx
push eax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0xc0], ecx
push 0
push dword [eax]
call fcn.100afe50
mov edx, eax
add esp, 0x18
mov dword [ebp - 0xcc], edx
test edx, edx
je 0x100d13a0
jmp 0x100d1442
test edx, edx
jne 0x100d1442
test ecx, ecx
je 0x100d3c27
mov esi, dword [ebp - 0xbc]
mov byte [esi + 0x19], 0
mov eax, dword [ebp - 0xbc]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xbc]
mov dword [eax + 0x4c], 0
mov edx, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xd8]
mov dword [ecx + 0x10], edx
mov eax, dword [ebp - 0xc0]
mov dword [ecx + 0x14], eax
jmp case.0x100cdbdb.17
mov eax, dword [esi + edi*4 + 8]
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xd8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xc4], esi
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ebx, dword [eax + ecx*4]
mov dword [ebp - 0xb4], ebx
cmp byte [edx + edi*4], 0x37
mov eax, dword [edx + edi*4 + 0xc]
jne 0x100d14e8
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xc0], eax
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xbc], ecx
mov eax, dword [eax + 0x14]
mov dword [ebp - 0xb8], eax
jmp 0x100d14fd
cdq
mov ecx, eax
mov dword [ebp - 0xb8], edx
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xbc], ecx
test byte [edx + edi*4 + 3], 1
je 0x100d150d
mov eax, dword [ebp - 0xd4]
inc dword [eax + 0x6c]
test byte [edx + edi*4 + 3], 2
je 0x100d1532
mov ebx, dword [ebp - 0xc8]
mov dword [ebx + 0x30], ecx
mov eax, dword [ebp - 0xb8]
mov dword [ebx + 0x34], eax
mov ebx, dword [ebp - 0xb4]
mov esi, dword [ebp - 0xc4]
test byte [esi + 0x1c], 1
je 0x100d1558
mov dword [esi + 4], 0
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x18], 0
mov ebx, dword [ebp - 0xb4]
mov esi, dword [ebp - 0xc4]
test byte [edx + edi*4 + 3], 0x10
je 0x100d156a
mov eax, dword [ebx + 0x48]
mov dword [ebp - 0xac], eax
jmp 0x100d1574
mov dword [ebp - 0xac], 0
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x100d158a
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xb0], eax
jmp 0x100d1594
mov dword [ebp - 0xb0], 0
push 0
push 0
push dword [ebx]
call fcn.100b0f90
push dword [ebp - 0xac]
mov esi, dword [ebp - 0xd8]
movzx eax, byte [esi + edi*4 + 3]
and eax, 8
push eax
push dword [ebp - 0xb0]
mov eax, dword [ebp - 0xc4]
push dword [eax + 0x18]
push dword [eax + 4]
mov eax, dword [ebp - 0xb4]
push dword [ebp - 0xb8]
push dword [ebp - 0xbc]
push 0
push dword [eax]
call fcn.100af4f0
mov ebx, eax
add esp, 0x30
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0xcc], ebx
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xb4]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xb4]
mov dword [eax + 0x4c], 0
test ebx, ebx
jne 0x100d0682
mov edx, dword [ebp - 0xc8]
cmp dword [edx + 0xbc], ebx
je 0x100d38ca
cmp dword [esi + edi*4 + 0x10], ebx
je 0x100d38ca
mov eax, dword [ebp - 0xb4]
mov ebx, 0x17
push dword [ebp - 0xb8]
push dword [ebp - 0xbc]
mov ecx, dword [eax + 0xc]
mov eax, dword [edx + 8]
add ecx, ecx
mov edx, dword [eax + ecx*8]
mov eax, 0x12
mov dword [ebp - 0xa8], edx
mov ecx, dword [esi + edi*4 + 0x10]
mov dword [ebp - 0xa4], ecx
test byte [esi + edi*4 + 3], 4
mov edi, dword [ebp - 0xc8]
push ecx
cmovne eax, ebx
push edx
push eax
mov dword [ebp - 0xa0], eax
push dword [edi + 0xb8]
mov eax, dword [edi + 0xbc]
call eax
mov ebx, dword [ebp - 0xd0]
add esp, 0x18
jmp 0x100cdeb7
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 0
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xbc], ecx
cmp dword [eax + 0xbc], 0
je 0x100d16ed
cmp dword [esi + edi*4 + 0x10], 0
je 0x100d16ed
mov eax, dword [ecx + 0x40]
mov dword [ebp - 0xc4], eax
mov eax, dword [ecx + 0x44]
mov dword [ebp - 0xc0], eax
push ecx
call fcn.100cd710
add esp, 4
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x100d3c34
push eax
push eax
mov eax, dword [ebp - 0xbc]
push dword [eax]
call fcn.100b0f90
mov eax, dword [ebp - 0xbc]
push dword [eax]
call fcn.100aee50
mov dword [ebp - 0xcc], eax
add esp, 0x10
mov eax, dword [ebp - 0xbc]
mov dword [eax + 0x4c], 0
mov eax, dword [ebp - 0xcc]
test eax, eax
jne 0x100d1795
mov eax, dword [ebp - 0xc8]
mov edx, dword [eax + 0xbc]
test edx, edx
je 0x100d178f
mov eax, dword [esi + edi*4 + 0x10]
test eax, eax
je 0x100d178f
push dword [ebp - 0xc0]
push dword [ebp - 0xc4]
push eax
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0xc8]
add ecx, ecx
mov eax, dword [eax + 8]
push dword [eax + ecx*8]
mov eax, dword [ebp - 0xc8]
push 9
push dword [eax + 0xb8]
call edx
add esp, 0x18
mov eax, dword [ebp - 0xcc]
test byte [esi + edi*4 + 8], 1
je 0x100ce105
mov edi, dword [ebp - 0xd4]
inc dword [edi + 0x6c]
mov edi, dword [ebp - 0xc8]
jmp 0x100cdebd
mov eax, dword [ebp - 0xd4]
mov edi, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xdc]
mov eax, dword [eax + 0x6c]
add dword [edi + 0x40], eax
inc ebx
mov dword [edi + 0x3c], eax
mov eax, dword [ebp - 0xd4]
mov dword [eax + 0x6c], 0
jmp 0x100cdb3b
mov eax, dword [esi + edi*4 + 8]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, dword [esi + edi*4 + 4]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc4], ecx
push ecx
mov eax, dword [ecx]
mov dword [ebp - 0xc0], eax
call fcn.100cd710
add esp, 4
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x100d3c34
mov eax, dword [ebp - 0xc4]
cmp byte [eax + 0x1f], 0
je 0x100d187c
lea eax, [ebp - 0xb4]
push eax
push dword [ebp - 0xc0]
call fcn.100afc20
mov edi, dword [ebp - 0xc8]
add esp, 8
mov eax, dword [edi + 0x48]
cdq
cmp dword [ebp - 0xb0], edx
jg 0x100d3d2f
mov ecx, dword [ebp - 0xb4]
jl 0x100d1874
cmp ecx, eax
ja 0x100d3d2f
mov dword [ebp - 0xbc], ecx
jmp 0x100d18a6
lea eax, [ebp - 0xbc]
push eax
push dword [ebp - 0xc0]
call fcn.100aedf0
mov edi, dword [ebp - 0xc8]
add esp, 8
mov ecx, dword [ebp - 0xbc]
cmp ecx, dword [edi + 0x48]
ja 0x100d3d2f
push 0
push ecx
push dword [ebp - 0xe4]
call fcn.100d5800
add esp, 0xc
test eax, eax
jne 0x100d3a78
mov ecx, dword [ebp - 0xe4]
mov edx, 0xbf10
mov eax, dword [ebp - 0xbc]
mov dword [ecx + 0x18], eax
mov ax, word [ecx + 0x1c]
and ax, dx
or ax, 0x10
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xc4]
cmp byte [eax + 0x1f], 0
je 0x100d191e
push 0
push dword [ecx + 4]
push dword [ebp - 0xbc]
push 0
push dword [ebp - 0xc0]
call fcn.1008bcd0
mov ecx, dword [ebp - 0xe4]
add esp, 0x14
mov dword [ebp - 0xcc], eax
mov byte [ecx + 0x1f], 1
jmp 0x100cdebd
push dword [ecx + 4]
push dword [ebp - 0xbc]
push 0
push dword [ebp - 0xc0]
call fcn.100aed90
mov ecx, dword [ebp - 0xe4]
add esp, 0x10
mov dword [ebp - 0xcc], eax
mov byte [ecx + 0x1f], 1
jmp 0x100cdebd
mov ecx, dword [esi + edi*4 + 4]
mov edi, dword [ebp - 0xd4]
mov eax, dword [edi + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc4], ecx
cmp byte [ecx + 0x1c], 0
je 0x100d1983
mov edi, dword [ebp - 0xc8]
mov eax, 1
mov word [edx + 0x1c], ax
inc ebx
mov edx, dword [ebp - 0xdc]
jmp 0x100cdb3b
cmp byte [ecx + 0x1d], 0
je 0x100d19b8
mov eax, dword [ecx + 0x38]
mov dword [ebp - 0xbc], eax
mov eax, dword [ecx + 0x3c]
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xbc]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xb8]
mov dword [ecx + 0x14], eax
jmp case.0x100cdbdb.17
mov eax, dword [ecx + 0x24]
test eax, eax
je 0x100d1a10
mov eax, dword [eax]
lea edx, [ebp - 0xbc]
mov dword [ebp - 0xb4], eax
push edx
mov eax, dword [eax]
mov dword [ebp - 0xb0], eax
push dword [ecx + 0x24]
mov eax, dword [eax + 0x30]
call eax
push dword [ebp - 0xb4]
mov dword [ebp - 0xcc], eax
push edi
call fcn.1009e970
mov ecx, dword [ebp - 0xe4]
add esp, 0x10
mov eax, dword [ebp - 0xbc]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xb8]
mov dword [ecx + 0x14], eax
jmp case.0x100cdbdb.17
push ecx
call fcn.100cd710
add esp, 4
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x100d3c34
mov ecx, dword [ebp - 0xc4]
cmp byte [ecx + 0x19], al
je 0x100d1a61
mov eax, dword [ecx + 0x40]
mov dword [ebp - 0xbc], eax
mov eax, dword [ecx + 0x44]
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xbc]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xb8]
mov dword [ecx + 0x14], eax
jmp case.0x100cdbdb.17
lea eax, [ebp - 0xbc]
push eax
push dword [ecx]
call fcn.100afc20
mov ecx, dword [ebp - 0xe4]
add esp, 8
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xbc]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xb8]
mov dword [ecx + 0x14], eax
jmp case.0x100cdbdb.17
mov eax, dword [ebp - 0xd4]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc4], eax
mov byte [eax + 0x1c], 1
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xc4]
mov eax, dword [eax]
test eax, eax
je 0x100d0c59
push eax
call fcn.100ae560
mov edi, dword [ebp - 0xc8]
add esp, 4
mov edx, dword [ebp - 0xdc]
inc ebx
jmp 0x100cdb3b
mov eax, dword [ebp - 0xd4]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc4], ecx
mov eax, dword [ecx]
mov dword [ebp - 0xc0], eax
test eax, eax
jne 0x100d1b12
mov dword [ebp - 0xbc], 1
jmp 0x100d1b2e
lea ecx, [ebp - 0xbc]
push ecx
push eax
call fcn.100afc60
mov ecx, dword [ebp - 0xc4]
add esp, 8
mov dword [ebp - 0xcc], eax
mov al, byte [ebp - 0xbc]
mov byte [ecx + 0x1c], al
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x4c], 0
mov eax, dword [esi + edi*4 + 8]
test eax, eax
jle case.0x100cdbdb.17
cmp dword [ebp - 0xbc], 0
mov edi, dword [ebp - 0xc8]
je 0x100cdeb7
lea ebx, [eax - 1]
jmp 0x100cdeb7
mov eax, dword [ebp - 0xd4]
inc dword [eax + 0x80]
jmp 0x100d1b93
mov eax, dword [ebp - 0xd4]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0xbc], 1
mov eax, dword [ecx]
mov dword [ebp - 0xc0], eax
test eax, eax
je 0x100d1c09
lea ecx, [ebp - 0xbc]
push ecx
push eax
call fcn.100af2f0
mov dword [ebp - 0xcc], eax
add esp, 8
cmp dword [ebp - 0xbc], 0
mov eax, dword [ebp - 0xc4]
sete cl
mov byte [eax + 0x1a], cl
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x4c], 0
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x19], 0
mov ecx, dword [ebp - 0xc4]
mov al, byte [ebp - 0xbc]
mov byte [ecx + 0x1c], al
cmp dword [ebp - 0xbc], 0
mov eax, dword [ebp - 0xcc]
je 0x100ce105
mov ebx, dword [esi + edi*4 + 8]
mov edi, dword [ebp - 0xc8]
dec ebx
jmp 0x100cdebd
mov eax, dword [ebp - 0xc8]
cmp dword [eax + 0xe0], 0
jne 0x100d3ebb
mov eax, dword [ebp - 0xd4]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc4], eax
test eax, eax
je case.0x100cdbdb.17
mov ecx, dword [eax]
mov dword [ebp - 0xc0], ecx
test ecx, ecx
jne 0x100d1c88
mov edi, dword [ebp - 0xc8]
inc ebx
mov edx, dword [ebp - 0xdc]
mov byte [eax + 0x1c], 1
jmp 0x100cdb3b
lea eax, [ebp - 0xbc]
mov dword [ebp - 0xbc], 1
cmp byte [esi + edi*4], 0x43
push eax
push ecx
jne 0x100d1ca7
call fcn.100b0210
jmp 0x100d1cac
call fcn.100b0970
mov ecx, dword [ebp - 0xc4]
add esp, 8
mov dword [ebp - 0xcc], eax
mov al, byte [ebp - 0xbc]
mov byte [ecx + 0x1c], al
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x4c], 0
cmp dword [ebp - 0xbc], 0
jne 0x100d1d00
mov eax, dword [esi + edi*4 + 8]
dec eax
mov dword [ebp - 0xd0], eax
mov al, byte [esi + edi*4 + 3]
test al, al
je 0x100d1cfa
mov ebx, dword [ebp - 0xd4]
movzx eax, al
inc dword [ebx + eax*4 + 0x78]
mov ebx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x19], 0
jmp case.0x100cdbdb.17
mov eax, dword [ebp - 0xd4]
mov ecx, dword [esi + edi*4 + 4]
mov edx, dword [ebp - 0xe0]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc4], ecx
mov eax, dword [esi + edi*4 + 8]
mov ebx, dword [ecx]
mov dword [ebp - 0xc0], ebx
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
test ebx, ebx
je 0x100cf9cb
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x100d1d75
push esi
call fcn.100d5590
mov ebx, eax
add esp, 4
mov dword [ebp - 0xcc], ebx
test ebx, ebx
jne 0x100cf9cb
mov ebx, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xc4]
mov edx, dword [esi + 0x18]
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xbc], edx
mov esi, dword [esi + 4]
mov dword [ebp - 0xb8], esi
test byte [eax + edi*4 + 3], 0x10
je 0x100d1d99
mov eax, dword [ecx + 0x48]
jmp 0x100d1d9b
xor eax, eax
push eax
mov eax, dword [ebp - 0xd8]
push dword [eax + edi*4 + 0xc]
mov eax, edx
push 0
push 0
push 0x10178415
cdq
push edx
push eax
push esi
push ebx
call fcn.100af4f0
mov ebx, dword [ebp - 0xd0]
add esp, 0x24
mov esi, dword [ebp - 0xd8]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x4c], 0
jmp case.0x100cdbdb.17
mov eax, dword [ebp - 0xd4]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc4], eax
mov ecx, dword [eax]
mov dword [ebp - 0xc0], ecx
test ecx, ecx
je case.0x100cdbdb.17
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0xb4], eax
mov ax, word [esi + edi*4 + 0xc]
mov word [ebp - 0xb0], ax
xor eax, eax
mov word [ebp - 0xae], ax
mov eax, dword [esi + edi*4 + 8]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0xa4], eax
lea eax, [ebp - 0xbc]
push eax
push 0
push 0
push 0
lea eax, [ebp - 0xb4]
push eax
push ecx
call fcn.100afe50
add esp, 0x18
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x100d1e7f
cmp dword [ebp - 0xbc], eax
jne 0x100d1e7f
push dword [ebp - 0xc0]
call fcn.100aee50
add esp, 4
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x4c], 0
jmp case.0x100cdbdb.17
mov eax, dword [ebp - 0xd4]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc0], eax
mov eax, dword [eax]
mov dword [ebp - 0xc4], eax
mov eax, 1
mov word [edx + 0x1c], ax
cmp dword [ebp - 0xc4], 0
je 0x100d1f40
push dword [ebp - 0xc0]
call fcn.100cd710
mov edi, dword [ebp - 0xc8]
add esp, 4
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x100d3c3a
mov eax, dword [ebp - 0xc0]
cmp byte [eax + 0x1c], 0
jne 0x100d1f46
lea eax, [ebp - 0xbc]
push eax
push dword [ebp - 0xc4]
push edi
call fcn.100d4ac0
add esp, 0xc
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x100d3c3a
mov edx, dword [ebp - 0xe4]
inc ebx
mov eax, dword [ebp - 0xbc]
mov dword [edx + 0x10], eax
mov eax, dword [ebp - 0xb8]
mov dword [edx + 0x14], eax
mov eax, 4
mov word [edx + 0x1c], ax
mov edx, dword [ebp - 0xdc]
jmp 0x100cdb3b
mov edi, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xdc]
inc ebx
jmp 0x100cdb3b
mov eax, dword [ebp - 0xd4]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc4], ecx
cmp dword [ecx], 0
je case.0x100cdbdb.17
mov eax, dword [ecx + 8]
mov dword [ebp - 0xbc], eax
mov ax, word [esi + edi*4 + 0x10]
mov word [ebp - 0xb8], ax
mov eax, 0xc
cmp byte [esi + edi*4 + 3], 0
jne 0x100d1f97
mov eax, 4
mov edx, dword [ebp - 0xe0]
mov word [ebp - 0xb6], ax
mov eax, dword [esi + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0xac], eax
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0xbc]
push eax
push ecx
call fcn.100d49e0
add esp, 0xc
mov dword [ebp - 0xcc], eax
cmp byte [esi + edi*4], 0x51
mov eax, dword [ebp - 0xc0]
jne 0x100d1fe1
neg eax
jmp 0x100d1fe2
inc eax
mov dword [ebp - 0xc0], eax
test eax, eax
mov eax, dword [ebp - 0xcc]
jle 0x100ce105
mov ebx, dword [esi + edi*4 + 8]
mov edi, dword [ebp - 0xc8]
dec ebx
jmp 0x100cdebd
mov edx, dword [ebp - 0xc8]
xor ecx, ecx
mov dword [ebp - 0xc0], ecx
mov eax, dword [edx + 0x88]
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x100d204d
cmp dword [eax + 0x34], 0xbdf20da3
jne 0x100d2040
cmp byte [eax + 0x67], 2
jae 0x100d2040
cmp dword [eax + 0x58], 0
jl 0x100d2040
inc ecx
mov dword [ebp - 0xc0], ecx
mov eax, dword [eax + 0x40]
mov dword [ebp - 0xbc], eax
test eax, eax
jne 0x100d2024
mov eax, dword [ebp - 0xe4]
mov ecx, 1
mov word [eax + 0x1c], cx
cmp dword [ebp - 0xc0], ecx
jg 0x100d3c83
mov ecx, dword [esi + edi*4 + 0xc]
lea eax, [ebp - 0xc4]
mov dword [ebp - 0xb8], ecx
add ecx, ecx
push eax
mov eax, dword [edx + 8]
push dword [esi + edi*4 + 4]
push dword [eax + ecx*8 + 4]
call fcn.100af0a0
mov ecx, dword [ebp - 0xe4]
add esp, 0xc
mov dword [ebp - 0xcc], eax
mov eax, 4
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xc4]
cdq
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xcc]
mov dword [ecx + 0x14], edx
test eax, eax
jne 0x100ce105
mov eax, dword [ebp - 0xc4]
test eax, eax
je case.0x100cdbdb.17
push dword [esi + edi*4 + 4]
mov edi, dword [ebp - 0xc8]
push eax
push dword [ebp - 0xb8]
push edi
call fcn.100c5980
mov al, byte [ebp - 0xb8]
add esp, 0x10
inc al
mov byte [ebp - 0xf1], al
jmp 0x100cdeb7
mov dword [ebp - 0xc4], 0
lea eax, [ebp - 0xc4]
xor ecx, ecx
cmp dword [esi + edi*4 + 0xc], ecx
cmove eax, ecx
mov ecx, dword [esi + edi*4 + 8]
push eax
mov eax, dword [ebp - 0xc8]
add ecx, ecx
push dword [esi + edi*4 + 4]
mov eax, dword [eax + 8]
push dword [eax + ecx*8 + 4]
call fcn.100ae580
add esp, 0xc
mov dword [ebp - 0xcc], eax
cmp dword [esi + edi*4 + 0xc], 0
je 0x100ce105
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xc4]
add dword [ecx + 0x6c], eax
mov ecx, dword [esi + edi*4 + 0xc]
test ecx, ecx
jle case.0x100cdbdb.17
mov edi, dword [ebp - 0xe0]
lea ecx, [ecx + ecx*4]
cdq
add dword [edi + ecx*8 + 0x10], eax
adc dword [edi + ecx*8 + 0x14], edx
jmp case.0x100cdbdb.17
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xc4], 0
mov ecx, dword [esi + edi*4 + 4]
shl ecx, 4
add ecx, dword [eax + 8]
xor eax, eax
mov dword [ebp - 0xbc], ecx
cmp byte [esi + edi*4], 0x62
setne al
inc eax
push eax
mov dword [ebp - 0xc0], eax
lea eax, [ebp - 0xc4]
push eax
push dword [ecx + 4]
call fcn.100aec60
mov ecx, dword [ebp - 0xe4]
add esp, 0xc
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc4]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.0x100cdbdb.17
mov edx, dword [esi + edi*4 + 4]
mov eax, str.sqlite_master
cmp edx, 1
mov dword [ebp - 0xc4], edx
mov ecx, str.sqlite_temp_master
cmovne ecx, eax
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xb8], eax
add edx, edx
mov dword [ebp - 0xc0], ecx
mov eax, dword [esi + edi*4 + 4]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xd4]
add eax, 0x38
mov dword [ebp - 0xb0], eax
push dword [esi + edi*4 + 0x10]
mov edi, dword [ebp - 0xc8]
push ecx
mov eax, dword [edi + 8]
push dword [eax + edx*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push edi
call fcn.100bf2e0
add esp, 0x14
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x100d3a78
push 0
lea eax, [ebp - 0xb8]
mov byte [edi + 0x7c], 1
push eax
push fcn.100bccf0
push dword [ebp - 0xbc]
mov dword [ebp - 0xac], 0
push edi
call fcn.10083b10
push dword [ebp - 0xbc]
test eax, eax
push edi
cmove eax, dword [ebp - 0xac]
mov dword [ebp - 0xcc], eax
call fcn.100b36a0
mov eax, dword [ebp - 0xcc]
add esp, 0x1c
mov byte [edi + 0x7c], 0
cmp eax, 7
je 0x100d3a78
jmp 0x100cdebd
push dword [esi + edi*4 + 4]
mov edi, dword [ebp - 0xc8]
push edi
call fcn.100abec0
add esp, 8
mov dword [ebp - 0xcc], eax
jmp 0x100cdebd
push dword [esi + edi*4 + 0x10]
push dword [esi + edi*4 + 4]
mov edi, dword [ebp - 0xc8]
push edi
call fcn.100c9c00
mov edx, dword [ebp - 0xdc]
add esp, 0xc
inc ebx
jmp 0x100cdb3b
push dword [esi + edi*4 + 0x10]
push dword [esi + edi*4 + 4]
mov edi, dword [ebp - 0xc8]
push edi
call fcn.100c9b20
mov edx, dword [ebp - 0xdc]
add esp, 0xc
inc ebx
jmp 0x100cdb3b
push dword [esi + edi*4 + 0x10]
push dword [esi + edi*4 + 4]
mov edi, dword [ebp - 0xc8]
push edi
call fcn.100c9ca0
mov edx, dword [ebp - 0xdc]
add esp, 0xc
inc ebx
jmp 0x100cdb3b
mov eax, dword [esi + edi*4 + 8]
mov dword [ebp - 0xc4], eax
lea eax, [eax*4 + 4]
push eax
push dword [ebp - 0xc8]
call fcn.100b3730
mov edx, eax
add esp, 8
mov dword [ebp - 0xc0], edx
test edx, edx
je 0x100d3a72
mov ecx, dword [esi + edi*4 + 0xc]
mov eax, dword [ebp - 0xe0]
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*8]
mov dword [ebp - 0xb0], ecx
mov ecx, dword [esi + edi*4 + 4]
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0xe0]
lea esi, [ecx + eax*8]
xor eax, eax
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xc4], eax
jle 0x100d23ce
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
push eax
call fcn.100d4c10
mov edx, dword [ebp - 0xbc]
add esp, 4
mov ecx, dword [ebp - 0xc0]
mov dword [ecx + edx*4], eax
mov eax, dword [ebp - 0xbc]
inc eax
mov dword [ebp - 0xbc], eax
cmp eax, dword [ebp - 0xc4]
jl 0x100d2395
mov edx, dword [ebp - 0xc0]
mov dword [edx + eax*4], 0
lea eax, [ebp - 0xb8]
push eax
mov eax, dword [ebp - 0xb0]
push dword [eax + 0x10]
mov eax, dword [ebp - 0xd8]
push dword [ebp - 0xc4]
push dword [ebp - 0xc0]
movzx ecx, byte [eax + edi*4 + 3]
mov edi, dword [ebp - 0xc8]
add ecx, ecx
mov eax, dword [edi + 8]
push dword [eax + ecx*8 + 4]
call fcn.100af6f0
push dword [ebp - 0xc0]
mov dword [ebp - 0xb4], eax
push edi
call fcn.100b36a0
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xb8]
cdq
push esi
sub dword [ecx + 0x10], eax
sbb dword [ecx + 0x14], edx
call fcn.100d5db0
add esp, 0x20
cmp dword [ebp - 0xb8], 0
je 0x100d2468
mov eax, dword [ebp - 0xb4]
test eax, eax
je 0x100d3a78
push fcn.100885a0
push 1
push 0xffffffffffffffff
push eax
push esi
call fcn.100d5ec0
add esp, 0x14
movzx eax, byte [ebp - 0xe8]
push eax
push esi
call fcn.100cd1f0
mov esi, dword [ebp - 0xd8]
add esp, 8
mov edx, dword [ebp - 0xdc]
inc ebx
jmp 0x100cdb3b
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 0x20
lea esi, [ecx + eax*8]
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + edi*4 + 8]
lea edi, [eax + eax*4]
jne 0x100d24c2
push esi
call fcn.100d5e00
add esp, 4
test byte [esi + 0x1c], 0x20
je 0x100d3a72
mov eax, dword [ebp - 0xe0]
push dword [eax + edi*8 + 0x14]
push dword [eax + edi*8 + 0x10]
push dword [esi + 0x10]
call fcn.100c5a90
add esp, 0xc
mov esi, dword [ebp - 0xd8]
inc ebx
mov edi, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xdc]
jmp 0x100cdb3b
mov eax, dword [ebp - 0xc8]
cmp dword [eax + 0xe0], 0
jne 0x100d3ebb
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 0x20
lea esi, [ecx + eax*8]
je 0x100d2570
lea eax, [ebp - 0xc4]
push eax
push dword [esi + 0x10]
call fcn.100c5b20
add esp, 8
test eax, eax
je 0x100d2570
mov esi, dword [ebp - 0xd8]
push dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xe0]
push dword [ebp - 0xc4]
mov eax, dword [esi + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
call fcn.100d5d60
mov edi, dword [ebp - 0xc8]
add esp, 0xc
mov edx, dword [ebp - 0xdc]
inc ebx
jmp 0x100cdb3b
push esi
call fcn.100d5db0
mov esi, dword [ebp - 0xd8]
add esp, 4
mov edx, dword [ebp - 0xdc]
mov ebx, dword [esi + edi*4 + 8]
mov edi, dword [ebp - 0xc8]
dec ebx
inc ebx
jmp 0x100cdb3b
mov eax, dword [esi + edi*4 + 4]
mov edx, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xd8]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, dword [ecx + edi*4 + 0xc]
lea ebx, [eax + eax*4]
mov eax, dword [ecx + edi*4 + 0x10]
mov dword [ebp - 0xc4], eax
test byte [esi + 0x1c], 0x20
jne 0x100d25e2
push esi
call fcn.100d5e00
add esp, 4
test byte [esi + 0x1c], 0x20
je 0x100d3a72
mov eax, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xe0]
test eax, eax
je 0x100d2633
js 0x100d25ed
and eax, 0xf
jmp 0x100d25f2
mov eax, 0xff
push dword [edx + ebx*8 + 0x14]
push dword [edx + ebx*8 + 0x10]
push eax
push dword [esi + 0x10]
call fcn.100c5ba0
add esp, 0x10
mov dword [ebp - 0xc0], eax
test eax, eax
je 0x100d262b
mov esi, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xdc]
mov ebx, dword [esi + edi*4 + 8]
mov edi, dword [ebp - 0xc8]
jmp 0x100cdb3b
mov eax, dword [ebp - 0xc4]
test eax, eax
js 0x100d264e
mov eax, dword [ebp - 0xe0]
push dword [eax + ebx*8 + 0x14]
push dword [eax + ebx*8 + 0x10]
push dword [esi + 0x10]
call fcn.100c5a90
add esp, 0xc
mov ebx, dword [ebp - 0xd0]
mov esi, dword [ebp - 0xd8]
inc ebx
mov edi, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xdc]
jmp 0x100cdb3b
mov edx, dword [esi + edi*4 + 0x10]
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xac], edx
mov eax, dword [esi + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xbc], esi
cmp byte [eax + edi*4 + 3], 0
je 0x100d26d6
mov eax, dword [ebp - 0xd4]
mov ecx, dword [edx + 0x10]
mov dword [ebp - 0xa8], ecx
mov eax, dword [eax + 0xa8]
mov dword [ebp - 0xb0], eax
test eax, eax
je 0x100d26d6
jmp 0x100d26c0
cmp dword [eax + 0x20], ecx
je 0x100d24db
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0xb0], eax
test eax, eax
jne 0x100d26c0
mov ecx, dword [ebp - 0xd4]
mov edi, dword [ebp - 0xc8]
mov eax, dword [ecx + 0xb0]
cmp eax, dword [edi + 0x70]
jge 0x100d3caa
test byte [esi + 0x1c], 0x40
jne 0x100d2861
mov eax, dword [edx + 8]
add eax, dword [edx + 0xc]
mov dword [ebp - 0xc4], eax
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea eax, [eax + ecx*2]
lea eax, [eax*4 + 0x40]
push eax
push edi
mov dword [ebp - 0xc0], eax
call fcn.100b37c0
add esp, 8
mov dword [ebp - 0xb0], eax
test eax, eax
je 0x100d3a78
push dword [ebp - 0xbc]
call fcn.100d5c00
mov eax, dword [ebp - 0xbc]
mov ecx, 0x40
mov esi, dword [ebp - 0xd4]
add esp, 4
mov word [eax + 0x1c], cx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xb0]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0xb0]
mov dword [eax], esi
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xc4]
mov dword [ecx + 0x24], eax
mov eax, dword [ebp - 0xac]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0xb0]
mov dword [eax + 0x28], ecx
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xd0]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0xb0]
mov ecx, dword [esi + 8]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0xb0]
mov ecx, dword [esi + 0x18]
mov dword [eax + 0x14], ecx
mov eax, dword [ebp - 0xb0]
mov ecx, dword [esi + 0x44]
mov dword [eax + 0x18], ecx
mov eax, dword [ebp - 0xb0]
mov cx, word [esi + 0x32]
mov word [eax + 0x1c], cx
mov eax, dword [ebp - 0xb0]
mov ecx, dword [esi + 4]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0xb0]
mov ecx, dword [esi + 0x1c]
mov dword [eax + 0xc], ecx
mov eax, dword [ebp - 0xac]
mov ecx, dword [eax + 0x10]
mov eax, dword [ebp - 0xb0]
mov dword [eax + 0x20], ecx
mov edx, dword [ebp - 0xb0]
mov eax, dword [edx + 0x24]
lea ecx, [edx + 0x40]
mov dword [ebp - 0xb8], ecx
lea eax, [eax + eax*4]
lea eax, [eax + 8]
lea eax, [edx + eax*8]
mov dword [ebp - 0xb4], eax
cmp ecx, eax
je 0x100d286c
mov esi, 1
jmp 0x100d2830
mov word [ecx + 0x1c], si
mov eax, dword [ebp - 0xb8]
mov dword [eax], edi
mov ecx, dword [ebp - 0xb8]
add ecx, 0x28
mov dword [ebp - 0xb8], ecx
cmp ecx, dword [ebp - 0xb4]
jne 0x100d2830
mov esi, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xb0]
jmp 0x100d286c
mov edx, dword [esi + 0x10]
mov esi, ecx
mov dword [ebp - 0xb0], edx
inc dword [esi + 0xb0]
mov eax, dword [esi + 0xa8]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x30]
mov eax, dword [ebp - 0xb0]
mov ebx, dword [ebp - 0xd4]
mov dword [eax + 0x30], ecx
mov ecx, dword [edi + 0x34]
mov eax, dword [ebp - 0xb0]
mov dword [eax + 0x34], ecx
mov eax, dword [ebp - 0xb0]
mov ecx, dword [esi + 0x6c]
mov dword [eax + 0x38], ecx
mov ecx, dword [ebp - 0xb0]
mov dword [esi + 0x6c], 0
mov dword [esi + 0xa8], ecx
lea edx, [ecx + 0x18]
mov dword [esi + 8], edx
mov eax, dword [ecx + 0x24]
mov dword [esi + 0x18], eax
mov ax, word [ecx + 0x28]
mov word [esi + 0x32], ax
mov eax, dword [esi + 0x18]
inc eax
mov dword [ebp - 0xe0], edx
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0xdc]
mov dword [esi + 0x44], eax
mov eax, dword [ebp - 0xac]
mov esi, dword [eax]
mov dword [ebx + 4], esi
mov eax, dword [eax + 4]
mov dword [ebx + 0x1c], eax
or ebx, 0xffffffff
mov dword [ebp - 0xd8], esi
inc ebx
jmp 0x100cdb3b
mov eax, dword [ebp - 0xd4]
push 0x1000
mov edx, dword [eax + 0xa8]
mov dword [ebp - 0xc4], edx
mov eax, dword [edx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 8]
mov eax, dword [eax + ecx*4 + 4]
add eax, dword [esi + edi*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea eax, [eax + ecx*8]
push eax
push dword [ebp - 0xe4]
mov dword [ebp - 0xc0], eax
call fcn.100d60a0
mov edi, dword [ebp - 0xc8]
add esp, 0xc
mov edx, dword [ebp - 0xdc]
inc ebx
jmp 0x100cdb3b
cmp dword [esi + edi*4 + 4], 0
mov eax, dword [esi + edi*4 + 8]
cdq
je 0x100d2987
mov edi, dword [ebp - 0xc8]
add dword [edi + 0x1f0], eax
adc dword [edi + 0x1f4], edx
inc ebx
mov edx, dword [ebp - 0xdc]
jmp 0x100cdb3b
mov edi, dword [ebp - 0xd4]
add dword [edi + 0x90], eax
adc dword [edi + 0x94], edx
inc ebx
mov edi, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xdc]
jmp 0x100cdb3b
cmp dword [esi + edi*4 + 4], 0
je 0x100d29d9
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ecx + 0x1f0]
or eax, dword [ecx + 0x1f4]
jne 0x100d29cb
mov ebx, dword [esi + edi*4 + 8]
dec ebx
mov edx, dword [ebp - 0xdc]
inc ebx
mov edi, ecx
jmp 0x100cdb3b
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xd4]
mov eax, dword [eax + 0x90]
or eax, dword [ecx + 0x94]
jne 0x100d0c59
mov ebx, dword [esi + edi*4 + 8]
mov edi, dword [ebp - 0xc8]
dec ebx
mov edx, dword [ebp - 0xdc]
inc ebx
jmp 0x100cdb3b
mov eax, dword [ebp - 0xd4]
mov edx, dword [eax + 0xa8]
test edx, edx
je 0x100d2a4e
mov dword [ebp - 0xc0], edx
mov eax, dword [edx + 0x3c]
test eax, eax
je 0x100d2a3f
jmp 0x100d2a30
mov edx, eax
mov dword [ebp - 0xc0], edx
mov eax, dword [edx + 0x3c]
test eax, eax
jne 0x100d2a30
mov eax, dword [esi + edi*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea eax, [eax + ecx*8]
jmp 0x100d2a5e
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
mov dword [ebp - 0xc4], eax
call fcn.100d59b0
mov eax, dword [esi + edi*4 + 8]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push esi
call fcn.100d59b0
mov eax, dword [ebp - 0xc4]
add esp, 8
mov edx, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
cmp dword [eax + 0x14], edx
jg 0x100d2aa1
jl 0x100d2a9b
cmp dword [eax + 0x10], ecx
jae 0x100d2aa1
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
mov esi, dword [ebp - 0xd8]
inc ebx
mov edi, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xdc]
jmp 0x100cdb3b
mov eax, dword [esi + edi*4 + 4]
mov edx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
cmp dword [edx + eax*8 + 0x14], 0
jl 0x100d0c59
jg 0x100d0c54
cmp dword [edx + eax*8 + 0x10], 0
jbe 0x100d0c59
mov ebx, dword [esi + edi*4 + 8]
mov edi, dword [ebp - 0xc8]
dec ebx
mov edx, dword [ebp - 0xdc]
inc ebx
jmp 0x100cdb3b
mov eax, dword [esi + edi*4 + 4]
mov edx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
cmp dword [edx + eax*8 + 0x14], 0
jg 0x100d0c59
jl 0x100d0c54
cmp dword [edx + eax*8 + 0x10], 0
jae 0x100d0c59
mov ebx, dword [esi + edi*4 + 8]
mov edi, dword [ebp - 0xc8]
dec ebx
mov edx, dword [ebp - 0xdc]
inc ebx
jmp 0x100cdb3b
mov eax, dword [esi + edi*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [esi + edi*4 + 0xc]
mov esi, dword [ebp - 0xe0]
cdq
add dword [esi + ecx*8 + 0x10], eax
mov eax, esi
adc dword [eax + ecx*8 + 0x14], edx
mov edx, esi
mov eax, dword [eax + ecx*8 + 0x10]
mov esi, dword [ebp - 0xd8]
or eax, dword [edx + ecx*8 + 0x14]
jne 0x100d0c59
mov ebx, dword [esi + edi*4 + 8]
mov edi, dword [ebp - 0xc8]
dec ebx
mov edx, dword [ebp - 0xdc]
inc ebx
jmp 0x100cdb3b
movzx ecx, byte [esi + edi*4 + 3]
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0xc4], ecx
mov eax, dword [esi + edi*4 + 8]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xb8], edx
mov esi, dword [eax + 0xc]
xor eax, eax
mov dword [ebp - 0x74], esi
mov dword [ebp - 0xc0], eax
test ecx, ecx
jle 0x100d2bfa
jmp 0x100d2bc0
mov dword [esi + eax*4], edx
push dword [ebp - 0xb8]
call fcn.100d60f0
mov eax, dword [ebp - 0xc0]
add esp, 4
mov edx, dword [ebp - 0xb8]
inc eax
add edx, 0x28
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xb8], edx
cmp eax, dword [ebp - 0xc4]
jge 0x100d2bfa
mov esi, dword [ebp - 0x74]
jmp 0x100d2bc0
mov esi, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xe0]
mov eax, dword [esi + edi*4 + 0x10]
mov dword [ebp - 0xb4], eax
mov eax, dword [esi + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0x84], eax
inc dword [eax + 0x18]
mov eax, 1
mov ecx, dword [ebp - 0xb4]
mov word [ebp - 0x90], ax
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0
test byte [ecx + 3], 8
je 0x100d2c80
mov eax, dword [esi + edi*4 - 4]
mov dword [ebp - 0x7c], eax
push dword [ebp - 0x74]
lea eax, [ebp - 0xb4]
push dword [ebp - 0xc4]
push eax
mov eax, dword [ecx + 0x10]
call eax
add esp, 0xc
cmp dword [ebp - 0x80], 0
je 0x100d2ce8
lea eax, [ebp - 0xac]
push 1
push eax
call fcn.100cceb0
mov edi, dword [ebp - 0xc8]
push eax
mov eax, dword [ebp - 0xd4]
push 0x101794b4
add eax, 0x38
push edi
push eax
call fcn.100c8200
mov eax, dword [ebp - 0x80]
add esp, 0x18
mov dword [ebp - 0xcc], eax
lea eax, [ebp - 0xac]
push eax
call fcn.100d5c00
add esp, 4
jmp 0x100cdeb7
mov edi, dword [ebp - 0xc8]
lea eax, [ebp - 0xac]
push eax
call fcn.100d5c00
add esp, 4
jmp 0x100cdeb7
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xc4], eax
push dword [esi + edi*4 + 0x10]
push eax
call fcn.100d5600
add esp, 8
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x100d2d5d
push 1
push dword [ebp - 0xc4]
call fcn.100cceb0
mov edi, dword [ebp - 0xc8]
push eax
mov eax, dword [ebp - 0xd4]
push 0x101794b4
add eax, 0x38
push edi
push eax
call fcn.100c8200
add esp, 0x18
jmp 0x100d2d63
mov edi, dword [ebp - 0xc8]
movzx eax, byte [ebp - 0xe8]
push eax
push dword [ebp - 0xc4]
call fcn.100cd1f0
push dword [ebp - 0xc4]
call fcn.100d61d0
add esp, 0xc
test eax, eax
jne 0x100d3d2f
jmp 0x100cdeb7
lea eax, [ebp - 0xb8]
mov dword [ebp - 0xc0], 0
push eax
lea eax, [ebp - 0xbc]
mov dword [ebp - 0xb8], 0xffffffff
push eax
mov dword [ebp - 0xbc], 0xffffffff
push dword [esi + edi*4 + 8]
push dword [esi + edi*4 + 4]
push dword [ebp - 0xc8]
call fcn.100b14f0
mov edx, eax
add esp, 0x14
mov dword [ebp - 0xcc], edx
cmp edx, 5
jne 0x100d2df4
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xc0], 1
mov edx, dword [ebp - 0xe0]
xor eax, eax
mov dword [ebp - 0xc4], eax
mov ecx, dword [esi + edi*4 + 0xc]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*8]
mov dword [ebp - 0xb4], ecx
mov eax, dword [ebp + eax*4 - 0xc0]
cdq
push edx
push eax
push ecx
call fcn.100d5d60
mov eax, dword [ebp - 0xc4]
add esp, 0xc
mov ecx, dword [ebp - 0xb4]
inc eax
add ecx, 0x28
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xb4], ecx
cmp eax, 3
jl 0x100d2e12
jmp case.0x100cdbdb.17
mov edx, dword [esi + edi*4 + 0xc]
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xbc], edx
mov ecx, dword [esi + edi*4 + 4]
add ecx, ecx
cmp edx, 0xffffffff
mov eax, dword [eax + 8]
mov eax, dword [eax + ecx*8 + 4]
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xec], eax
mov eax, dword [eax + 4]
mov esi, dword [eax]
mov dword [ebp - 0xc0], esi
movzx ebx, byte [esi + 5]
cmove edx, ebx
mov dword [ebp - 0xb8], ebx
mov dword [ebp - 0xbc], edx
cmp byte [esi + 0xf], 3
jae 0x100d2eb1
mov eax, dword [esi + 0x40]
cmp dword [eax], 0
je 0x100d2eb9
cmp dword [esi + 0x4c], 0
jl 0x100d2eb9
jg 0x100d2eb1
cmp dword [esi + 0x48], 0
jbe 0x100d2eb9
mov edx, ebx
mov dword [ebp - 0xbc], edx
mov eax, dword [esi + 0x90]
mov dword [ebp - 0xb4], eax
cmp edx, 5
jne 0x100d2ee9
cmp byte [eax], 0
je 0x100d2edc
push esi
call fcn.100c18f0
add esp, 4
test eax, eax
jne 0x100d2ee9
mov edx, ebx
mov dword [ebp - 0xbc], edx
jmp 0x100d2fb1
cmp edx, ebx
je 0x100d2fb1
cmp ebx, 5
je 0x100d2eff
cmp edx, 5
jne 0x100d2fb1
mov eax, dword [ebp - 0xc8]
cmp byte [eax + 0x1c], 0
je 0x100d3cd7
cmp dword [eax + 0x8c], 1
jg 0x100d3cd7
cmp ebx, 5
jne 0x100d2f56
push esi
call fcn.100c0660
add esp, 4
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x100d2f97
push dword [ebp - 0xbc]
push dword [ebp - 0xc0]
call fcn.100c1380
mov edx, dword [ebp - 0xbc]
add esp, 8
mov ecx, dword [ebp - 0xc4]
jmp 0x100d2f7a
cmp ebx, 4
jne 0x100d2f74
push 2
push esi
call fcn.100c1380
mov edx, dword [ebp - 0xbc]
add esp, 8
mov ecx, dword [ebp - 0xc4]
jmp 0x100d2f7a
mov ecx, dword [ebp - 0xec]
xor eax, eax
cmp edx, 5
sete al
inc eax
push eax
push ecx
call fcn.100b1100
add esp, 8
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x100d2fa5
mov edx, dword [ebp - 0xb8]
mov dword [ebp - 0xbc], edx
jmp 0x100d2fab
mov edx, dword [ebp - 0xbc]
mov esi, dword [ebp - 0xc0]
push edx
push esi
call fcn.100c1380
mov esi, dword [ebp - 0xd8]
add esp, 8
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xbc], eax
mov eax, dword [esi + edi*4 + 8]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, 0xa02
mov word [edx + 0x1c], ax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0xe4], edx
cmp eax, 6
jne 0x100d2ff5
xor eax, eax
jmp 0x100d2ffc
mov eax, dword [eax*4 + 0x1015a98c]
push eax
mov dword [edx + 4], eax
call fcn.100c9310
mov dword [edx + 0x18], eax
movzx eax, byte [ebp - 0xe8]
push eax
push edx
mov byte [edx + 0x1f], 1
call fcn.100cd1f0
mov ebx, dword [ebp - 0xd0]
add esp, 0xc
jmp case.0x100cdbdb.17
mov eax, dword [ebp - 0xd4]
mov edi, dword [ebp - 0xc8]
add eax, 0x38
push edi
push eax
call fcn.100c5fc0
add esp, 8
mov dword [ebp - 0xcc], eax
jmp 0x100cdebd
mov eax, dword [ebp - 0xc8]
mov ecx, dword [esi + edi*4 + 4]
add ecx, ecx
mov eax, dword [eax + 8]
mov eax, dword [eax + ecx*8 + 4]
push eax
mov dword [ebp - 0xc4], eax
call fcn.100af430
add esp, 4
mov dword [ebp - 0xcc], eax
cmp eax, 0x65
jne 0x100ce105
mov ebx, dword [esi + edi*4 + 8]
mov edi, dword [ebp - 0xc8]
dec ebx
xor eax, eax
mov dword [ebp - 0xcc], eax
jmp 0x100cdebd
cmp dword [esi + edi*4 + 4], 0
jne 0x100d30b7
mov edi, dword [ebp - 0xc8]
push edi
call fcn.100b51c0
mov edx, dword [ebp - 0xdc]
add esp, 4
inc ebx
jmp 0x100cdb3b
mov eax, dword [ebp - 0xd4]
inc ebx
mov edi, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xdc]
mov byte [eax + 0x64], 1
jmp 0x100cdb3b
mov al, byte [esi + edi*4 + 0xc]
mov byte [ebp - 0x108], al
test al, al
mov eax, dword [ebp - 0xc8]
jne 0x100d30f4
test dword [eax + 0xc], 0x80000
jne 0x100d38d7
mov ecx, dword [esi + edi*4 + 4]
push dword [ebp - 0x108]
mov eax, dword [eax + 8]
add ecx, ecx
push dword [esi + edi*4 + 8]
push dword [eax + ecx*8 + 4]
call fcn.100afd80
add esp, 0xc
mov dword [ebp - 0xcc], eax
cmp al, 6
jne 0x100ce105
push dword [esi + edi*4 + 0x10]
mov eax, dword [ebp - 0xd4]
mov edi, dword [ebp - 0xc8]
add eax, 0x38
push str.database_table_is_locked:__s
push edi
push eax
call fcn.100c8200
add esp, 0x10
jmp 0x100cdeb7
mov eax, dword [esi + edi*4 + 0x10]
mov edi, dword [ebp - 0xc8]
push eax
push edi
mov dword [ebp - 0xc4], eax
call fcn.100d7290
mov dword [ebp - 0xcc], eax
add esp, 8
mov eax, dword [ebp - 0xc4]
test eax, eax
je 0x100cdeb7
push dword [eax + 8]
push dword [ebp - 0xd4]
call fcn.1009e970
add esp, 8
jmp 0x100cdeb7
mov eax, dword [ebp - 0xd4]
add eax, 0x38
push eax
push dword [esi + edi*4 + 0x10]
push dword [esi + edi*4 + 4]
mov edi, dword [ebp - 0xc8]
push edi
call fcn.100d7530
add esp, 0x10
mov dword [ebp - 0xcc], eax
jmp 0x100cdebd
mov eax, dword [ebp - 0xd4]
mov byte [eax + 0x67], 2
push dword [esi + edi*4 + 0x10]
push dword [esi + edi*4 + 4]
mov edi, dword [ebp - 0xc8]
push edi
call fcn.100d7630
mov ecx, dword [ebp - 0xd4]
add esp, 0xc
mov dword [ebp - 0xcc], eax
mov byte [ecx + 0x67], 0
jmp 0x100cdebd
mov dword [ebp - 0xc4], 0
lea edx, [ebp - 0xc0]
mov dword [ebp - 0xc0], 0
mov eax, dword [esi + edi*4 + 0x10]
push edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0xbc], ecx
push ecx
mov eax, dword [ecx]
mov dword [ebp - 0xb8], eax
mov eax, dword [eax + 0x18]
call eax
push dword [ebp - 0xbc]
mov dword [ebp - 0xcc], eax
push dword [ebp - 0xd4]
call fcn.1009e970
mov eax, dword [ebp - 0xcc]
add esp, 0x10
test eax, eax
jne 0x100ce105
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xbc]
push 0
push 0xffffffffffffffff
push 0
mov dword [eax], ecx
push dword [esi + edi*4 + 4]
push dword [ebp - 0xd4]
call fcn.1008ccc0
mov edi, dword [ebp - 0xc8]
add esp, 0x14
mov dword [ebp - 0xc4], eax
test eax, eax
je 0x100d32aa
mov ecx, dword [ebp - 0xc0]
inc ebx
mov edx, dword [ebp - 0xdc]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax]
mov ecx, dword [eax]
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x28], ecx
jmp 0x100cdb3b
mov byte [edi + 0x1e], 1
mov eax, dword [ebp - 0xb8]
push dword [ebp - 0xc0]
mov eax, dword [eax + 0x1c]
call eax
add esp, 4
jmp 0x100cdeb7
mov eax, dword [esi + edi*4 + 0xc]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xb8], edx
lea esi, [edx + 0x28]
mov dword [ebp - 0xb4], esi
mov ecx, dword [eax + edi*4 + 4]
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xa8], eax
mov ebx, dword [eax + 0x24]
mov dword [ebp - 0xb0], ebx
mov eax, dword [ebx]
mov dword [ebp - 0xac], eax
mov eax, dword [eax]
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xec], eax
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xc4], eax
mov ecx, dword [edx + 0x10]
mov dword [ebp - 0xf8], ecx
mov dword [ebp - 0xc0], ecx
mov ecx, dword [ebp - 0xd4]
mov dword [ebp - 0xa4], 0
mov edx, dword [ecx + 0xc]
xor ecx, ecx
mov dword [ebp - 0x9c], edx
mov dword [ebp - 0xa0], ecx
test eax, eax
jle 0x100d33c2
mov edi, edi
lea eax, [ecx + 1]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x9c]
push dword [eax + ecx*4]
call fcn.100d60f0
mov ecx, dword [ebp - 0xa0]
add esp, 4
mov eax, dword [ebp - 0xc4]
inc ecx
mov edx, dword [ebp - 0x9c]
mov dword [ebp - 0xa0], ecx
cmp ecx, eax
jge 0x100d33a8
mov esi, dword [ebp - 0xb4]
jmp 0x100d3360
mov ecx, dword [ebp - 0xbc]
mov ebx, dword [ebp - 0xb0]
mov esi, dword [ebp - 0xc0]
mov dword [ebp - 0xec], ecx
jmp 0x100d33c8
mov esi, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xd4]
push edx
push eax
mov eax, dword [ebp - 0xd8]
mov byte [ecx + 0x67], 1
mov ecx, dword [ebp - 0xec]
push dword [eax + edi*4 + 0x10]
mov eax, dword [ecx + 0x20]
push esi
push ebx
call eax
push dword [ebp - 0xac]
mov ebx, eax
mov eax, dword [ebp - 0xd4]
push eax
mov dword [ebp - 0xcc], ebx
mov byte [eax + 0x67], 0
call fcn.1009e970
add esp, 0x1c
test ebx, ebx
jne 0x100d342c
mov eax, dword [ebp - 0xbc]
push dword [ebp - 0xb0]
mov eax, dword [eax + 0x28]
call eax
add esp, 4
mov dword [ebp - 0xa4], eax
jmp 0x100d3432
mov eax, dword [ebp - 0xa4]
mov esi, dword [ebp - 0xd8]
test eax, eax
je 0x100d3447
mov eax, dword [esi + edi*4 + 8]
dec eax
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xa8]
mov ebx, dword [ebp - 0xd0]
mov byte [eax + 0x1c], 0
jmp case.0x100cdbdb.17
mov eax, dword [ebp - 0xd4]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + ecx*4]
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xe0]
mov eax, dword [eax + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xbc], eax
cmp byte [esi + 0x1c], 0
je 0x100d34af
push eax
call fcn.100d5db0
mov esi, dword [ebp - 0xd8]
add esp, 4
mov edi, dword [ebp - 0xc8]
inc ebx
mov edx, dword [ebp - 0xdc]
jmp 0x100cdb3b
mov eax, dword [esi + 0x24]
push 0x40
push 0
mov eax, dword [eax]
mov dword [ebp - 0xc4], eax
mov eax, dword [eax]
mov dword [ebp - 0xc0], eax
lea eax, [ebp - 0xb4]
push eax
call fcn.1011a400
push dword [ebp - 0xbc]
lea eax, [ebp - 0xac]
push eax
call fcn.100d5a50
mov eax, dword [ebp - 0x90]
and eax, 0xbf01
or eax, 1
mov word [ebp - 0x90], ax
mov eax, dword [ebp - 0xd8]
push dword [eax + edi*4 + 8]
lea eax, [ebp - 0xb4]
push eax
mov eax, dword [ebp - 0xc0]
push dword [esi + 0x24]
mov eax, dword [eax + 0x2c]
call eax
push dword [ebp - 0xc4]
mov dword [ebp - 0xcc], eax
push dword [ebp - 0xd4]
call fcn.1009e970
mov eax, dword [ebp - 0x80]
test eax, eax
mov ecx, dword [ebp - 0xcc]
cmovne ecx, eax
movzx eax, byte [ebp - 0xe8]
push eax
lea eax, [ebp - 0xac]
mov dword [ebp - 0xcc], ecx
push eax
call fcn.100cd1f0
lea eax, [ebp - 0xac]
push eax
push dword [ebp - 0xbc]
call fcn.100d5a50
push dword [ebp - 0xbc]
call fcn.100d61d0
mov edi, dword [ebp - 0xc8]
add esp, 0x3c
test eax, eax
jne 0x100d3d2f
mov esi, dword [ebp - 0xd8]
jmp 0x100cdeb7
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xbc], 0
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xb8], ecx
cmp byte [ecx + 0x1c], 0
jne case.0x100cdbdb.17
mov eax, dword [ecx + 0x24]
mov edx, dword [ebp - 0xd4]
mov eax, dword [eax]
mov dword [ebp - 0xc4], eax
mov eax, dword [eax]
mov dword [ebp - 0xc0], eax
mov byte [edx + 0x67], 1
push dword [ecx + 0x24]
mov eax, dword [eax + 0x24]
call eax
push dword [ebp - 0xc4]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xd4]
push eax
mov byte [eax + 0x67], 0
call fcn.1009e970
add esp, 0xc
cmp dword [ebp - 0xcc], 0
jne 0x100d3626
mov eax, dword [ebp - 0xb8]
push dword [eax + 0x24]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 0x28]
call eax
add esp, 4
mov dword [ebp - 0xbc], eax
jmp 0x100d362c
mov eax, dword [ebp - 0xbc]
test eax, eax
mov eax, dword [ebp - 0xcc]
jne 0x100ce105
mov ebx, dword [esi + edi*4 + 8]
mov edi, dword [ebp - 0xc8]
dec ebx
jmp 0x100cdebd
mov eax, dword [esi + edi*4 + 0x10]
mov ecx, dword [ebp - 0xe0]
mov edx, dword [eax + 8]
mov dword [ebp - 0xc4], edx
mov eax, dword [esi + edi*4 + 4]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xc0], eax
mov ecx, dword [edx]
push dword [eax + 4]
push edx
mov eax, dword [ecx + 0x4c]
call eax
push dword [ebp - 0xc4]
mov edi, dword [ebp - 0xd4]
push edi
mov dword [ebp - 0xcc], eax
call fcn.1009e970
add esp, 0x10
mov byte [edi + 0x64], 0
jmp case.0x100cdbdb.17
mov eax, dword [esi + edi*4 + 0x10]
mov ecx, dword [ebp - 0xd8]
mov esi, dword [eax + 8]
mov dword [ebp - 0xc4], esi
mov ebx, dword [esi]
mov dword [ebp - 0xc0], ebx
mov edx, dword [ecx + edi*4 + 8]
mov dword [ebp - 0xbc], edx
cmp dword [ebx + 0x34], 0
je 0x100cf9cb
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xac], eax
mov eax, dword [ecx + edi*4 + 0xc]
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xb8], 0
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0xa8], ecx
test edx, edx
jle 0x100d375c
push ecx
call fcn.100d60f0
mov ecx, dword [ebp - 0xb8]
add esp, 4
mov eax, dword [ebp - 0xac]
mov edx, dword [ebp - 0xa8]
mov dword [eax + ecx*4], edx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xa8]
inc eax
mov edx, dword [ebp - 0xbc]
add ecx, 0x28
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0xb8], eax
cmp eax, edx
jl 0x100d3704
mov eax, dword [ebp - 0xac]
mov ebx, dword [ebp - 0xc0]
mov esi, dword [ebp - 0xc4]
jmp 0x100d3762
mov eax, dword [ebp - 0xec]
lea ecx, [ebp - 0xb4]
push ecx
push eax
mov eax, dword [ebx + 0x34]
push edx
push esi
call eax
push dword [ebp - 0xc4]
mov ebx, eax
push dword [ebp - 0xd4]
mov dword [ebp - 0xcc], ebx
call fcn.1009e970
mov esi, dword [ebp - 0xd8]
add esp, 0x18
test ebx, ebx
jne 0x100d37c9
cmp dword [esi + edi*4 + 4], ebx
mov edi, dword [ebp - 0xc8]
je 0x100d37cf
mov eax, dword [ebp - 0xb4]
mov ebx, dword [ebp - 0xd0]
mov dword [edi + 0x30], eax
mov eax, dword [ebp - 0xb0]
mov dword [edi + 0x34], eax
mov eax, dword [ebp - 0xd4]
inc dword [eax + 0x6c]
jmp 0x100cdeb7
mov edi, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xd4]
mov ebx, dword [ebp - 0xd0]
inc dword [eax + 0x6c]
jmp 0x100cdeb7
mov ecx, dword [esi + edi*4 + 4]
mov edi, dword [ebp - 0xc8]
add ecx, ecx
inc ebx
mov eax, dword [edi + 8]
mov eax, dword [eax + ecx*8 + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x30]
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], 0
mov edx, dword [ebp - 0xdc]
jmp 0x100cdb3b
mov eax, dword [ebp - 0xc8]
mov ecx, dword [esi + edi*4 + 4]
add ecx, ecx
mov eax, dword [eax + 8]
mov edx, dword [eax + ecx*8 + 4]
xor eax, eax
mov ecx, dword [esi + edi*4 + 0xc]
test ecx, ecx
je 0x100d383a
mov eax, dword [edx + 4]
mov eax, dword [eax + 0x30]
cmp eax, ecx
cmovb eax, ecx
push eax
push edx
call fcn.100afdf0
mov ecx, dword [ebp - 0xe4]
add esp, 8
mov edi, dword [ebp - 0xc8]
inc ebx
cdq
mov dword [ecx + 0x14], edx
mov edx, dword [ebp - 0xdc]
mov dword [ecx + 0x10], eax
jmp 0x100cdb3b
mov eax, dword [esi + edi*4 + 0x10]
test eax, eax
jne 0x100d3877
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + 0xa0]
mov edi, dword [ebp - 0xc8]
mov dword [ebp - 0xc4], eax
test eax, eax
je 0x100cdeb7
cmp dword [edi + 0x98], 0
je 0x100cdeb7
push eax
push dword [ebp - 0xd4]
call fcn.100d4190
mov ecx, dword [edi + 0x98]
mov esi, eax
push esi
push dword [edi + 0x9c]
call ecx
push esi
push edi
call fcn.100b36a0
mov esi, dword [ebp - 0xd8]
add esp, 0x18
jmp 0x100cdeb7
mov ebx, dword [ebp - 0xd0]
mov edi, edx
jmp 0x100cdeb7
mov edi, eax
jmp 0x100cdeb7
mov dword [ebp - 0xcc], 9
mov eax, 9
jmp 0x100d3aa4
mov ecx, dword [esi + edi*4 + 4]
mov ebx, dword [ebp - 0xd4]
mov dword [edx + 0x5c], ecx
mov al, byte [esi + edi*4 + 8]
mov byte [edx + 0x60], al
mov edx, dword [ebp - 0xd0]
mov dword [ebx + 0x58], edx
mov eax, dword [esi + edi*4 + 0x10]
test eax, eax
je 0x100d394f
push eax
push 0x101794b4
push dword [ebp - 0xc8]
lea eax, [ebx + 0x38]
push eax
call fcn.100c8200
push dword [esi + edi*4 + 0x10]
push dword [ebx + 0xa0]
push dword [ebp - 0xd0]
push str.abort_at__d_in___s_:__s
push dword [esi + edi*4 + 4]
call fcn.100877d0
add esp, 0x24
jmp 0x100d396b
test ecx, ecx
je 0x100d396b
push dword [ebx + 0xa0]
push edx
push str.constraint_failed_at__d_in___s_
push dword [esi + edi*4 + 4]
call fcn.100877d0
add esp, 0x10
push ebx
call fcn.100d4710
add esp, 4
cmp eax, 5
je 0x100d3b81
cmp dword [ebx + 0x5c], 0
mov esi, 0x65
mov eax, 1
cmovne esi, eax
jmp 0x100d3b0f
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xe0]
mov eax, dword [ecx + 0x54]
add eax, 2
or eax, 1
mov dword [ecx + 0x54], eax
mov eax, dword [esi + edi*4 + 4]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov dword [ecx + 0x14], edx
xor ecx, ecx
mov dword [ebp - 0xc4], edx
mov dword [ebp - 0xc0], ecx
cmp dword [esi + edi*4 + 8], ecx
jle 0x100d3a3d
mov ebx, 0x1000
lea eax, [ecx + ecx*4]
test word [edx + eax*8 + 0x1c], bx
lea eax, [edx + eax*8]
je 0x100d39fb
push eax
call fcn.100d59e0
add esp, 4
test eax, eax
jne 0x100d3a72
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xc4]
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*8]
push eax
call fcn.100d5ab0
mov eax, dword [ebp - 0xc0]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xc4]
lea eax, [eax + ecx*8]
push eax
call fcn.100d60f0
mov ecx, dword [ebp - 0xc0]
add esp, 8
inc ecx
mov dword [ebp - 0xc0], ecx
cmp ecx, dword [esi + edi*4 + 8]
jge 0x100d3a3d
mov edx, dword [ebp - 0xc4]
jmp 0x100d39d1
mov edi, dword [ebp - 0xc8]
cmp byte [edi + 0x1e], 0
jne 0x100d3a78
mov ebx, dword [ebp - 0xd4]
mov esi, 0x64
mov eax, dword [ebp - 0xd0]
inc eax
mov dword [ebx + 0x58], eax
jmp 0x100d3b0f
lea eax, [ebp - 0xb4]
push eax
call fcn.100d5c00
add esp, 4
mov edi, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xd4]
push str.out_of_memory
add eax, 0x38
mov byte [edi + 0x1e], 1
push edi
push eax
call fcn.100c8200
add esp, 0xc
mov dword [ebp - 0xcc], 7
mov eax, dword [ebp - 0xcc]
mov edi, dword [ebp - 0xd0]
mov ebx, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xd4]
push dword [ecx + 0x38]
mov dword [ecx + 0x5c], eax
push dword [ecx + 0xa0]
push edi
push str.statement_aborts_at__d:___s___s
push eax
call fcn.100877d0
push dword [ebp - 0xd4]
call fcn.100d4710
add esp, 0x18
cmp dword [ebp - 0xcc], 0xc0a
jne 0x100d3aec
mov byte [ebx + 0x1e], 1
mov al, byte [ebp - 0xf1]
mov esi, 1
test al, al
je 0x100d3b09
movzx eax, al
dec eax
push eax
push ebx
call fcn.100c5400
add esp, 8
mov ebx, dword [ebp - 0xd4]
push ebx
call fcn.100d4d50
mov ecx, dword [ebp - 4]
add esp, 4
mov eax, esi
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.1011a3e5
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 0xc8]
mov ebx, 0x14
mov dword [ebp - 0xcc], ebx
jmp 0x100d3c40
mov eax, dword [ebp - 0xd4]
push str.cannot_open_savepoint___SQL_statements_in_progress
add eax, 0x38
push edi
push eax
call fcn.100c8200
mov edi, dword [ebp - 0xd0]
add esp, 0xc
mov dword [ebp - 0xcc], 5
inc edi
mov eax, 5
jmp 0x100d3aaa
mov eax, dword [ebp - 0xd0]
mov dword [ebx + 0x58], eax
mov byte [edi + 0x1c], 0
mov esi, 5
mov dword [ebx + 0x5c], esi
jmp 0x100d3b0f
mov eax, dword [ebp - 0xd4]
mov ebx, dword [ebp - 0xc8]
add eax, 0x38
push str.no_such_savepoint:__s
push ebx
push eax
call fcn.100c8200
mov edi, dword [ebp - 0xd0]
mov eax, 1
add esp, 0x10
mov dword [ebp - 0xcc], eax
inc edi
jmp 0x100d3ab0
mov ebx, dword [ebp - 0xd4]
mov esi, 5
mov eax, dword [ebp - 0xd0]
mov dword [ebx + 0x58], eax
mov dword [ebx + 0x5c], esi
jmp 0x100d3b0f
push 0x10030
call fcn.100b2680
mov edi, dword [ebp - 0xc8]
mov ebx, eax
add esp, 4
mov dword [ebp - 0xcc], ebx
jmp 0x100d3c40
mov edi, dword [ebp - 0xd0]
mov eax, 4
mov dword [ebp - 0xcc], 4
inc edi
jmp 0x100d3aaa
mov edi, dword [ebp - 0xc8]
mov ebx, 0xd
mov dword [ebp - 0xcc], ebx
jmp 0x100d3c40
mov ebx, 0xd
mov dword [ebp - 0xcc], ebx
jmp 0x100d3c40
mov edi, dword [ebp - 0xc8]
mov ebx, dword [ebp - 0xcc]
cmp byte [edi + 0x1e], 0
je 0x100d3c53
mov ebx, 7
mov dword [ebp - 0xcc], ebx
jmp 0x100d3c5f
cmp ebx, 0xc0a
je 0x100d3a9e
push ebx
call fcn.100b5080
push eax
mov eax, dword [ebp - 0xd4]
push 0x101794b4
add eax, 0x38
push edi
push eax
call fcn.100c8200
add esp, 0x14
jmp 0x100d3a9e
mov eax, dword [ebp - 0xd4]
mov ebx, edx
mov edi, dword [ebp - 0xd0]
mov dword [ebp - 0xcc], 6
inc edi
mov byte [eax + 0x60], 2
mov eax, 6
jmp 0x100d3ab0
push str.too_many_levels_of_trigger_recursion
lea eax, [ecx + 0x38]
mov dword [ebp - 0xcc], 1
push edi
push eax
call fcn.100c8200
mov edi, dword [ebp - 0xd0]
add esp, 0xc
inc edi
mov eax, 1
jmp 0x100d3aaa
mov ebx, dword [ebp - 0xc8]
cmp edx, 5
mov ecx, str.out_of
mov dword [ebp - 0xcc], 1
mov eax, str.into
cmovne eax, ecx
push eax
mov eax, dword [ebp - 0xd4]
push str.cannot_change__s_wal_mode_from_within_a_transaction
add eax, 0x38
push ebx
push eax
call fcn.100c8200
mov edi, dword [ebp - 0xd0]
add esp, 0x10
inc edi
mov eax, 1
jmp 0x100d3ab0
mov edi, eax
jmp 0x100d3d2f
mov edi, ecx
jmp 0x100d3d2f
mov edi, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xd4]
push str.string_or_blob_too_big
add eax, 0x38
push edi
push eax
call fcn.100c8200
add esp, 0xc
mov dword [ebp - 0xcc], 0x12
mov eax, 0x12
jmp 0x100d3aa4
mov edx, dword [esi + edi*4 + 4]
mov ebx, dword [ebp - 0xc8]
mov dword [ebp - 0xc4], edx
mov ecx, dword [esi + edi*4 + 8]
mov dword [ebp - 0xc0], ecx
test edx, edx
je 0x100d3dd5
cmp byte [ebx + 0x1c], 0
jne 0x100d3dd5
mov dword [ebp - 0xbc], 1
test ecx, ecx
je 0x100d3dc5
cmp dword [ebx + 0x8c], 1
jle 0x100d3ddf
push str.cannot_rollback_transaction___SQL_statements_in_progress
mov eax, dword [ebp - 0xd4]
add eax, 0x38
push ebx
push eax
call fcn.100c8200
mov edi, dword [ebp - 0xd0]
mov eax, 5
add esp, 0xc
mov dword [ebp - 0xcc], eax
inc edi
jmp 0x100d3ab0
cmp dword [ebx + 0x90], 0
jle 0x100d3ddf
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x100d3d9b
mov dword [ebp - 0xbc], 0
movzx eax, byte [ebx + 0x1c]
cmp edx, eax
jne 0x100d3e2c
test edx, edx
jne 0x100d3df2
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x100d3e01
test ecx, ecx
mov eax, str.cannot_rollback___no_transaction_is_active
mov edx, str.cannot_commit___no_transaction_is_active
cmove eax, edx
push eax
mov eax, dword [ebp - 0xd4]
add eax, 0x38
push ebx
push eax
call fcn.100c8200
mov edi, dword [ebp - 0xd0]
mov eax, 1
add esp, 0xc
mov dword [ebp - 0xcc], eax
inc edi
jmp 0x100d3ab0
test ecx, ecx
je 0x100d3e62
push ebx
call fcn.100c5810
add esp, 4
mov byte [ebx + 0x1c], 1
push ebx
call fcn.100b16d0
mov ebx, dword [ebp - 0xd4]
add esp, 4
mov esi, 1
mov eax, 0x65
cmp dword [ebx + 0x5c], 0
cmove esi, eax
jmp 0x100d3b0f
mov edi, dword [ebp - 0xd4]
push 1
push edi
call fcn.100cd570
mov esi, eax
add esp, 8
test esi, esi
jne 0x100d3f0d
mov al, byte [ebp - 0xc4]
push edi
mov byte [ebx + 0x1c], al
call fcn.100d4710
add esp, 4
cmp eax, 5
jne 0x100d3e3d
mov eax, dword [ebp - 0xd0]
mov esi, 5
mov dword [edi + 0x58], eax
mov al, 1
sub al, byte [ebp - 0xc4]
mov byte [ebx + 0x1c], al
mov ebx, edi
mov dword [ebx + 0x5c], esi
jmp 0x100d3b0f
mov edi, ecx
jmp 0x100d3ebd
mov edi, eax
mov ecx, dword [ebp - 0xd4]
mov eax, dword [str.interrupted]
test eax, eax
mov dword [ecx + 0x5c], 9
mov ecx, str.unknown_error
cmovne ecx, eax
mov dword [ebp - 0xcc], 9
mov eax, dword [ebp - 0xd4]
push ecx
push 0x101794b4
add eax, 0x38
push edi
push eax
call fcn.100c8200
add esp, 0x10
mov eax, 9
jmp 0x100d3aa4
mov edi, eax
jmp 0x100d3a78
mov ebx, edi
jmp 0x100d3b0f