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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xdc
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0xd8], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ecx + 8]
mov dword [esp + 0x40], eax
mov eax, dword [ecx]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x34], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x38], esi
push edi
mov edi, edx
mov dword [esp + 0x24], edi
test esi, esi
je 0x10097f8f
mov dword [esp + 0x98], esi
jmp 0x10097fbc
cmp dword [ecx + 0x80], 0
jne 0x10097fa2
test byte [eax + 0x50], 8
jne 0x10097fa2
mov byte [ecx + 0x17], 1
call fcn.1004fb00
mov esi, eax
mov dword [esp + 0x3c], esi
mov dword [esp + 0x98], esi
test esi, esi
je 0x1009887a
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x10097fdb
push 0
push 1
push 1
mov edx, 0xa6
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
jmp 0x1009800e
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xa6
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0x2c], 2
cmp dword [ebx + 4], 0
mov eax, dword [ecx]
jbe 0x10098097
cmp byte [eax + 0xb1], 0
je 0x1009804d
push str.corrupt_database
push ecx
call fcn.1002b880
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xd8]
xor ecx, esp
call fcn.1013942d
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x24]
mov ecx, eax
mov edi, ebx
call fcn.1007c8e0
mov ebx, eax
test ebx, ebx
jns 0x1009808a
push dword [esp + 0x24]
push str.unknown_database__T
push dword [esp + 0x24]
call fcn.1002b880
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xd8]
xor ecx, esp
call fcn.1013942d
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x84], eax
jmp 0x100980a5
movzx ebx, byte [eax + 0xb0]
mov dword [esp + 0x84], ebx
mov edx, dword [esp + 0x10]
mov eax, ebx
shl eax, 4
add eax, dword [edx + 0x10]
mov dword [esp + 0x4c], eax
cmp ebx, 1
jne 0x100980cb
call fcn.10084900
test eax, eax
jne 0x1009887a
mov edx, dword [esp + 0x10]
test edi, edi
je 0x1009887a
mov ecx, dword [edi]
mov eax, dword [edi + 4]
mov dword [esp + 0x24], eax
mov dword [esp + 0x2c], ecx
test ecx, ecx
je 0x1009811a
mov ecx, eax
xor eax, eax
add ecx, 1
adc eax, eax
push eax
push ecx
mov ecx, edx
call fcn.10028280
mov edi, eax
add esp, 8
test edi, edi
je 0x1009811c
push dword [esp + 0x24]
push dword [esp + 0x30]
push edi
call fcn.1013c1a0
mov eax, dword [esp + 0x30]
add esp, 0xc
mov byte [edi + eax], 0
jmp 0x1009811c
xor edi, edi
mov ecx, edi
call fcn.1002b910
test edi, edi
je 0x1009887a
cmp dword [ebp + 0x10], 0
je 0x1009814a
push dword [esp + 0x44]
push 0x1016d34c
push dword [esp + 0x18]
call fcn.1002a740
add esp, 0xc
mov ecx, eax
jmp 0x100981c1
mov eax, dword [esp + 0x44]
test eax, eax
je 0x100981bf
mov ecx, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x2c], eax
test eax, eax
je 0x100981ac
xor eax, eax
add ecx, 1
adc eax, eax
push eax
push ecx
mov ecx, dword [esp + 0x18]
call fcn.10028280
add esp, 8
mov dword [esp + 0x20], eax
test eax, eax
je 0x100981b2
push dword [esp + 0x24]
push dword [esp + 0x30]
push eax
call fcn.1013c1a0
mov edx, dword [esp + 0x2c]
add esp, 0xc
mov eax, dword [esp + 0x24]
mov byte [edx + eax], 0
mov eax, edx
mov ecx, eax
call fcn.1002b910
mov ecx, dword [esp + 0x20]
jmp 0x100981c5
xor eax, eax
mov dword [esp + 0x20], eax
mov ecx, eax
call fcn.1002b910
mov ecx, dword [esp + 0x20]
jmp 0x100981c5
xor ecx, ecx
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x38]
cmp dword [eax + 4], 0
jbe 0x100981d7
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
jmp 0x100981d9
xor eax, eax
push eax
push ecx
mov ecx, dword [esp + 0x24]
mov edx, 0x13
push edi
mov dword [esp + 0x4c], eax
mov dword [esp + 0x20], edi
call fcn.1007b010
add esp, 0xc
test eax, eax
jne 0x1009885c
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0xd8], edi
mov dword [esp + 0xe0], 0
mov dword [esp + 0x18], 1
mov dword [eax + 0x1c8], 0
mov eax, dword [eax + 0xc]
test eax, eax
je 0x10098248
push eax
call dword [0x10178a88]
add esp, 4
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x10]
call fcn.100de350
mov ecx, eax
mov dword [esp + 0x24], ecx
test ecx, ecx
je 0x100982d7
cmp byte [ecx + 9], 0
je 0x10098277
inc dword [ecx + 0xc]
cmp byte [ecx + 0xa], 0
jne 0x10098277
call fcn.1003fd90
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 4]
mov edx, dword [esp + 0x10]
mov eax, dword [eax]
mov edx, dword [edx + 0x1c8]
mov dword [esp + 0x2c], edx
mov eax, dword [eax + 0x40]
mov edx, dword [eax]
test edx, edx
jne 0x1009829d
mov dword [esp + 0x18], 0xc
jmp 0x100982b8
lea ecx, [esp + 0xd4]
push ecx
push 0xe
push eax
mov eax, dword [edx + 0x28]
call eax
mov ecx, dword [esp + 0x30]
add esp, 0xc
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x2c]
mov dword [edx + 0x1c8], eax
cmp byte [ecx + 9], 0
je 0x100982d7
add dword [ecx + 0xc], 0xffffffff
jne 0x100982d7
call fcn.1003fd70
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100982ec
push eax
call dword [0x10178a90]
add esp, 4
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x10098407
lea edx, [eax + 1]
mov ecx, esi
call fcn.10051da0
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
jne 0x10098324
mov edx, dword [esp + 0xd4]
mov ecx, dword [esi + 0x74]
push 0xffffffffffffffff
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.1004ef10
add esp, 0x10
mov ebx, dword [esp + 0xd4]
test ebx, ebx
je 0x10098400
push ebx
mov edx, 1
mov ecx, esi
call fcn.1004fe80
mov ecx, dword [esi + 0x6c]
add esp, 4
cmp dword [esi + 0x70], ecx
jg 0x10098362
push 0
push 1
push 1
mov edx, 0x54
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
jmp 0x10098395
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ebx, dword [esp + 0xd4]
test ebx, ebx
je 0x10098400
cmp dword [0x10178a38], 0
je 0x100983f6
mov eax, dword [0x1017bbe8]
test eax, eax
je 0x100983bc
push eax
call dword [0x10178a88]
add esp, 4
push ebx
call dword [0x10178a64]
sub dword [0x1017ba70], eax
add esp, 4
dec dword [0x1017ba94]
push ebx
call dword [0x10178a5c]
mov eax, dword [0x1017bbe8]
add esp, 4
test eax, eax
je 0x10098400
push eax
call dword [0x10178a90]
add esp, 4
mov edx, edi
jmp 0x10098860
push ebx
call dword [0x10178a5c]
add esp, 4
mov edx, edi
jmp 0x10098860
cmp eax, 0xc
je 0x100984a5
mov eax, dword [esp + 0xd4]
test eax, eax
je 0x10098490
push eax
push 0x10169758
push dword [esp + 0x24]
call fcn.1002b880
mov esi, dword [esp + 0xe0]
add esp, 0xc
test esi, esi
je 0x10098490
cmp dword [0x10178a38], 0
je 0x10098486
mov eax, dword [0x1017bbe8]
test eax, eax
je 0x10098454
push eax
call dword [0x10178a88]
add esp, 4
push esi
call dword [0x10178a64]
sub dword [0x1017ba70], eax
add esp, 4
dec dword [0x1017ba94]
push esi
call dword [0x10178a5c]
mov eax, dword [0x1017bbe8]
add esp, 4
test eax, eax
je 0x10098490
push eax
call dword [0x10178a90]
jmp 0x1009848d
push esi
call dword [0x10178a5c]
add esp, 4
mov eax, dword [esp + 0x1c]
mov edx, edi
mov ebx, dword [esp + 0x18]
inc dword [eax + 0x24]
mov dword [eax + 0xc], ebx
jmp 0x10098860
mov ecx, edi
call fcn.10097d00
mov ecx, eax
mov edx, edi
mov dword [esp + 0x50], ecx
test ecx, ecx
je 0x10098860
test byte [ecx + 5], 1
je 0x100984db
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x14], edi
call fcn.1009f780
test eax, eax
jne 0x1009885c
mov ecx, dword [esp + 0x50]
mov al, byte [ecx + 5]
test al, 2
jne 0x100984fb
test al, 4
je 0x100984ee
mov edx, dword [esp + 0x20]
test edx, edx
jne 0x100984ff
mov edx, ecx
mov ecx, esi
call fcn.10097b30
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x20]
movzx eax, byte [ecx + 4]
dec eax
cmp eax, 0x2a
ja case.0x1009850d.5
jmp dword [eax*4 + 0x1009e39c]
mov eax, dword [esi + 0x9c]
bts eax, ebx
mov dword [esi + 0x9c], eax
cmp ebx, 1
je 0x1009854a
mov eax, dword [esi]
mov ecx, ebx
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8 + 4]
cmp byte [eax + 9], 0
je 0x1009854a
mov eax, dword [esi + 0xa0]
bts eax, ebx
mov dword [esi + 0xa0], eax
test edx, edx
jne 0x1009857f
mov ecx, dword [esp + 0x1c]
mov edx, 9
push ecx
push 0x1016028c
add dword [ecx + 0x2c], 2
mov ecx, esi
call fcn.100508b0
add esp, 8
mov edx, edi
mov dword [eax + 4], ebx
mov dword [eax + 0x18], ebx
mov dword [eax + 0x7c], 0xfffff830
jmp 0x10098860
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x24]
mov dword [esp + 0x24], 0
call fcn.1002ce50
mov edx, dword [esp + 0x24]
mov dword [esp + 0x18], edx
test edx, edx
jns 0x100985b8
cmp edx, 0x80000000
jne 0x100985b2
mov dword [esp + 0x18], 0x7fffffff
jmp 0x100985b8
neg edx
mov dword [esp + 0x18], edx
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 0x80]
test eax, eax
cmovne ecx, eax
mov eax, 1
mov dword [esp + 0x1c], ecx
mov edx, dword [ecx + 0x5c]
mov ecx, ebx
shl eax, cl
mov ecx, dword [esp + 0x1c]
test edx, eax
jne 0x100985f3
bts edx, ebx
mov dword [ecx + 0x5c], edx
cmp ebx, 1
jne 0x100985f3
call fcn.10084900
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 0x58]
bts eax, ebx
mov dword [ecx + 0x58], eax
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x10098620
push dword [esp + 0x18]
mov edx, 0x64
mov ecx, esi
push 3
push ebx
call fcn.1004fd40
mov edx, dword [esp + 0x24]
add esp, 0xc
jmp 0x1009864f
mov edx, dword [esp + 0x18]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x64
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx + 0xc]
mov dword [eax + 0x50], edx
mov edx, dword [ecx + 0xc]
mov ecx, dword [ecx + 4]
mov edx, dword [edx + 0x50]
call fcn.10042a20
mov edx, edi
jmp 0x10098860
mov eax, dword [esp + 0x4c]
mov ebx, dword [eax + 4]
test edx, edx
jne 0x100986ad
test ebx, ebx
je 0x10098697
mov eax, dword [ebx + 4]
mov ecx, esi
mov eax, dword [eax + 0x24]
cdq
push edx
push eax
call fcn.10097bc0
add esp, 8
mov edx, edi
jmp 0x10098860
xor eax, eax
mov ecx, esi
cdq
push edx
push eax
call fcn.10097bc0
add esp, 8
mov edx, edi
jmp 0x10098860
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x24]
mov dword [esp + 0x24], 0
call fcn.1002ce50
mov esi, dword [esp + 0x10]
mov ecx, ebx
mov edx, dword [esp + 0x24]
push 0
push 0
mov dword [esi + 0x64], edx
call fcn.10042bb0
add esp, 8
cmp eax, 7
jne 0x10098400
mov ecx, esi
call fcn.10028550
mov edx, edi
jmp 0x10098860
mov eax, dword [esp + 0x4c]
or ecx, 0xffffffff
mov dword [esp + 0x18], ecx
mov ebx, dword [eax + 4]
mov dword [esp + 0x2c], ebx
test edx, edx
je 0x1009873d
mov ecx, dword [esp + 0x20]
mov edx, str.fast
call fcn.1002ba20
test eax, eax
jne 0x1009871f
lea ecx, [eax + 2]
jmp 0x10098739
mov ecx, dword [esp + 0x20]
mov edx, 1
push 0
call fcn.10097a40
xor ecx, ecx
add esp, 4
test al, al
setne cl
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x38]
mov dword [esp + 0x14], edi
cmp dword [eax + 4], 0
jne 0x100987ef
mov dword [esp + 0x14], edi
test ecx, ecx
js 0x100987ef
mov eax, dword [esp + 0x10]
xor edx, edx
mov dword [esp + 0x30], edx
mov dword [esp + 0x14], edi
cmp dword [eax + 0x14], edx
jle 0x100987ef
mov ebx, dword [esp + 0x18]
xor esi, esi
mov dword [esp + 0x14], edi
nop dword [eax]
mov eax, dword [eax + 0x10]
mov edi, dword [esi + eax + 4]
test edi, edi
je 0x100987d6
cmp byte [edi + 9], 0
je 0x100987a5
inc dword [edi + 0xc]
cmp byte [edi + 0xa], 0
jne 0x100987a5
mov ecx, edi
call fcn.1003fd90
mov edx, dword [esp + 0x30]
mov eax, dword [edi + 4]
mov ecx, 0xfff3
and word [eax + 0x18], cx
lea eax, [ebx*4]
mov ecx, dword [edi + 4]
or word [ecx + 0x18], ax
cmp byte [edi + 9], 0
je 0x100987d6
add dword [edi + 0xc], 0xffffffff
jne 0x100987d6
mov ecx, edi
call fcn.1003fd70
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x10]
inc edx
add esi, 0x10
mov dword [esp + 0x30], edx
cmp edx, dword [eax + 0x14]
jl 0x10098780
mov esi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x2c]
test ebx, ebx
jne 0x100987f7
xor edi, edi
jmp 0x1009884f
cmp byte [ebx + 9], 0
je 0x1009880d
inc dword [ebx + 0xc]
cmp byte [ebx + 0xa], 0
jne 0x1009880d
mov ecx, ebx
call fcn.1003fd90
mov edx, dword [esp + 0x18]
test edx, edx
js 0x1009882f
mov eax, dword [ebx + 4]
mov ecx, 0xfff3
and word [eax + 0x18], cx
lea eax, [edx*4]
mov ecx, dword [ebx + 4]
or word [ecx + 0x18], ax
mov eax, dword [ebx + 4]
movzx edi, word [eax + 0x18]
shr edi, 2
and edi, 3
cmp byte [ebx + 9], 0
je 0x1009884f
add dword [ebx + 0xc], 0xffffffff
jne 0x1009884f
mov ecx, ebx
call fcn.1003fd70
push 0
push edi
mov ecx, esi
call fcn.10097bc0
add esp, 8
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
call fcn.10027de0
mov edx, dword [esp + 0x20]
test edx, edx
je 0x1009887a
mov ecx, dword [esp + 0x10]
call fcn.10027de0
mov ecx, dword [esp + 0xe4]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1013942d
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x1c]
xorps xmm0, xmm0
mov edx, ecx
movlpd qword [esp + 0x70], xmm0
mov eax, dword [ecx + 0x80]
test eax, eax
mov ecx, ebx
cmovne edx, eax
mov eax, 1
shl eax, cl
mov ecx, dword [edx + 0x5c]
test ecx, eax
jne 0x100988cb
bts ecx, ebx
mov dword [edx + 0x5c], ecx
cmp ebx, 1
jne 0x100988cb
mov ecx, edx
call fcn.10084900
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 0x2c]
inc edx
mov dword [ecx + 0x2c], edx
movzx eax, byte [edi]
mov dword [esp + 0x18], edx
cmp byte [eax + 0x10162840], 0x70
jne 0x10098932
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x1009890a
push 0
push edx
push ebx
mov edx, 0xb2
mov ecx, esi
call fcn.1004fd40
mov edx, dword [esp + 0x24]
add esp, 0xc
jmp 0x100989d6
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xb2
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
jmp 0x100989ca
mov eax, dword [esp + 0x20]
test eax, eax
je 0x10098975
lea edx, [esp + 0x70]
mov ecx, eax
call fcn.1002cd40
test eax, eax
jne 0x10098975
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x70]
test eax, eax
jg 0x10098966
jl 0x10098975
test edx, edx
jb 0x10098975
test eax, eax
jl 0x10098982
jg 0x10098966
cmp edx, 0xfffffffe
jbe 0x10098982
mov edx, 0xfffffffe
mov dword [esp + 0x74], 0
jmp 0x10098982
xorps xmm0, xmm0
movlpd qword [esp + 0x70], xmm0
mov edx, dword [esp + 0x70]
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x100989a5
push edx
push dword [esp + 0x1c]
mov edx, 0xb3
mov ecx, esi
push ebx
call fcn.1004fd40
mov edx, dword [esp + 0x24]
add esp, 0xc
jmp 0x100989d6
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xb3
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x18]
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], edx
mov edx, ebx
mov esi, dword [esp + 0x3c]
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x100989f9
push 0
push 1
push edx
mov edx, 0x54
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
mov edx, edi
jmp 0x10098860
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], edx
mov edx, edi
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x10098860
mov dword [esp + 0x14], edi
test edx, edx
je 0x10098aa6
mov ebx, str.exclusive
mov dword [esp + 0x14], edi
sub ebx, dword [esp + 0x20]
movzx ecx, byte [edx]
movzx eax, byte [ebx + edx]
cmp ecx, eax
jne 0x10098a5a
test ecx, ecx
jne 0x10098a6c
mov ecx, 1
jmp 0x10098aa9
movzx eax, byte [eax + 0x10162840]
movzx ecx, byte [ecx + 0x10162840]
sub ecx, eax
jne 0x10098a6f
inc edx
jmp 0x10098a44
mov edx, dword [esp + 0x20]
mov edi, str.normal
sub edi, edx
nop word [eax + eax]
movzx ecx, byte [edx]
movzx eax, byte [edi + edx]
cmp ecx, eax
jne 0x10098a91
test ecx, ecx
jne 0x10098aa3
jmp 0x10098aa9
movzx eax, byte [eax + 0x10162840]
movzx ecx, byte [ecx + 0x10162840]
sub ecx, eax
jne 0x10098aa6
inc edx
jmp 0x10098a80
or ecx, 0xffffffff
mov eax, dword [esp + 0x38]
cmp dword [eax + 4], 0
jne 0x10098b14
mov eax, dword [esp + 0x10]
cmp ecx, 0xffffffff
jne 0x10098ac4
mov cl, byte [eax + 0x59]
jmp 0x10098b48
mov edx, 2
cmp dword [eax + 0x14], edx
jle 0x10098b11
mov edi, 0x20
mov eax, dword [eax + 0x10]
mov eax, dword [edi + eax + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax]
test ecx, ecx
js 0x10098b04
cmp byte [eax + 0xc], 0
jne 0x10098b04
mov ebx, dword [eax + 0xe8]
test ebx, ebx
je 0x10098af9
cmp byte [ebx + 0x2b], 2
je 0x10098b04
mov byte [eax + 4], cl
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
inc edx
add edi, 0x10
cmp edx, dword [eax + 0x14]
jl 0x10098ad3
mov byte [eax + 0x59], cl
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax]
test ecx, ecx
js 0x10098b45
cmp byte [eax + 0xc], 0
jne 0x10098b45
mov edx, dword [eax + 0xe8]
test edx, edx
je 0x10098b3a
cmp byte [edx + 0x2b], 2
je 0x10098b45
mov byte [eax + 4], cl
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x14], ecx
mov cl, byte [eax + 4]
cmp cl, 1
mov edx, str.exclusive
mov eax, str.normal
mov ecx, esi
cmove eax, edx
mov edx, 1
push eax
call fcn.1004fe80
add esp, 4
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x10098b8a
push 0
push 1
push 1
mov edx, 0x54
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
jmp 0x1009885c
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x1009885c
test edx, edx
jne 0x10098bf2
mov dword [esp + 0x14], edi
or ebx, 0xffffffff
mov ecx, dword [esp + 0x38]
cmp dword [ecx + 4], 0
jne 0x10098c9f
mov dword [esp + 0x84], 0
mov dword [ecx + 4], 1
jmp 0x10098c9f
mov ecx, edx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10098bf7
sub ecx, edx
mov dword [esp + 0x14], edi
and ecx, 0x3fffffff
xor eax, eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], eax
cmp eax, 6
je 0x10098bca
mov edi, dword [eax*4 + 0x101611fc]
test edi, edi
je 0x10098bca
mov ebx, dword [esp + 0x20]
mov edx, ecx
test ecx, ecx
je 0x10098c51
nop
mov al, byte [ebx]
dec edx
test al, al
je 0x10098c52
movzx ecx, byte [edi]
movzx eax, al
mov al, byte [eax + 0x10162840]
cmp al, byte [ecx + 0x10162840]
jne 0x10098c52
inc ebx
inc edi
test edx, edx
jg 0x10098c30
dec edx
test edx, edx
js 0x10098c79
movzx eax, byte [edi]
movzx ecx, byte [eax + 0x10162840]
movzx eax, byte [ebx]
movzx eax, byte [eax + 0x10162840]
sub eax, ecx
je 0x10098c79
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
inc eax
jmp 0x10098c10
mov ebx, dword [esp + 0x30]
cmp ebx, 2
jne 0x10098d30
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
and eax, 0x10000000
or eax, 0
jne 0x10098bca
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x14]
sub edi, 1
js 0x10098b68
mov edx, edi
shl edx, 4
mov dword [esp + 0x30], edx
nop dword [eax + eax]
mov eax, dword [eax + 0x10]
cmp dword [edx + eax + 4], 0
je 0x10098d6d
cmp edi, dword [esp + 0x84]
je 0x10098ce1
cmp dword [ecx + 4], 0
jne 0x10098d6d
mov eax, dword [esi + 0x9c]
bts eax, edi
mov dword [esi + 0x9c], eax
cmp edi, 1
je 0x10098d13
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + edx + 4]
cmp byte [eax + 9], 0
je 0x10098d13
mov eax, dword [esi + 0xa0]
bts eax, edi
mov dword [esi + 0xa0], eax
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x10098d3e
push ebx
push 1
push edi
mov edx, 4
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
jmp 0x10098d69
cmp ebx, 0xffffffff
jne 0x10098c9b
jmp 0x10098bcd
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 4
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x38]
sub edx, 0x10
sub edi, 1
mov eax, dword [esp + 0x10]
mov dword [esp + 0x30], edx
jns 0x10098cc0
jmp 0x10098b68
mov eax, dword [esp + 0x4c]
or ecx, 0xffffffff
mov dword [esp + 0x74], ecx
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov ebx, dword [eax]
mov eax, 0xfffffffe
mov dword [esp + 0x70], eax
test edx, edx
je 0x10098dd6
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x70]
call fcn.1002cd40
mov ecx, dword [esp + 0x74]
cmp ecx, 0xffffffff
jg 0x10098dd2
jl 0x10098dcb
mov eax, dword [esp + 0x70]
cmp eax, 0xffffffff
jae 0x10098dd6
or eax, 0xffffffff
or ecx, eax
jmp 0x10098dd6
mov eax, dword [esp + 0x70]
cmp ecx, 0xffffffff
jl 0x10098dfe
jg 0x10098de2
cmp eax, 0xffffffff
jb 0x10098dfe
mov dword [ebx + 0xb0], eax
mov dword [ebx + 0xb4], ecx
mov edx, dword [ebx + 0xe8]
test edx, edx
je 0x10098dfe
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ecx
push dword [ebx + 0xb4]
mov ecx, esi
push dword [ebx + 0xb0]
call fcn.10097bc0
add esp, 8
mov edx, edi
jmp 0x10098860
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 4]
mov dword [esp + 0x44], eax
test edx, edx
jne 0x10098e7a
cmp byte [eax + 9], dl
je 0x10098e42
inc dword [eax + 0xc]
cmp byte [eax + 0xa], dl
jne 0x10098e42
mov ecx, eax
call fcn.1003fd90
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 4]
xor ebx, ebx
cmp byte [ecx + 0x11], bl
je 0x10098e53
cmp byte [ecx + 0x12], bl
setne bl
inc ebx
cmp byte [eax + 9], 0
je 0x10098e66
add dword [eax + 0xc], 0xffffffff
jne 0x10098e66
mov ecx, eax
call fcn.1003fd70
push 0
push ebx
mov ecx, esi
call fcn.10097bc0
add esp, 8
mov edx, edi
jmp 0x10098871
mov eax, str.none
mov dword [esp + 0x14], edi
sub eax, dword [esp + 0x20]
mov dword [esp + 0x2c], eax
nop dword [eax + eax]
movzx ecx, byte [edx]
movzx eax, byte [eax + edx]
cmp ecx, eax
jne 0x10098ea6
test ecx, ecx
jne 0x10098eb8
xor eax, eax
jmp 0x10098f54
movzx eax, byte [eax + 0x10162840]
movzx ecx, byte [ecx + 0x10162840]
sub ecx, eax
jne 0x10098ebf
mov eax, dword [esp + 0x2c]
inc edx
jmp 0x10098e90
mov edx, dword [esp + 0x20]
mov edi, str.full
sub edi, edx
nop word [eax + eax]
movzx ecx, byte [edx]
movzx eax, byte [edi + edx]
cmp ecx, eax
jne 0x10098ee4
test ecx, ecx
jne 0x10098ef6
lea eax, [ecx + 1]
jmp 0x10098f54
movzx eax, byte [eax + 0x10162840]
movzx ecx, byte [ecx + 0x10162840]
sub ecx, eax
jne 0x10098ef9
inc edx
jmp 0x10098ed0
mov edx, dword [esp + 0x20]
mov edi, str.incremental
sub edi, edx
movzx ecx, byte [edx]
movzx eax, byte [edi + edx]
cmp ecx, eax
jne 0x10098f18
test ecx, ecx
jne 0x10098f2a
lea eax, [ecx + 2]
jmp 0x10098f54
movzx eax, byte [eax + 0x10162840]
movzx ecx, byte [ecx + 0x10162840]
sub ecx, eax
jne 0x10098f2d
inc edx
jmp 0x10098f04
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x24]
mov dword [esp + 0x24], 0
call fcn.1002ce50
mov eax, dword [esp + 0x24]
xor edx, edx
cmp eax, 2
movzx ecx, al
cmova ecx, edx
movzx eax, cl
mov ecx, dword [esp + 0x10]
mov edx, eax
mov dword [esp + 0x18], eax
mov byte [ecx + 0x5a], al
mov ecx, dword [esp + 0x44]
call fcn.10042cf0
test eax, eax
jne 0x1009885c
mov eax, dword [esp + 0x18]
cmp eax, 1
je 0x10098f84
cmp eax, 2
jne 0x1009885c
mov edi, dword [esi + 0x6c]
mov edx, 5
push ecx
push 0x101621f0
mov ecx, esi
call fcn.100508b0
lea ecx, [edi + 4]
add esp, 8
mov dword [eax + 4], ebx
mov dword [eax + 0x18], ebx
mov dword [eax + 0x30], ecx
mov ecx, dword [esp + 0x18]
mov dword [eax + 0x54], ebx
dec ecx
mov dword [eax + 0x5c], ecx
mov eax, dword [esi + 0x9c]
bts eax, ebx
mov dword [esi + 0x9c], eax
cmp ebx, 1
je 0x1009885c
mov eax, dword [esi]
mov ecx, ebx
mov edx, dword [esp + 0x14]
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8 + 4]
cmp byte [eax + 9], 0
je 0x10098860
mov eax, dword [esi + 0xa0]
mov ecx, dword [esp + 0x10]
bts eax, ebx
mov dword [esi + 0xa0], eax
call fcn.10027de0
mov edx, dword [esp + 0x20]
jmp 0x10098871
mov dword [esp + 0x24], 0
test edx, edx
je 0x10099030
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x24]
call fcn.1002ce50
test eax, eax
je 0x10099030
mov edx, dword [esp + 0x24]
mov dword [esp + 0x30], edx
test edx, edx
jg 0x10099038
mov dword [esp + 0x30], 0x7fffffff
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 0x80]
test eax, eax
cmovne ecx, eax
mov eax, 1
mov dword [esp + 0x1c], ecx
mov edx, dword [ecx + 0x5c]
mov ecx, ebx
shl eax, cl
mov ecx, dword [esp + 0x1c]
test edx, eax
jne 0x10099073
bts edx, ebx
mov dword [ecx + 0x5c], edx
cmp ebx, 1
jne 0x10099073
call fcn.10084900
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 0x58]
mov edx, dword [esp + 0x30]
bts eax, ebx
mov dword [ecx + 0x58], eax
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x1009909e
push 0
push 1
push edx
mov edx, 0x47
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
jmp 0x100990cd
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esi + 0x6c]
mov dword [esp + 0x2c], edx
cmp dword [esi + 0x70], edx
jg 0x100990f1
push 0
push 0
push ebx
mov edx, 0x3e
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
mov ebx, eax
jmp 0x10099124
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x3e
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x2c]
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x10099143
push 0
push 0
push 1
mov edx, 0x54
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
jmp 0x10099176
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x10099195
push 0
push 0xffffffffffffffff
push 1
mov edx, 0x56
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
jmp 0x100991c8
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x56
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 0xffffffff
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x100991e6
push 0
push ebx
push 1
mov edx, 0x3b
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
jmp 0x10099215
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x3b
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [esi + 0x6c]
cmp byte [eax + 0x57], 0
je 0x1009922f
mov eax, 0x1017bac0
mov dword [eax + 8], edx
mov edx, edi
jmp 0x10098860
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
mov dword [eax + ecx*4 + 8], edx
mov edx, edi
lea eax, [eax + ecx*4]
jmp 0x10098860
test edx, edx
jne 0x10099265
mov eax, dword [esp + 0x4c]
mov ecx, esi
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x50]
cdq
push edx
push eax
call fcn.10097bc0
add esp, 8
mov edx, edi
jmp 0x10098860
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x24]
mov dword [esp + 0x24], 0
call fcn.1002ce50
mov ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x24]
mov ecx, dword [ebx + 0xc]
mov dword [ecx + 0x50], eax
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 4]
mov edx, dword [edx + 0x50]
call fcn.10042a20
mov edx, edi
jmp 0x10098860
test edx, edx
jne 0x100992e5
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
and eax, 0x20
or eax, edx
jne 0x100992c3
cdq
mov ecx, esi
push edx
push eax
call fcn.10097bc0
add esp, 8
mov edx, edi
jmp 0x10098860
mov eax, dword [esp + 0x4c]
xor edx, edx
mov ecx, dword [eax + 4]
call fcn.10042ac0
cdq
mov ecx, esi
push edx
push eax
call fcn.10097bc0
add esp, 8
mov edx, edi
jmp 0x10098860
mov ebx, dword [esp + 0x20]
lea edx, [esp + 0x24]
mov ecx, ebx
mov dword [esp + 0x24], 1
call fcn.1002ce50
mov esi, dword [esp + 0x24]
test eax, eax
je 0x10099312
mov eax, dword [esp + 0x4c]
mov edx, esi
mov ecx, dword [eax + 4]
call fcn.10042ac0
test esi, esi
mov edx, 1
mov ecx, ebx
setne al
movzx eax, al
push eax
call fcn.10097a40
mov ebx, dword [esp + 0x14]
add esp, 4
test al, al
mov eax, ebx
mov ecx, dword [ebx + 0x20]
mov edx, dword [ebx + 0x24]
je 0x10099351
or ecx, 0x20
mov dword [eax + 0x20], ecx
mov ecx, ebx
mov dword [eax + 0x24], edx
call fcn.10097c60
mov edx, edi
jmp 0x10098860
and ecx, 0xffffffdf
mov dword [eax + 0x20], ecx
mov ecx, ebx
mov dword [eax + 0x24], edx
call fcn.10097c60
mov edx, edi
jmp 0x10098860
mov dword [esp + 0x14], edi
test edx, edx
je 0x100994ac
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0xa8]
call fcn.1002cd40
cmp dword [esp + 0xac], 0
jg 0x100993b3
jl 0x1009939a
cmp dword [esp + 0xa8], 0
jae 0x100993b3
mov eax, dword [0x10178ae0]
mov ecx, dword [0x10178ae4]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], ecx
mov edx, dword [esp + 0x38]
cmp dword [edx + 4], 0
jne 0x100993dd
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
mov dword [esi + 0x30], eax
mov eax, esi
mov esi, dword [esp + 0x3c]
mov dword [eax + 0x34], ecx
jmp 0x100993e1
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
sub ecx, 1
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], ecx
js 0x100994b0
mov esi, ecx
mov dword [esp + 0x14], edi
shl esi, 4
nop
mov eax, dword [eax + 0x10]
mov edi, dword [esi + eax + 4]
test edi, edi
je 0x10099492
cmp ecx, ebx
je 0x10099419
cmp dword [edx + 4], 0
jne 0x10099492
cmp byte [edi + 9], 0
mov ecx, dword [esp + 0xac]
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x94], ecx
mov ecx, dword [edi + 4]
mov dword [esp + 0x2c], eax
mov dword [esp + 0xa4], ecx
je 0x1009945d
inc dword [edi + 0xc]
cmp byte [edi + 0xa], 0
jne 0x1009945d
mov ecx, edi
call fcn.1003fd90
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0xa4]
mov ecx, dword [ecx]
mov dword [ecx + 0x88], eax
mov eax, dword [esp + 0x94]
mov dword [ecx + 0x8c], eax
call fcn.10038550
cmp byte [edi + 9], 0
je 0x1009948a
add dword [edi + 0xc], 0xffffffff
jne 0x1009948a
mov ecx, edi
call fcn.1003fd70
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x10]
dec ecx
sub esi, 0x10
mov dword [esp + 0x18], ecx
test ecx, ecx
jns 0x10099400
mov esi, dword [esp + 0x3c]
jmp 0x100994b0
mov eax, dword [esp + 0x10]
mov dword [esp + 0xa8], 0xffffffff
mov ebx, 1
mov dword [esp + 0xac], 0xffffffff
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100994dc
push eax
call dword [0x10178a88]
add esp, 4
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x10]
call fcn.100de350
mov edi, eax
test edi, edi
je 0x1009955c
cmp byte [edi + 9], 0
je 0x10099505
inc dword [edi + 0xc]
cmp byte [edi + 0xa], 0
jne 0x10099505
mov ecx, edi
call fcn.1003fd90
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax]
mov ecx, dword [ecx + 0x1c8]
mov dword [esp + 0x2c], ecx
mov eax, dword [eax + 0x40]
mov ecx, dword [eax]
test ecx, ecx
jne 0x10099526
lea ebx, [ecx + 0xc]
jmp 0x1009953b
lea edx, [esp + 0xa8]
push edx
push 0x12
push eax
mov eax, dword [ecx + 0x28]
call eax
add esp, 0xc
mov ebx, eax
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x2c]
mov dword [ecx + 0x1c8], eax
cmp byte [edi + 9], 0
je 0x1009955c
add dword [edi + 0xc], 0xffffffff
jne 0x1009955c
mov ecx, edi
call fcn.1003fd70
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x10099571
push eax
call dword [0x10178a90]
add esp, 4
test ebx, ebx
jne 0x10099588
push dword [esp + 0xac]
push dword [esp + 0xac]
jmp 0x10098852
mov edx, dword [esp + 0x14]
cmp ebx, 0xc
je 0x10098860
mov eax, dword [esp + 0x1c]
inc dword [eax + 0x24]
mov dword [eax + 0xc], ebx
jmp 0x10098860
test edx, edx
jne 0x100995c6
mov ebx, dword [esp + 0x10]
mov ecx, esi
movzx eax, byte [ebx + 0x56]
cdq
push edx
push eax
call fcn.10097bc0
add esp, 8
mov edx, edi
mov ecx, ebx
jmp 0x10098875
mov cl, byte [edx]
mov al, cl
mov dword [esp + 0x14], edi
sub al, 0x30
cmp al, 2
ja 0x100995dc
movsx ebx, cl
sub ebx, 0x30
jmp 0x1009964b
mov esi, str.file
movzx eax, byte [esi]
movzx ecx, cl
cmp ecx, eax
jne 0x100995f4
test ecx, ecx
jne 0x10099606
lea ebx, [ecx + 1]
jmp 0x1009964b
movzx eax, byte [eax + 0x10162840]
movzx ecx, byte [ecx + 0x10162840]
sub ecx, eax
jne 0x1009960d
mov cl, byte [edx + 1]
inc edx
inc esi
jmp 0x100995e1
mov edx, dword [esp + 0x20]
mov esi, str.memory
sub esi, edx
nop dword [eax + eax]
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x10099634
test ecx, ecx
jne 0x10099646
lea ebx, [ecx + 2]
jmp 0x1009964b
movzx eax, byte [eax + 0x10162840]
movzx ecx, byte [ecx + 0x10162840]
sub ecx, eax
jne 0x10099649
inc edx
jmp 0x10099620
xor ebx, ebx
mov edx, dword [esp + 0x1c]
mov esi, dword [edx]
movzx eax, byte [esi + 0x56]
cmp eax, ebx
je 0x1009885c
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x10099689
cmp byte [esi + 0x55], 0
je 0x100996a2
cmp byte [ecx + 8], 0
jne 0x100996a2
call fcn.10042820
mov eax, dword [esi + 0x10]
mov ecx, esi
mov dword [eax + 0x14], 0
call fcn.1007c290
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov byte [esi + 0x56], bl
call fcn.10027de0
mov edx, dword [esp + 0x20]
jmp 0x10098871
push str.temporary_storage_cannot_be_changed_from_within_a_transaction
push edx
call fcn.1002b880
mov edx, dword [esp + 0x1c]
add esp, 8
mov ecx, dword [esp + 0x10]
call fcn.10027de0
mov edx, dword [esp + 0x20]
jmp 0x10098871
cmp byte [0x10178a3c], 0
je 0x100996e8
push 0xb
call dword [0x10178a80]
add esp, 4
test eax, eax
je 0x100996e8
push eax
call dword [0x10178a88]
add esp, 4
mov ecx, dword [esp + 0x20]
test ecx, ecx
jne 0x10099767
mov eax, dword [0x1017b9c4]
test eax, eax
je 0x100998aa
push eax
mov edx, 1
mov ecx, esi
call fcn.1004fe80
mov ecx, dword [esi + 0x6c]
add esp, 4
cmp dword [esi + 0x70], ecx
jg 0x1009972f
push 0
push 1
push 1
mov edx, 0x54
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
jmp 0x100998aa
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x100998aa
cmp byte [ecx], 0
mov ebx, dword [esp + 0x10]
je 0x100997d8
mov eax, dword [ebx]
lea edx, [esp + 0xc0]
push edx
push 1
push ecx
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x10099793
cmp dword [esp + 0xc0], eax
jne 0x100997d8
push str.not_a_writable_directory
push dword [esp + 0x20]
call fcn.1002b880
add esp, 8
cmp byte [0x10178a3c], 0
je 0x100997c6
push 0xb
call dword [0x10178a80]
add esp, 4
test eax, eax
je 0x100997c6
push eax
call dword [0x10178a90]
add esp, 4
mov ecx, ebx
mov edx, edi
call fcn.10027de0
mov edx, dword [esp + 0x20]
jmp 0x10098871
cmp byte [ebx + 0x56], 1
ja 0x10099820
mov edx, dword [esp + 0x1c]
mov esi, dword [edx]
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x10099820
cmp byte [esi + 0x55], 0
je 0x10099812
cmp byte [ecx + 8], 0
jne 0x10099812
call fcn.10042820
mov eax, dword [esi + 0x10]
mov ecx, esi
mov dword [eax + 0x14], 0
call fcn.1007c290
jmp 0x10099820
push str.temporary_storage_cannot_be_changed_from_within_a_transaction
push edx
call fcn.1002b880
add esp, 8
mov esi, dword [0x1017b9c4]
test esi, esi
je 0x10099882
cmp dword [0x10178a38], 0
je 0x10099878
mov eax, dword [0x1017bbe8]
test eax, eax
je 0x10099846
push eax
call dword [0x10178a88]
add esp, 4
push esi
call dword [0x10178a64]
sub dword [0x1017ba70], eax
add esp, 4
dec dword [0x1017ba94]
push esi
call dword [0x10178a5c]
mov eax, dword [0x1017bbe8]
add esp, 4
test eax, eax
je 0x10099882
push eax
call dword [0x10178a90]
jmp 0x1009987f
push esi
call dword [0x10178a5c]
add esp, 4
mov ecx, dword [esp + 0x20]
cmp byte [ecx], 0
je 0x100998a0
push ecx
push 0x10169758
call fcn.1002a830
add esp, 8
mov dword [0x1017b9c4], eax
jmp 0x100998aa
mov dword [0x1017b9c4], 0
cmp byte [0x10178a3c], 0
je 0x10098400
push 0xb
call dword [0x10178a80]
add esp, 4
test eax, eax
je 0x10098400
push eax
call dword [0x10178a90]
add esp, 4
mov edx, edi
jmp 0x10098860
cmp byte [0x10178a3c], 0
je 0x100998fd
push 0xb
call dword [0x10178a80]
add esp, 4
test eax, eax
je 0x100998fd
push eax
call dword [0x10178a88]
add esp, 4
mov ecx, dword [esp + 0x20]
test ecx, ecx
jne 0x1009990f
mov eax, dword [0x1017b9c0]
jmp 0x100996f5
cmp byte [ecx], 0
je 0x10099947
mov ebx, dword [esp + 0x10]
lea edx, [esp + 0xc4]
push edx
push 1
push ecx
mov eax, dword [ebx]
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x10099793
cmp dword [esp + 0xc4], eax
je 0x10099793
mov ecx, dword [esp + 0x20]
mov esi, dword [0x1017b9c0]
test esi, esi
je 0x100999ad
cmp dword [0x10178a38], 0
je 0x1009999f
mov eax, dword [0x1017bbe8]
test eax, eax
je 0x1009996d
push eax
call dword [0x10178a88]
add esp, 4
push esi
call dword [0x10178a64]
sub dword [0x1017ba70], eax
add esp, 4
dec dword [0x1017ba94]
push esi
call dword [0x10178a5c]
mov eax, dword [0x1017bbe8]
add esp, 4
test eax, eax
je 0x100999a9
push eax
call dword [0x10178a90]
jmp 0x100999a6
push esi
call dword [0x10178a5c]
add esp, 4
mov ecx, dword [esp + 0x20]
cmp byte [ecx], 0
je 0x100999ca
push ecx
push 0x10169758
call fcn.1002a830
add esp, 8
mov dword [0x1017b9c0], eax
jmp 0x100998aa
mov dword [0x1017b9c0], 0
jmp 0x100998aa
test edx, edx
jne 0x100999ff
mov eax, dword [esp + 0x4c]
mov ecx, esi
movzx eax, byte [eax + 8]
cdq
sub eax, 1
sbb edx, 0
push edx
push eax
call fcn.10097bc0
add esp, 8
mov edx, edi
jmp 0x10098860
mov esi, dword [esp + 0x10]
cmp byte [esi + 0x55], 0
jne 0x10099a21
push str.Safety_level_may_not_be_changed_inside_a_transaction
push dword [esp + 0x20]
call fcn.1002b880
add esp, 8
mov edx, edi
jmp 0x10098860
cmp ebx, 1
je 0x10098400
mov ecx, dword [esp + 0x20]
xor edx, edx
push 1
call fcn.10097a40
inc eax
add esp, 4
and eax, 7
mov ecx, 1
cmove eax, ecx
mov ecx, dword [esp + 0x4c]
mov byte [ecx + 8], al
mov byte [ecx + 9], 1
mov ecx, esi
call fcn.10097c60
mov edx, edi
jmp 0x10098860
test edx, edx
jne 0x10099ac2
mov edx, ecx
mov ecx, esi
call fcn.10097b30
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x50]
mov ecx, dword [ebx + 0x20]
mov eax, dword [ebx + 0x24]
and ecx, dword [edx + 8]
and eax, dword [edx + 0xc]
or ecx, eax
je 0x10099a9e
xor ecx, ecx
mov eax, 1
push ecx
push eax
mov ecx, esi
call fcn.10097bc0
add esp, 8
mov edx, edi
jmp 0x10098860
xorps xmm0, xmm0
movlpd qword [esp + 0x70], xmm0
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
push ecx
push eax
mov ecx, esi
call fcn.10097bc0
add esp, 8
mov edx, edi
jmp 0x10098860
mov eax, dword [ecx + 0xc]
mov ebx, dword [ecx + 8]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x30], eax
cmp byte [ecx + 0x55], 0
jne 0x10099ae0
and ebx, 0xffffbfff
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x20]
mov edx, 1
push 0
call fcn.10097a40
add esp, 4
test al, al
je 0x10099b28
mov eax, ebx
and eax, 1
or eax, 0
je 0x10099b16
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
and eax, 0x10000000
or eax, 0
jne 0x10099bb0
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x30]
or dword [eax + 0x20], ebx
mov ebx, eax
or dword [eax + 0x24], edx
jmp 0x10099b5e
mov esi, dword [esp + 0x10]
mov ecx, ebx
mov edx, dword [esp + 0x30]
not ecx
mov eax, edx
not eax
and dword [esi + 0x20], ecx
mov ecx, esi
mov esi, dword [esp + 0x3c]
and dword [ecx + 0x24], eax
cmp ebx, 0x80000
jne 0x10099b89
test edx, edx
jne 0x10099b89
mov dword [ecx + 0x208], edx
mov dword [ecx + 0x20c], edx
mov ebx, ecx
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x10099bb6
push 0
push 0
push 0
mov edx, 0xa6
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
mov ecx, ebx
call fcn.10097c60
mov edx, edi
jmp 0x10098860
and ebx, 1
or ebx, 0
je 0x10099b5c
mov ecx, dword [esp + 0x20]
mov edx, str.reset
call fcn.1002ba20
mov ebx, dword [esp + 0x10]
test eax, eax
jne 0x10099b5e
mov ecx, ebx
call fcn.1007c290
jmp 0x10099b5e
mov ebx, dword [esp + 0x10]
jmp 0x10099b5e
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xa6
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, ebx
call fcn.10097c60
mov edx, edi
jmp 0x10098860
cmp dword [esp + 0x20], 0
mov edx, edi
je 0x10098860
mov ebx, dword [esp + 0x40]
mov edx, ebx
mov ecx, dword [esp + 0x1c]
call fcn.100849a0
mov ecx, dword [esp + 0x1c]
mov edx, 2
push ebx
push dword [esp + 0x24]
call fcn.1007be70
mov ebx, eax
add esp, 8
mov dword [esp + 0x60], ebx
mov edx, edi
test ebx, ebx
je 0x10098860
mov ecx, dword [ebx + 8]
mov dword [esp + 0x64], 0
mov dword [esp + 0x30], ecx
mov dword [esp + 0x14], edi
test ecx, ecx
je 0x10099c68
mov dword [esp + 0x14], edi
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x10099c64
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x10099c54
mov dword [esp + 0x30], ecx
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x2c], 7
cmp byte [ebx + 0x2b], 1
je 0x10099c80
cmp word [ebx + 0x22], 0
jg 0x10099c89
mov edx, ebx
mov ecx, eax
call fcn.10080630
movzx eax, word [ebx + 0x22]
xor edx, edx
mov ecx, dword [ebx + 4]
xor edi, edi
mov dword [esp + 0x58], edx
mov dword [esp + 0x18], ecx
cmp di, ax
jge 0x1009885c
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x24], eax
nop dword [eax]
movzx eax, word [ecx + 0xe]
xor edi, edi
test al, 0x62
je 0x10099ce6
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
jne 0x10099ccb
inc dword [esp + 0x64]
jmp 0x10099e48
movzx eax, word [ecx + 0xe]
test al, 0x20
je 0x10099cda
mov edi, 2
jmp 0x10099ce6
movzx edi, al
and edi, 0x40
or edi, 0x20
shr edi, 5
test al, 1
jne 0x10099cee
xor edx, edx
jmp 0x10099d2b
cmp dword [esp + 0x30], 0
mov edx, 1
je 0x10099d2b
mov eax, dword [esp + 0x24]
cwde
mov dword [esp + 0x2c], eax
cmp eax, edx
jl 0x10099d2b
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x2c]
mov ecx, dword [eax + 4]
movsx eax, word [ecx]
cmp eax, dword [esp + 0x58]
je 0x10099d23
inc edx
add ecx, 2
cmp edx, esi
jle 0x10099d12
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x18]
movzx eax, word [ecx + 0xc]
mov dword [esp + 0x24], eax
test ax, ax
jne 0x10099d3c
xor eax, eax
jmp 0x10099d81
mov eax, dword [esp + 0x60]
cmp byte [eax + 0x2b], 0
je 0x10099d4a
xor eax, eax
jmp 0x10099d81
mov eax, dword [eax + 0x34]
test eax, eax
je 0x10099d81
mov ebx, dword [esp + 0x24]
movzx ebx, bx
cmp dword [eax], ebx
mov ebx, dword [esp + 0x50]
jge 0x10099d64
xor eax, eax
jmp 0x10099d81
mov ecx, dword [esp + 0x24]
movzx eax, cx
mov ecx, dword [esp + 0x60]
lea eax, [eax + eax*4]
mov esi, dword [ecx + 0x34]
mov ecx, dword [esp + 0x18]
mov eax, dword [esi + eax*4 - 0xc]
mov esi, dword [esp + 0x3c]
cmp edi, 2
jae 0x10099d93
test eax, eax
je 0x10099d93
mov eax, dword [eax + 8]
mov dword [esp + 0x24], eax
jmp 0x10099d9b
mov dword [esp + 0x24], 0
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
mov dword [esp + 0x44], str.issisii
jne 0x10099db3
mov dword [esp + 0x44], str.issisi
test byte [ecx + 0xe], 4
je 0x10099def
mov eax, dword [ecx]
mov ecx, eax
mov dword [esp + 0xa4], eax
lea eax, [ecx + 1]
mov dword [esp + 0x2c], eax
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10099dd0
mov eax, dword [esp + 0xa4]
sub ecx, dword [esp + 0x2c]
inc eax
add eax, ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x48], eax
jmp 0x10099e0f
mov eax, dword [ecx + 4]
shr eax, 4
and eax, 0xf
je 0x10099e07
mov eax, dword [eax*4 + 0x1017a014]
mov dword [esp + 0x48], eax
jmp 0x10099e0f
mov dword [esp + 0x48], 0x101675d3
test byte [ecx + 4], 0xf
mov eax, 0
push edi
push edx
push dword [esp + 0x2c]
setne al
push eax
push dword [esp + 0x58]
mov eax, dword [esp + 0x6c]
push dword [ecx]
sub eax, dword [esp + 0x7c]
push eax
push dword [esp + 0x60]
push 1
push esi
call fcn.1004ff30
mov ecx, dword [esp + 0x40]
add esp, 0x28
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x60]
inc edx
add ecx, 0x10
mov dword [esp + 0x58], edx
mov dword [esp + 0x18], ecx
movzx eax, word [eax + 0x22]
mov edi, eax
cwde
mov dword [esp + 0x24], edi
cmp edx, eax
jl 0x10099cb0
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
call fcn.10027de0
mov edx, dword [esp + 0x20]
jmp 0x10098871
mov eax, dword [esp + 0x1c]
mov ecx, eax
mov ebx, dword [esp + 0x40]
mov edx, ebx
mov dword [eax + 0x2c], 6
call fcn.100849a0
mov eax, dword [esp + 0x10]
mov edx, edi
mov dword [esp + 0x90], 0
cmp dword [eax + 0x14], 0
jle 0x10098860
mov dword [esp + 0x14], edi
mov edx, eax
mov dword [esp + 0x18], 0
xor edi, edi
test ebx, ebx
je 0x10099ee9
mov eax, dword [edx + 0x10]
mov edx, dword [edi + eax]
test edx, edx
je 0x1009a1c9
mov ecx, ebx
call fcn.1002ba20
test eax, eax
jne 0x1009a1c9
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x10]
mov edx, dword [edi + eax + 0xc]
add edx, 8
mov ebx, dword [edx + 4]
test ebx, ebx
je 0x1009a073
nop
mov eax, dword [edx + 8]
dec ebx
mov dword [esp + 0x44], ebx
test eax, eax
je 0x1009a073
mov ecx, dword [eax + 8]
cmp word [ecx + 0x22], 0
je 0x10099f25
mov eax, dword [eax]
test eax, eax
jne 0x10099f10
jmp 0x1009a073
push dword [ecx]
push str.SELECTFROM__w_
push dword [esp + 0x18]
call fcn.1002a740
add esp, 0xc
mov dword [esp + 0x2c], eax
test eax, eax
je 0x1009a02f
push 0
lea ecx, [esp + 0xb8]
mov dword [esp + 0xb8], 0
push ecx
mov ecx, dword [esp + 0x18]
mov edx, eax
push 0
push 0
push 0xffffffffffffffff
call fcn.1009fe60
mov edi, dword [esp + 0xc8]
add esp, 0x14
test edi, edi
je 0x1009a01e
mov ebx, dword [edi]
test ebx, ebx
jne 0x10099fb6
push str.API_called_with_finalized_prepared_statement
push 0x15
call fcn.1002a9f0
push 0x10167d54
push 0x15deb
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call fcn.1002a9f0
mov edi, dword [esp + 0x30]
add esp, 0x1c
mov dword [esp + 0x14], edi
jmp 0x1009a01a
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x10099fc7
push eax
call dword [0x10178a88]
add esp, 4
cmp dword [edi + 0x8c], 0
jl 0x10099fe4
jg 0x10099fdb
cmp dword [edi + 0x88], 0
jbe 0x10099fe4
mov edx, edi
mov ecx, ebx
call fcn.10054e00
mov ecx, edi
call fcn.10052a30
mov ecx, edi
mov dword [esp + 0x24], eax
call fcn.10052b10
cmp byte [ebx + 0x57], 0
mov edx, dword [esp + 0x24]
jne 0x1009a004
test edx, edx
je 0x1009a00b
mov ecx, ebx
call fcn.10028630
mov ecx, ebx
call fcn.100da2a0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
mov ebx, dword [esp + 0x44]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x10]
call fcn.10027de0
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x57], 0
je 0x1009a061
push str.out_of_memory
push dword [eax + 0x10c]
call fcn.1002b880
mov eax, dword [esp + 0x18]
add esp, 8
mov eax, dword [eax + 0x10c]
mov dword [eax + 0xc], 7
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
mov edx, dword [edi + eax + 0xc]
add edx, 8
test ebx, ebx
jne 0x10099f00
mov edi, dword [edx + 8]
mov dword [esp + 0x48], edi
test edi, edi
je 0x1009a1c1
mov eax, dword [esp + 0x20]
mov ebx, dword [edi + 8]
test eax, eax
je 0x1009a0a6
mov edx, dword [ebx]
test edx, edx
je 0x1009a1b3
mov ecx, eax
call fcn.1002ba20
test eax, eax
jne 0x1009a1af
mov al, byte [ebx + 0x2b]
cmp al, 2
jne 0x1009a0b7
mov dword [esp + 0x58], str.view
jmp 0x1009a0dd
cmp al, 1
jne 0x1009a0c5
mov dword [esp + 0x58], str.virtual
jmp 0x1009a0dd
test dword [ebx + 0x1c], 0x1000
mov ecx, str.shadow
mov eax, str.table
cmove ecx, eax
mov dword [esp + 0x58], ecx
mov eax, dword [ebx]
mov edx, 7
mov dword [esp + 0x30], eax
test eax, eax
je 0x1009a165
mov edi, eax
mov ebx, str.sqlite_
mov al, byte [edi]
dec edx
test al, al
je 0x1009a115
movzx ecx, byte [ebx]
movzx eax, al
mov al, byte [eax + 0x10162840]
cmp al, byte [ecx + 0x10162840]
jne 0x1009a115
inc edi
inc ebx
test edx, edx
jg 0x1009a0f3
dec edx
test edx, edx
js 0x1009a131
movzx eax, byte [ebx]
movzx ecx, byte [eax + 0x10162840]
movzx eax, byte [edi]
movzx eax, byte [eax + 0x10162840]
sub eax, ecx
jne 0x1009a165
mov edi, dword [esp + 0x30]
mov edx, 0x1016a28f
lea ecx, [edi + 7]
call fcn.1002ba20
test eax, eax
jne 0x1009a14d
mov edi, str.sqlite_schema
jmp 0x1009a169
mov edx, 0x1016a483
lea ecx, [edi + 7]
call fcn.1002ba20
test eax, eax
jne 0x1009a169
mov edi, str.sqlite_temp_schema
jmp 0x1009a169
mov edi, dword [esp + 0x30]
mov ecx, dword [esp + 0x48]
mov edx, dword [ecx + 8]
mov ecx, dword [edx + 0x1c]
mov eax, ecx
shr eax, 0x10
and eax, 1
shr ecx, 7
push eax
movsx eax, word [edx + 0x22]
and ecx, 1
push ecx
mov ecx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x1c]
push dword [esp + 0x64]
push edi
mov eax, dword [eax + 0x10]
push dword [ecx + eax]
push str.sssiii
push 1
push esi
call fcn.1004ff30
mov edi, dword [esp + 0x6c]
add esp, 0x24
mov eax, dword [esp + 0x20]
mov edi, dword [edi]
mov dword [esp + 0x48], edi
test edi, edi
jne 0x1009a086
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x90]
add edi, 0x10
mov edx, dword [esp + 0x10]
inc eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x18], edi
cmp eax, dword [edx + 0x14]
jl 0x10099ec4
jmp 0x1009885c
mov eax, dword [esp + 0x20]
mov edx, edi
test eax, eax
je 0x10098860
push dword [esp + 0x40]
mov ecx, dword [esp + 0x14]
mov edx, eax
call fcn.1007c030
mov ebx, eax
mov dword [esp + 0x18], edi
add esp, 4
test ebx, ebx
jne 0x1009a27c
push dword [esp + 0x40]
mov ecx, dword [esp + 0x20]
lea edx, [eax + 2]
push dword [esp + 0x24]
call fcn.1007be70
add esp, 8
mov edx, edi
test eax, eax
je 0x10098860
test byte [eax + 0x1c], 0x80
je 0x10098860
mov ebx, dword [eax + 8]
mov dword [esp + 0x14], edx
test ebx, ebx
je 0x10098860
mov dword [esp + 0x14], edi
nop dword [eax]
mov eax, dword [ebx + 0x38]
and al, 3
cmp al, 2
je 0x1009a270
mov ebx, dword [ebx + 0x14]
test ebx, ebx
jne 0x1009a260
mov edx, dword [esp + 0x14]
test ebx, ebx
je 0x10098860
mov edx, dword [ebx + 0x18]
mov ecx, 0xffff8000
test edx, edx
je 0x1009a2a0
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], edx
je 0x1009a2a0
lea eax, [eax + 0x10]
inc ecx
cmp dword [eax], edx
jne 0x1009a298
mov edx, dword [esp + 0x50]
mov eax, dword [edx + 8]
or eax, dword [edx + 0xc]
je 0x1009a2b7
movzx eax, word [ebx + 0x34]
mov edx, 6
jmp 0x1009a2c0
movzx eax, word [ebx + 0x32]
mov edx, 3
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x30], eax
mov dword [edi + 0x2c], edx
mov edx, edi
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x2c], eax
mov eax, dword [edi + 0x80]
test eax, eax
cmovne edx, eax
mov eax, 1
shl eax, cl
mov edi, dword [edx + 0x5c]
test edi, eax
jne 0x1009a2ff
bts edi, ecx
mov dword [edx + 0x5c], edi
cmp ecx, 1
jne 0x1009a2ff
mov ecx, edx
call fcn.10084900
xor edi, edi
cmp word [esp + 0x30], di
je 0x1009885c
nop dword [eax]
mov eax, dword [ebx + 4]
movzx eax, word [eax + edi*2]
movsx edx, ax
test ax, ax
jns 0x1009a323
xor eax, eax
jmp 0x1009a331
mov eax, dword [esp + 0x2c]
mov ecx, edx
add ecx, ecx
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*8]
push eax
push edx
push edi
push str.iisX
push 1
push esi
call fcn.1004ff30
mov ecx, dword [esp + 0x68]
add esp, 0x18
mov eax, dword [ecx + 8]
or eax, dword [ecx + 0xc]
je 0x1009a379
movzx eax, word [ebx + 0x32]
cmp edi, eax
sbb eax, eax
neg eax
push eax
mov eax, dword [ebx + 0x20]
push dword [eax + edi*4]
mov eax, dword [ebx + 0x1c]
movzx eax, byte [eax + edi]
push eax
push str.isiX
push 4
push esi
call fcn.1004ff30
add esp, 0x18
mov eax, dword [esp + 0x1c]
mov ecx, dword [esi + 0x6c]
mov edx, dword [eax + 0x2c]
cmp dword [esi + 0x70], ecx
jg 0x1009a39e
push 0
push edx
push 1
mov edx, 0x54
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
jmp 0x1009a3d1
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x3c]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x30]
inc edi
movzx eax, cx
cmp edi, eax
jl 0x1009a310
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
call fcn.10027de0
mov edx, dword [esp + 0x20]
jmp 0x10098871
mov eax, dword [esp + 0x20]
mov edx, edi
test eax, eax
je 0x10098860
push dword [esp + 0x40]
mov ecx, dword [esp + 0x14]
mov edx, eax
call fcn.1007bab0
mov ebx, eax
add esp, 4
mov edx, edi
test ebx, ebx
je 0x10098860
mov edx, dword [ebx + 0x3c]
mov ecx, 0xffff8000
mov dword [esp + 0x14], edi
test edx, edx
je 0x1009a458
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov dword [esp + 0x14], edi
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], edx
je 0x1009a458
mov dword [esp + 0x14], edi
nop dword [eax + eax]
lea eax, [eax + 0x10]
inc ecx
cmp dword [eax], edx
jne 0x1009a450
mov edi, dword [esp + 0x1c]
mov dword [edi + 0x2c], 5
mov eax, dword [edi + 0x80]
test eax, eax
cmovne edi, eax
mov eax, 1
shl eax, cl
mov edx, dword [edi + 0x5c]
test edx, eax
jne 0x1009a48e
bts edx, ecx
mov dword [edi + 0x5c], edx
cmp ecx, 1
jne 0x1009a48e
mov ecx, edi
call fcn.10084900
mov edi, dword [ebx + 8]
xor ebx, ebx
test edi, edi
je 0x1009885c
mov dword [esp + 0x70], 0x1016d3ec
mov dword [esp + 0x74], 0x1016d3f0
mov dword [esp + 0x78], 0x1016cd50
xor eax, eax
cmp dword [edi + 0x24], eax
setne al
push eax
mov eax, dword [edi + 0x38]
and eax, 3
push dword [esp + eax*4 + 0x74]
xor eax, eax
cmp byte [edi + 0x36], al
setne al
push eax
push dword [edi]
push ebx
push str.isisi
push 1
push esi
call fcn.1004ff30
mov edi, dword [edi + 0x14]
add esp, 0x20
inc ebx
test edi, edi
jne 0x1009a4b3
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
call fcn.10027de0
mov edx, dword [esp + 0x20]
jmp 0x10098871
mov eax, dword [esp + 0x1c]
xor ebx, ebx
mov edx, edi
mov dword [eax + 0x2c], 3
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x14], ebx
jle 0x10098860
xor ecx, ecx
mov dword [esp + 0x14], edi
mov dword [esp + 0x24], ecx
mov edx, eax
nop dword [eax + eax]
mov edx, dword [edx + 0x10]
mov eax, dword [edx + ecx + 4]
test eax, eax
je 0x1009a574
mov eax, dword [eax + 4]
mov eax, dword [eax]
cmp byte [eax + 0xf], 0
jne 0x1009a556
cmp dword [eax], 0x1017ac68
je 0x1009a556
mov eax, dword [eax + 0xb8]
jmp 0x1009a55b
mov eax, 0x10160b44
push eax
push dword [edx + ecx]
push ebx
push 0x1016d3fc
push 1
push esi
call fcn.1004ff30
mov ecx, dword [esp + 0x3c]
add esp, 0x18
mov edx, dword [esp + 0x10]
inc ebx
add ecx, 0x10
mov dword [esp + 0x24], ecx
cmp ebx, dword [edx + 0x14]
jl 0x1009a530
jmp 0x1009885c
mov eax, dword [esp + 0x1c]
xor ecx, ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x24], ecx
mov dword [eax + 0x2c], 2
mov ebx, dword [edx + 0x1b8]
mov edx, edi
test ebx, ebx
je 0x10098860
mov dword [esp + 0x14], edi
mov eax, dword [ebx + 8]
push dword [eax]
push ecx
push 0x1016d400
push 1
push esi
call fcn.1004ff30
mov ecx, dword [esp + 0x38]
add esp, 0x14
mov ebx, dword [ebx]
inc ecx
mov dword [esp + 0x24], ecx
test ebx, ebx
jne 0x1009a5b3
jmp 0x1009885c
mov eax, dword [esp + 0x10]
mov dword [esp + 0x14], edi
mov ebx, dword [eax + 0x18]
mov eax, dword [esp + 0x1c]
shr ebx, 5
and ebx, 1
mov dword [eax + 0x2c], 6
mov eax, 0x1017baf0
mov dword [esp + 0x24], eax
mov edi, dword [eax]
test edi, edi
je 0x1009a622
push ebx
push 1
mov edx, edi
mov ecx, esi
call fcn.10097d80
mov edi, dword [edi + 0x24]
add esp, 8
test edi, edi
jne 0x1009a608
mov eax, dword [esp + 0x24]
add eax, 4
mov dword [esp + 0x24], eax
cmp eax, 0x1017bb4c
jl 0x1009a602
mov edx, dword [esp + 0x10]
mov edi, dword [edx + 0x1a8]
test edi, edi
je 0x1009885c
mov edx, dword [edi + 8]
mov ecx, esi
push ebx
push 0
call fcn.10097d80
mov edi, dword [edi]
add esp, 8
test edi, edi
jne 0x1009a642
jmp 0x1009885c
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
mov dword [eax + 0x2c], 1
mov ebx, dword [edx + 0x18c]
mov edx, edi
test ebx, ebx
je 0x10098860
mov dword [esp + 0x14], edi
mov eax, dword [ebx + 8]
push dword [eax + 4]
push 0x1016a8f8
push 1
push esi
call fcn.1004ff30
mov ebx, dword [ebx]
add esp, 0x10
test ebx, ebx
jne 0x1009a680
jmp 0x1009885c
mov ebx, 0x10163b80
mov dword [esp + 0x14], edi
nop word [eax + eax]
push dword [ebx]
push 0x1016a8f8
push 1
push esi
call fcn.1004ff30
add ebx, 0x10
add esp, 0x10
cmp ebx, 0x10163fb0
jl 0x1009a6b0
jmp 0x1009885c
mov eax, dword [esp + 0x20]
mov edx, edi
test eax, eax
je 0x10098860
push dword [esp + 0x40]
mov ecx, dword [esp + 0x14]
mov edx, eax
call fcn.1007bab0
add esp, 4
mov dword [esp + 0x2c], eax
mov edx, edi
test eax, eax
je 0x10098860
cmp byte [eax + 0x2b], 0
jne 0x10098860
mov ebx, dword [eax + 0x30]
test ebx, ebx
je 0x10098860
mov edx, dword [eax + 0x3c]
mov ecx, 0xffff8000
mov dword [esp + 0x18], edi
test edx, edx
je 0x1009a748
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov dword [esp + 0x18], edi
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], edx
je 0x1009a748
mov dword [esp + 0x18], edi
nop dword [eax]
lea eax, [eax + 0x10]
inc ecx
cmp dword [eax], edx
jne 0x1009a740
mov edi, dword [esp + 0x1c]
xor edx, edx
mov dword [esp + 0x30], edx
mov dword [edi + 0x2c], 8
mov eax, dword [edi + 0x80]
test eax, eax
cmovne edi, eax
mov eax, 1
mov dword [esp + 0x1c], edi
shl eax, cl
mov edi, dword [edi + 0x5c]
test edi, eax
jne 0x1009a790
mov eax, dword [esp + 0x1c]
bts edi, ecx
mov dword [eax + 0x5c], edi
cmp ecx, 1
jne 0x1009a790
mov ecx, eax
call fcn.10084900
xor edx, edx
nop
xor edi, edi
cmp dword [ebx + 0x14], edi
jle 0x1009a853
lea edx, [ebx + 0x24]
mov dword [esp + 0x24], edx
movzx eax, byte [ebx + 0x1a]
add eax, 0xfffffff9
cmp eax, 3
ja case.default.0x1009a7ae
jmp dword [eax*4 + 0x1009e448]
mov ecx, str.SET_NULL
jmp 0x1009a7d6
mov ecx, str.SET_DEFAULT
jmp 0x1009a7d6
mov ecx, str.CASCADE
jmp 0x1009a7d6
mov ecx, str.RESTRICT
jmp 0x1009a7d6
mov ecx, str.NO_ACTION
movzx eax, byte [ebx + 0x19]
add eax, 0xfffffff9
cmp eax, 3
ja case.default.0x1009a7e2
jmp dword [eax*4 + 0x1009e458]
mov eax, str.SET_NULL
jmp 0x1009a80a
mov eax, str.SET_DEFAULT
jmp 0x1009a80a
mov eax, str.CASCADE
jmp 0x1009a80a
mov eax, str.RESTRICT
jmp 0x1009a80a
mov eax, str.NO_ACTION
push str.NONE
push eax
mov eax, dword [esp + 0x34]
push ecx
push dword [edx + 4]
mov ecx, dword [edx]
mov eax, dword [eax + 4]
add ecx, ecx
push dword [eax + ecx*8]
push dword [ebx + 8]
push edi
push dword [esp + 0x4c]
push str.iissssss
push 1
push esi
call fcn.1004ff30
mov edx, dword [esp + 0x50]
inc edi
add edx, 8
add esp, 0x2c
mov dword [esp + 0x24], edx
cmp edi, dword [ebx + 0x14]
jl 0x1009a7a2
mov edx, dword [esp + 0x30]
mov ebx, dword [ebx + 4]
inc edx
mov dword [esp + 0x30], edx
test ebx, ebx
jne 0x1009a790
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
call fcn.10027de0
mov edx, dword [esp + 0x20]
jmp 0x10098871
mov edx, dword [esp + 0x1c]
add ebx, ebx
mov dword [esp + 0x14], edi
mov eax, dword [edx + 0x2c]
lea ecx, [eax + 1]
add eax, 5
mov dword [edx + 0x2c], eax
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x64], ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ebx*8 + 0xc]
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x1009885c
mov dword [esp + 0x14], edi
mov eax, dword [esp + 0x20]
test eax, eax
je 0x1009a8d4
push dword [esp + 0x40]
mov ecx, dword [esp + 0x20]
xor edx, edx
push eax
call fcn.1007be70
mov edx, dword [esp + 0x24]
add esp, 8
xor ecx, ecx
jmp 0x1009a8d9
mov eax, dword [ecx + 8]
mov ecx, dword [ecx]
mov dword [esp + 0x90], ecx
mov dword [esp + 0x50], eax
test eax, eax
je 0x1009aff1
cmp byte [eax + 0x2b], 0
jne 0x1009aff1
cmp dword [eax + 0x30], 0
je 0x1009aff1
mov ecx, dword [eax + 0x3c]
mov edi, 0xffff8000
test ecx, ecx
je 0x1009a928
mov eax, dword [esp + 0x10]
xor edi, edi
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], ecx
je 0x1009a928
nop dword [eax]
lea eax, [eax + 0x10]
inc edi
cmp dword [eax], ecx
jne 0x1009a920
mov eax, dword [esp + 0x10]
mov ecx, edi
shl ecx, 4
mov dword [esp + 0x2c], ecx
mov eax, dword [eax + 0x10]
mov eax, dword [ecx + eax]
mov ecx, edi
mov dword [esp + 0x40], eax
mov eax, dword [edx + 0x80]
test eax, eax
cmovne edx, eax
mov eax, 1
shl eax, cl
mov ebx, dword [edx + 0x5c]
test ebx, eax
jne 0x1009aa68
bts ebx, edi
mov dword [edx + 0x5c], ebx
cmp edi, 1
jne 0x1009aa71
mov ecx, edx
call fcn.10084900
mov ebx, dword [esp + 0x50]
mov ecx, dword [esp + 0x1c]
movsx eax, word [ebx + 0x22]
add eax, dword [esp + 0x48]
cmp dword [ecx + 0x2c], eax
jge 0x1009a98c
mov dword [ecx + 0x2c], eax
push 0x70
push ebx
push edi
xor edx, edx
call fcn.100909d0
mov edx, dword [esp + 0x70]
add esp, 0xc
mov ecx, esi
push dword [ebx]
call fcn.1004fe80
mov ecx, dword [ebx + 0x30]
add esp, 4
mov dword [esp + 0x30], ecx
mov eax, 1
mov dword [esp + 0x18], eax
test ecx, ecx
je 0x1009ab52
mov eax, edi
shl eax, 4
mov dword [esp + 0x2c], eax
nop dword [eax + eax]
mov edx, dword [ecx + 8]
push dword [esp + 0x40]
mov ecx, dword [esp + 0x14]
call fcn.1007bab0
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x1009ab32
mov dword [esp + 0x58], 0
cmp edi, 1
je 0x1009aa26
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [esp + 0x2c]
mov ecx, dword [ecx + 0x10]
mov eax, dword [ecx + eax + 4]
cmp byte [eax + 9], 0
je 0x1009aa26
push dword [ebx]
mov ecx, dword [esp + 0x20]
mov edx, edi
push 0
push dword [ebx + 0x14]
call fcn.1007b0a0
add esp, 0xc
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x58]
push 0
push eax
push dword [esp + 0x38]
mov edx, ebx
call fcn.1008d4d0
add esp, 0xc
test eax, eax
jne 0x1009885c
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x18]
test eax, eax
jne 0x1009aaaa
mov ecx, dword [esp + 0x1c]
push 0x70
push ebx
push edi
call fcn.100909d0
add esp, 0xc
jmp 0x1009ab32
cmp edi, 1
je 0x1009a974
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x50]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx + 4]
cmp byte [eax + 9], 0
je 0x1009a978
push dword [ebx]
mov ecx, dword [esp + 0x20]
mov edx, edi
push 0
push dword [ebx + 0x14]
call fcn.1007b0a0
add esp, 0xc
jmp 0x1009a978
mov ecx, dword [esi + 0x6c]
mov ebx, dword [eax + 0x2c]
cmp dword [esi + 0x70], ecx
jg 0x1009aac9
push edi
push ebx
push edx
mov edx, 0x70
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
jmp 0x1009aaf0
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x70
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], edi
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x1c]
mov ecx, eax
mov edx, dword [esp + 0x58]
mov ebx, dword [eax + 8]
call fcn.100852a0
mov edx, eax
test edx, edx
je 0x1009ab32
mov ecx, dword [ebx]
cmp byte [ecx + 0x57], 0
je 0x1009ab20
push edx
mov edx, 0xfffffff8
call fcn.100509c0
add esp, 4
jmp 0x1009ab32
mov eax, dword [ebx + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0x68]
mov byte [eax + ecx*4 - 0x13], 0xf8
mov dword [eax + ecx*4 - 4], edx
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
mov ecx, dword [ecx + 4]
mov dword [esp + 0x30], ecx
test ecx, ecx
jne 0x1009a9d0
mov ebx, dword [esp + 0x50]
mov edi, dword [esp + 0x1c]
cmp dword [edi + 0x28], eax
jge 0x1009ab5e
mov dword [edi + 0x28], eax
mov edx, dword [esi + 0x6c]
mov dword [esp + 0x44], edx
cmp dword [esi + 0x70], edx
jg 0x1009ab85
push 0
push 0
push 0
mov edx, 0x24
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
mov dword [esp + 0x44], eax
jmp 0x1009abb8
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x24
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ebx, dword [ebx + 0x30]
mov dword [esp + 0x60], 1
mov dword [esp + 0x5c], ebx
test ebx, ebx
je 0x1009af78
jmp 0x1009abd5
mov edi, dword [esp + 0x1c]
push dword [esp + 0x40]
mov edx, dword [ebx + 8]
mov ecx, dword [esp + 0x14]
call fcn.1007bab0
xor ecx, ecx
mov dword [esp + 0x30], eax
add esp, 4
mov dword [esp + 0x58], 0
mov dword [esp + 0x18], ecx
test eax, eax
je 0x1009ac19
lea ecx, [esp + 0x18]
mov edx, eax
push ecx
lea ecx, [esp + 0x5c]
push ecx
push ebx
mov ecx, edi
call fcn.1008d4d0
mov ecx, dword [esp + 0x24]
add esp, 0xc
dec dword [edi + 0x38]
mov eax, dword [ebx + 0x14]
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x48]
add eax, edx
mov edi, dword [edi + 0x38]
mov dword [esp + 0x30], edi
cmp dword [ebx + 0x2c], eax
jge 0x1009ac38
mov dword [ebx + 0x2c], eax
mov eax, dword [esp + 0x5c]
xor ebx, ebx
cmp dword [eax + 0x14], ebx
jle 0x1009acdb
add eax, 0x24
mov edi, edx
mov dword [esp + 0x24], eax
test ecx, ecx
je 0x1009ac57
lea eax, [ecx + ebx*4]
mov edx, dword [esp + 0x50]
mov ecx, esi
push edi
push dword [eax]
push 0
call fcn.1006e720
mov ecx, dword [esi + 0x6c]
add esp, 0xc
cmp dword [esi + 0x70], ecx
jg 0x1009ac8a
push 0
push dword [esp + 0x34]
mov edx, 0x32
mov ecx, esi
push edi
call fcn.1004fd40
add esp, 0xc
jmp 0x1009acb9
mov edx, dword [esp + 0x30]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x5c]
inc ebx
mov eax, dword [esp + 0x24]
inc edi
add eax, 8
mov dword [esp + 0x24], eax
cmp ebx, dword [ecx + 0x14]
mov ecx, dword [esp + 0x18]
jl 0x1009ac50
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0x58]
test eax, eax
je 0x1009ad73
mov ecx, dword [eax + 0x10]
test ecx, ecx
jne 0x1009acfb
mov ecx, dword [esp + 0x10]
mov edx, eax
call fcn.10090b60
mov ecx, eax
mov ebx, dword [esp + 0x5c]
mov edx, 0x60
mov eax, dword [ebx + 0x14]
push eax
push ecx
push 0
push eax
push dword [esp + 0x58]
mov ecx, esi
call fcn.10050170
mov ecx, dword [esi + 0x6c]
add esp, 0x14
mov edx, dword [ebx + 0x14]
cmp dword [esi + 0x70], ecx
jg 0x1009ad43
push edx
push dword [esp + 0x4c]
mov edx, 0x1d
mov ecx, esi
push edi
push dword [esp + 0x6c]
call fcn.1004fd80
add esp, 0x10
jmp 0x1009ae23
mov ebx, dword [esp + 0x60]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xfd1d
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x48]
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], edx
jmp 0x1009ae1f
cmp dword [esp + 0x2c], 0
je 0x1009ae1f
mov ecx, dword [esi + 0x6c]
lea edx, [ecx + 2]
cmp dword [esi + 0x70], ecx
jg 0x1009ada3
push dword [esp + 0x48]
mov ecx, esi
push edx
push dword [esp + 0x68]
mov edx, 0x1e
call fcn.1004fd40
add esp, 0xc
jmp 0x1009add2
mov ebx, dword [esp + 0x60]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x1e
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x48]
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x1009adf0
push 0
push edi
push 0
mov edx, 9
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
jmp 0x1009ae1f
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ebx, dword [esp + 0x5c]
mov edx, dword [esp + 0x50]
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
test byte [edx + 0x1c], 0x80
jne 0x1009ae67
cmp eax, ecx
jg 0x1009ae52
mov eax, dword [esp + 0x64]
mov edx, 0x87
push 0
inc eax
mov ecx, esi
push eax
push 0
call fcn.1004fd40
add esp, 0xc
jmp 0x1009aebe
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x87
jmp 0x1009ae99
cmp eax, ecx
jg 0x1009ae86
mov eax, dword [esp + 0x64]
mov edx, 0x4b
push 0
inc eax
mov ecx, esi
push eax
push 0
call fcn.1004fd40
add esp, 0xc
jmp 0x1009aebe
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x4b
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x5c]
inc edx
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x60]
dec eax
push eax
push dword [ebx + 8]
mov eax, dword [esp + 0x6c]
push 0x1016d418
add eax, 2
push eax
push esi
call fcn.1004ff30
mov ecx, dword [esi + 0x6c]
add esp, 0x14
cmp dword [esi + 0x70], ecx
jg 0x1009aefe
push 0
push 4
push dword [esp + 0x6c]
mov edx, 0x54
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
jmp 0x1009af31
mov edx, dword [esp + 0x64]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 4
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0xc]
not edi
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x1009af4b
push edi
mov edx, esi
call fcn.10050640
add esp, 4
jmp 0x1009af54
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x6c]
mov dword [ecx + edi*4], eax
mov edx, dword [esp + 0x18]
test edx, edx
je 0x1009af65
mov ecx, dword [esp + 0x10]
call fcn.10027de0
mov ebx, dword [ebx + 4]
inc dword [esp + 0x60]
mov dword [esp + 0x5c], ebx
test ebx, ebx
jne 0x1009abd1
mov ebx, dword [esp + 0x44]
mov ecx, dword [esi + 0x6c]
lea edx, [ebx + 1]
cmp dword [esi + 0x70], ecx
jg 0x1009af9d
push 0
push edx
push 0
mov edx, 0x27
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
jmp 0x1009afcc
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x27
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [esi + 0x6c]
cmp byte [eax + 0x57], 0
je 0x1009afde
mov eax, 0x1017bac0
jmp 0x1009afe7
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x90]
mov dword [eax + 8], edx
test ecx, ecx
je 0x1009885c
mov edx, dword [esp + 0x1c]
jmp 0x1009a8b1
test edx, edx
je 0x10098400
mov ecx, dword [esp + 0x20]
mov edx, 1
push 0
call fcn.10097a40
mov ecx, dword [esp + 0x14]
xor edx, edx
add esp, 4
test al, al
setne dl
call fcn.1008cc40
mov edx, edi
jmp 0x10098860
mov ebx, dword [esp + 0x1c]
xor eax, eax
mov dword [esp + 0x40], eax
xor ecx, ecx
movzx eax, byte [edi]
mov al, byte [eax + 0x10162840]
cmp al, 0x71
mov byte [esp + 0x6f], al
mov eax, dword [esp + 0x38]
sete cl
mov dword [esp + 0xb8], ecx
mov ecx, 0xffffffff
cmp dword [eax], 0
mov eax, dword [esp + 0x84]
cmove eax, ecx
mov dword [ebx + 0x2c], 6
mov dword [esp + 0x84], eax
mov eax, 0x64
mov dword [esp + 0x30], eax
mov dword [esp + 0x18], eax
test edx, edx
je 0x1009b0ec
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x18]
call fcn.1002ce50
test eax, eax
je 0x1009b0b2
mov eax, dword [esp + 0x18]
mov dword [esp + 0x30], eax
test eax, eax
jg 0x1009b0ec
mov eax, 0x64
jmp 0x1009b0e8
mov eax, dword [esp + 0x84]
test eax, eax
js 0x1009b0cd
mov ecx, eax
mov eax, dword [esp + 0x10]
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8]
jmp 0x1009b0cf
xor eax, eax
push eax
push dword [esp + 0x24]
xor edx, edx
mov ecx, ebx
call fcn.1007be70
mov dword [esp + 0x48], eax
add esp, 8
mov eax, dword [esp + 0x18]
mov dword [esp + 0x30], eax
mov ecx, dword [esi + 0x6c]
lea edx, [eax - 1]
cmp dword [esi + 0x70], ecx
jg 0x1009b10d
push 0
push 1
push edx
mov edx, 0x47
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
jmp 0x1009b13c
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x14], edi
lea ebx, [ecx + 1]
cmp dword [eax + 0x14], ecx
jle 0x1009d710
mov edx, dword [esp + 0x84]
lea eax, [esi + 0x70]
mov dword [esp + 0x34], eax
lea eax, [esi + 0x6c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x14], edi
mov dword [esp + 0xc8], 0x10
nop
xor ebx, ebx
test edx, edx
js 0x1009b18e
cmp ecx, edx
jne 0x1009d6f7
mov ecx, dword [esp + 0x1c]
mov edx, ecx
mov eax, dword [ecx + 0x80]
test eax, eax
mov ecx, dword [esp + 0x50]
cmovne edx, eax
mov eax, 1
shl eax, cl
mov edi, dword [edx + 0x5c]
test edi, eax
jne 0x1009b1c7
bts edi, ecx
mov dword [edx + 0x5c], edi
cmp ecx, 1
jne 0x1009b1c7
mov ecx, edx
call fcn.10084900
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x1c]
add ecx, ecx
xor edx, edx
mov byte [eax + 0x17], bl
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8 + 0xc]
mov dword [esp + 0x24], eax
mov edi, dword [eax + 0x10]
test edi, edi
je 0x1009d6ec
mov ecx, dword [esp + 0x40]
mov eax, dword [edi + 8]
test ecx, ecx
je 0x1009b1fb
cmp ecx, eax
jne 0x1009b222
test byte [eax + 0x1c], 0x80
jne 0x1009b202
inc edx
mov eax, dword [eax + 8]
xor ecx, ecx
test eax, eax
je 0x1009b219
nop dword [eax + eax]
mov eax, dword [eax + 0x14]
inc edx
inc ecx
test eax, eax
jne 0x1009b210
cmp ecx, ebx
cmovg ebx, ecx
mov ecx, dword [esp + 0x40]
mov edi, dword [edi]
test edi, edi
jne 0x1009b1f0
mov dword [esp + 0x18], ebx
test edx, edx
je 0x1009d6ec
test ecx, ecx
lea eax, [edx + 1]
mov ecx, dword [esp + 0x10]
cmove eax, edx
push edi
lea eax, [eax*4 + 4]
push eax
call fcn.10028280
mov edi, eax
add esp, 8
test edi, edi
je 0x1009d70b
xor edx, edx
cmp dword [esp + 0x40], edx
je 0x1009b26f
mov edx, 1
mov dword [edi + 4], 0
mov ebx, dword [esp + 0x24]
mov ebx, dword [ebx + 0x10]
test ebx, ebx
je 0x1009b2bd
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x40]
mov dword [esp + 0x18], eax
mov ecx, dword [ebx + 8]
test esi, esi
je 0x1009b291
cmp esi, ecx
jne 0x1009b2b3
test byte [ecx + 0x1c], 0x80
jne 0x1009b29e
mov eax, dword [ecx + 0x14]
inc edx
mov dword [edi + edx*4], eax
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x1009b2b3
mov eax, dword [ecx + 0x2c]
inc edx
mov dword [edi + edx*4], eax
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x1009b2a5
mov ebx, dword [ebx]
test ebx, ebx
jne 0x1009b286
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
add eax, 8
mov dword [edi], edx
cmp dword [ecx + 0x2c], eax
jge 0x1009b2d2
mov dword [ecx + 0x2c], eax
mov eax, dword [esp + 0x34]
mov byte [ecx + 0x13], 0
mov dword [ecx + 0x1c], 0
mov ecx, dword [esp + 0x28]
mov ebx, dword [ecx]
cmp dword [eax], ebx
jg 0x1009b303
push 1
push edx
push 2
mov edx, 0x9b
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
mov ebx, eax
jmp 0x1009b335
lea eax, [ebx + 1]
mov dword [ecx], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x3c]
mov dword [eax + ecx*4], 0x9b
mov dword [eax + ecx*4 + 4], 2
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 1
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
je 0x1009b34d
push edi
mov edx, 0xfffffff2
call fcn.100509c0
add esp, 4
jmp 0x1009b380
test ebx, ebx
jns 0x1009b358
mov eax, dword [esp + 0x28]
mov ebx, dword [eax]
dec ebx
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x1009b379
push 0xfffffffffffffff2
push edi
mov edx, eax
mov ecx, esi
call fcn.10050ab0
add esp, 8
jmp 0x1009b380
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0xf2
mov ebx, dword [esp + 0x28]
mov eax, dword [ebx]
test eax, eax
jle 0x1009b39c
mov ecx, dword [esp + 0x50]
movzx edx, cl
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov eax, dword [esp + 0x34]
mov edi, dword [ebx]
cmp dword [eax], edi
jg 0x1009b3bf
push 0
push 0
push 2
mov edx, 0x32
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
mov edi, eax
jmp 0x1009b3f1
lea eax, [edi + 1]
mov dword [ebx], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], 2
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x50]
add ecx, ecx
mov eax, dword [edx + 0x10]
push dword [eax + ecx*8]
push str._in_database__s__n
push edx
call fcn.1002a740
mov ecx, dword [esp + 0x34]
mov ebx, eax
mov eax, dword [esp + 0x40]
add esp, 0xc
mov edx, dword [ecx]
cmp dword [eax], edx
jg 0x1009b438
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
mov edx, eax
jmp 0x1009b46e
lea eax, [edx + 1]
mov dword [ecx], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x3c]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
je 0x1009b486
push ebx
mov edx, 0xfffffffa
call fcn.100509c0
add esp, 4
jmp 0x1009b4bd
test edx, edx
jns 0x1009b491
mov eax, dword [esp + 0x28]
mov edx, dword [eax]
dec edx
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x1009b4b2
push 0xfffffffffffffffa
push ebx
mov edx, eax
mov ecx, esi
call fcn.10050ab0
add esp, 8
jmp 0x1009b4bd
test ebx, ebx
je 0x1009b4bd
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0xfa
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x34]
mov ecx, dword [ebx]
cmp dword [eax], ecx
jg 0x1009b4e2
push 3
push 3
push 2
mov edx, 0x6f
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
jmp 0x1009b514
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 2
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, esi
call fcn.10097e20
mov eax, dword [esi]
mov edx, dword [ebx]
cmp byte [eax + 0x57], 0
je 0x1009b52c
mov eax, 0x1017bac0
jmp 0x1009b535
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x24]
mov edi, dword [eax + 0x10]
mov dword [esp + 0x2c], edi
test edi, edi
je 0x1009d6ec
mov eax, dword [esp + 0x40]
nop
mov edi, dword [edi + 8]
mov dword [esp + 0x54], edi
mov dword [esp + 0xa4], 0
mov dword [esp + 0x64], 0xffffffff
test eax, eax
je 0x1009b576
cmp eax, edi
jne 0x1009d6da
mov al, byte [edi + 0x2b]
test al, al
je 0x1009b709
cmp al, 1
jne 0x1009d6d6
cmp word [edi + 0x22], 0
jg 0x1009b5b3
mov eax, dword [edi + 0x30]
mov ecx, dword [esp + 0x10]
push 0
add ecx, 0x184
mov edx, dword [eax]
call fcn.1002e7d0
add esp, 4
cmp dword [eax + 8], 0
je 0x1009d6d6
cmp byte [edi + 0x2b], 1
je 0x1009b5c0
cmp word [edi + 0x22], 0
jg 0x1009b5cb
mov ecx, dword [esp + 0x1c]
mov edx, edi
call fcn.10080630
mov eax, dword [edi + 0x34]
test eax, eax
je 0x1009d6d6
mov eax, dword [eax + 8]
test eax, eax
je 0x1009d6d6
mov eax, dword [eax]
test eax, eax
je 0x1009d6d6
cmp dword [eax], 4
jl 0x1009d6d6
cmp dword [eax + 0x60], 0
je 0x1009d6d6
mov eax, dword [esp + 0x34]
mov ecx, dword [ebx]
cmp dword [eax], ecx
jg 0x1009b626
push dword [esp + 0xb8]
mov edx, 0xae
mov ecx, esi
push 3
push dword [esp + 0x58]
call fcn.1004fd40
add esp, 0xc
jmp 0x1009b65b
mov edx, dword [esp + 0x50]
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xae
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0xb8]
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
je 0x1009b673
push edi
mov edx, 0xfffffffb
call fcn.100509c0
add esp, 4
jmp 0x1009b684
mov eax, dword [ebx]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
mov byte [eax + ecx*4 - 0x13], 0xfb
mov dword [eax + ecx*4 - 4], edi
mov eax, dword [esp + 0x34]
mov edi, dword [ebx]
cmp dword [eax], edi
jg 0x1009b6a7
push 0
push 0
push 3
mov edx, 0x32
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
mov edi, eax
jmp 0x1009b6d9
lea eax, [edi + 1]
mov dword [ebx], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], 3
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, esi
call fcn.10097e20
mov eax, dword [esi]
mov edx, dword [ebx]
cmp byte [eax + 0x57], 0
je 0x1009b6f7
mov eax, 0x1017bac0
mov dword [eax + 8], edx
jmp 0x1009d6d6
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
mov dword [eax + ecx*4 + 8], edx
lea eax, [eax + ecx*4]
jmp 0x1009d6d6
cmp byte [esp + 0x6f], 0x71
je 0x1009b80b
test byte [edi + 0x1c], 0x80
je 0x1009b80b
mov ecx, dword [edi + 8]
mov dword [esp + 0x60], ecx
test ecx, ecx
je 0x1009b744
nop dword [eax]
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x1009b740
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x1009b730
mov dword [esp + 0x60], ecx
movzx ecx, word [ecx + 0x32]
cmp ecx, 1
jne 0x1009b779
mov ecx, dword [esp + 0x1c]
mov al, byte [ecx + 0x13]
test al, al
jne 0x1009b764
inc dword [ecx + 0x2c]
mov eax, dword [ecx + 0x2c]
mov dword [esp + 0x4c], eax
jmp 0x1009b7a6
dec al
mov byte [ecx + 0x13], al
movzx eax, al
mov eax, dword [ecx + eax*4 + 0xa4]
mov dword [esp + 0x4c], eax
jmp 0x1009b7a6
mov edi, dword [esp + 0x1c]
mov edx, dword [edi + 0x1c]
mov eax, dword [edi + 0x20]
mov dword [esp + 0x4c], eax
cmp ecx, edx
jg 0x1009b797
add eax, ecx
sub edx, ecx
mov dword [edi + 0x20], eax
mov dword [edi + 0x1c], edx
jmp 0x1009b7a6
mov eax, dword [edi + 0x2c]
lea edx, [eax + 1]
add eax, ecx
mov dword [esp + 0x4c], edx
mov dword [edi + 0x2c], eax
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x4c]
mov edi, dword [esp + 0x34]
dec edx
mov ecx, dword [ebx]
movzx eax, word [eax + 0x32]
add edx, eax
cmp dword [edi], ecx
jg 0x1009b7d7
push edx
push dword [esp + 0x50]
mov edx, 0x4b
mov ecx, esi
push 1
call fcn.1004fd40
add esp, 0xc
jmp 0x1009b81f
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x4c]
mov dword [eax + ecx*4], 0x4b
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [esp + 0x3c]
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x1009b81f
mov edi, dword [esp + 0x34]
mov dword [esp + 0x60], 0
mov dword [esp + 0x4c], 0
mov edx, dword [esp + 0x54]
lea eax, [esp + 0x58]
mov ecx, dword [esp + 0x1c]
push eax
lea eax, [esp + 0x8c]
push eax
push 0
push 1
push 0
push 0x70
call fcn.10095670
mov ecx, dword [ebx]
add esp, 0x18
cmp dword [edi], ecx
jg 0x1009b861
push 0
push 7
push 0
mov edx, 0x47
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
jmp 0x1009b893
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 7
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x54]
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x1009b909
mov edx, dword [esp + 0x28]
mov edi, 8
mov eax, dword [esp + 0x34]
mov ecx, dword [edx]
cmp dword [eax], ecx
jg 0x1009b8cb
push 0
push edi
push 0
mov edx, 0x47
mov ecx, esi
call fcn.1004fd40
mov edx, dword [esp + 0x34]
add esp, 0xc
jmp 0x1009b8fd
lea eax, [ecx + 1]
mov dword [edx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x3c]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ebx, dword [ebx + 0x14]
inc edi
test ebx, ebx
jne 0x1009b8a7
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x28]
mov ecx, dword [ebx]
cmp dword [edi], ecx
jg 0x1009b92f
push 0
push 0
push dword [esp + 0x90]
mov edx, 0x24
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
jmp 0x1009b964
mov edx, dword [esp + 0x88]
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x24
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [ebx]
mov dword [esp + 0x24], edx
cmp dword [edi], edx
jg 0x1009b989
push 0
push 1
push 7
mov edx, 0x56
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
mov dword [esp + 0x24], eax
jmp 0x1009b9bb
lea eax, [edx + 1]
mov dword [ebx], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x56
mov dword [eax + ecx*4 + 4], 7
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x54]
test byte [eax + 0x1c], 0x80
jne 0x1009b9ff
movsx edi, word [eax + 0x22]
or ecx, 0xffffffff
test edi, edi
jle 0x1009b9ed
mov edx, dword [eax + 4]
add edx, 0xe
test byte [edx], 0x20
lea eax, [ecx + 1]
lea edx, [edx + 0x10]
cmovne eax, ecx
mov ecx, eax
sub edi, 1
jne 0x1009b9d6
mov eax, dword [esp + 0x54]
movsx eax, word [eax + 0x20]
lea edx, [ecx - 1]
mov edi, dword [esp + 0x34]
cmp ecx, eax
cmovne edx, ecx
jmp 0x1009ba1b
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x1009ba16
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x1009ba16
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x1009ba06
movzx edx, word [ecx + 0x34]
dec edx
test edx, edx
js 0x1009baa6
mov ecx, dword [ebx]
cmp dword [edi], ecx
jg 0x1009ba44
push 3
push edx
push dword [esp + 0x90]
mov edx, 0x5e
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
jmp 0x1009ba75
mov edi, dword [esp + 0x88]
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x5e
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x1009ba84
mov eax, 0x1017bac0
jmp 0x1009ba92
mov eax, dword [ebx]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + ecx*4]
add eax, 0xffffffec
cmp dword [eax + 0xc], 3
jne 0x1009baa6
cmp byte [eax], 0x5e
jne 0x1009baa6
mov ecx, 0x80
or word [eax + 2], cx
cmp byte [esp + 0x6f], 0x71
je 0x1009bcca
mov ecx, dword [esp + 0x60]
test ecx, ecx
je 0x1009bcca
mov eax, dword [esp + 0x34]
mov edi, dword [ebx]
movzx edx, word [ecx + 0x32]
cmp dword [eax], edi
jg 0x1009baec
push edx
push dword [esp + 0x50]
mov edx, 0x29
mov ecx, esi
push 0
push dword [esp + 0x94]
call fcn.1004fd80
add esp, 0x10
mov edi, eax
jmp 0x1009bb21
lea eax, [edi + 1]
mov dword [ebx], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x88]
mov dword [eax + ecx*4], 0xfd29
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x4c]
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], esi
mov esi, dword [esp + 0x3c]
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [esp + 0x34]
mov ecx, dword [ebx]
cmp dword [eax], ecx
jg 0x1009bb44
push 0
push 0
push dword [esp + 0x54]
mov edx, 0x32
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
jmp 0x1009bb76
mov edx, dword [esp + 0x4c]
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x54]
push dword [eax]
push str.row_not_in_PRIMARY_KEY_order_for__s
push dword [esp + 0x18]
call fcn.1002a740
mov ecx, dword [esp + 0x34]
mov ebx, eax
mov eax, dword [esp + 0x40]
add esp, 0xc
mov edx, dword [ecx]
cmp dword [eax], edx
jg 0x1009bbb6
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
mov edx, eax
jmp 0x1009bbec
lea eax, [edx + 1]
mov dword [ecx], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x3c]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
je 0x1009bc04
push ebx
mov edx, 0xfffffffa
call fcn.100509c0
add esp, 4
jmp 0x1009bc3b
test edx, edx
jns 0x1009bc0f
mov eax, dword [esp + 0x28]
mov edx, dword [eax]
dec edx
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x1009bc30
push 0xfffffffffffffffa
push ebx
mov edx, eax
mov ecx, esi
call fcn.10050ab0
add esp, 8
jmp 0x1009bc3b
test ebx, ebx
je 0x1009bc3b
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0xfa
mov ecx, esi
call fcn.10097e20
mov eax, dword [esi]
mov ebx, dword [esp + 0x28]
cmp byte [eax + 0x57], 0
mov edx, dword [ebx]
je 0x1009bc57
mov eax, 0x1017bac0
jmp 0x1009bc60
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esi]
mov edx, dword [ebx]
cmp byte [eax + 0x57], 0
je 0x1009bc74
mov eax, 0x1017bac8
jmp 0x1009bc80
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
add eax, 0x1c
mov ecx, dword [esp + 0x60]
xor edi, edi
mov dword [eax], edx
xor eax, eax
cmp ax, word [ecx + 0x32]
jae 0x1009bcca
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0x88]
nop dword [eax + eax]
mov eax, dword [esp + 0x4c]
mov edx, ecx
add eax, edi
mov ecx, ebx
push eax
push edi
push esi
call fcn.1006e4b0
mov ecx, dword [esp + 0x6c]
inc edi
add esp, 0xc
movzx eax, word [ecx + 0x32]
cmp edi, eax
jl 0x1009bca0
mov esi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x54]
xor edi, edi
xor ecx, ecx
mov dword [esp + 0x68], edi
movzx edx, word [eax + 0x1e]
and edx, 1
mov dword [esp + 0x44], edx
cmp cx, word [eax + 0x22]
jge 0x1009c873
jmp 0x1009bcf4
mov ebx, dword [esp + 0x28]
mov ecx, edi
shl ecx, 4
add ecx, dword [eax + 4]
movsx eax, word [eax + 0x20]
mov dword [esp + 0x18], ecx
cmp edi, eax
je 0x1009c85a
test edx, edx
je 0x1009bd25
mov eax, dword [ecx + 4]
and eax, 0xf0
cmp dword [esp + 0xc8], eax
sbb eax, eax
neg eax
jmp 0x1009bd2e
xor eax, eax
cmp byte [ecx + 8], 0x41
setg al
test byte [ecx + 4], 0xf
mov dword [esp + 0xa0], eax
jne 0x1009bd43
test eax, eax
je 0x1009c85a
test byte [ecx + 0xe], 0x20
mov dword [esp + 0x5c], 5
je 0x1009bd7b
mov edx, dword [esp + 0x54]
mov ecx, esi
push 3
push edi
push dword [esp + 0x90]
call fcn.1006e720
add esp, 0xc
or ecx, 0xffffffff
mov dword [esp + 0x8c], ecx
lea edi, [ecx + 4]
jmp 0x1009be98
cmp word [ecx + 0xc], 0
je 0x1009be3b
mov dword [esp + 0xbc], 0
mov al, byte [ecx + 8]
mov byte [esp + 0xcc], al
mov eax, dword [esp + 0x10]
mov al, byte [eax + 0x54]
mov byte [esp + 0xd0], al
movzx eax, word [ecx + 0xc]
test ax, ax
je 0x1009be3b
mov ecx, dword [esp + 0x54]
cmp byte [ecx + 0x2b], 0
jne 0x1009be3b
mov ecx, dword [ecx + 0x34]
test ecx, ecx
je 0x1009be3b
cmp dword [ecx], eax
jl 0x1009be3b
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 - 0xc]
test edx, edx
je 0x1009be3b
push ecx
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0xc0]
push eax
push dword [esp + 0xd4]
push dword [esp + 0xdc]
call fcn.1004f540
mov edi, dword [esp + 0xcc]
add esp, 0x10
test edi, edi
je 0x1009be37
movzx ecx, word [edi + 0x10]
mov eax, ecx
and eax, 0x3f
movzx eax, byte [eax + 0x101665a8]
mov dword [esp + 0x5c], eax
test ecx, 0x9000
jne 0x1009be26
cmp dword [edi + 0x18], 0
je 0x1009be2d
mov ecx, edi
call fcn.1004e640
mov ecx, dword [edi + 0x14]
mov edx, edi
call fcn.10027de0
mov edi, dword [esp + 0x68]
mov eax, dword [esp + 0x88]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x54]
mov ecx, eax
test byte [eax + 0x1c], 0x80
je 0x1009be87
call fcn.1007cc00
xor ecx, ecx
movzx edx, word [eax + 0x34]
test edx, edx
je 0x1009be7d
mov eax, dword [eax + 4]
movzx edi, di
nop word [eax + eax]
cmp di, word [eax]
je 0x1009be82
inc ecx
add eax, 2
cmp ecx, edx
jl 0x1009be70
or eax, 0xffffffff
jmp 0x1009be8e
movzx eax, cx
jmp 0x1009be8e
mov edx, edi
call fcn.1007cc50
mov ecx, dword [esp + 0x8c]
movsx edi, ax
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x48], edi
mov eax, dword [edx + 0x38]
dec eax
mov dword [esp + 0x90], eax
dec eax
mov dword [edx + 0x38], eax
mov edx, dword [esp + 0x18]
mov dword [esp + 0x38], eax
test byte [edx + 4], 0xf
je 0x1009c1b2
mov esi, dword [esp + 0x34]
mov edx, dword [ebx]
mov dword [esp + 0x94], edx
cmp dword [esi], edx
mov esi, dword [esp + 0x3c]
jg 0x1009bef7
push dword [esp + 0x5c]
mov edx, 0x12
push edi
push eax
push ecx
mov ecx, esi
call fcn.1004fd80
mov edx, eax
add esp, 0x10
mov dword [esp + 0x94], edx
jmp 0x1009bf2c
lea eax, [edx + 1]
mov dword [ebx], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov ebx, dword [esp + 0x8c]
mov dword [eax + ecx*4], 0xfd12
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x38]
mov dword [eax + ecx*4 + 8], ebx
mov ebx, dword [esp + 0x5c]
mov dword [eax + ecx*4 + 0xc], edi
mov dword [eax + ecx*4 + 0x10], ebx
mov ebx, dword [esp + 0x28]
cmp dword [esp + 0x8c], 0
mov eax, dword [esp + 0x98]
mov eax, dword [eax + 0x6c]
jge 0x1009bf60
test eax, eax
jle 0x1009bf54
lea ecx, [eax + eax*4]
mov edi, 0xf
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], di
mov dword [esp + 0x9c], edx
jmp 0x1009c02d
test eax, eax
jle 0x1009bf74
lea ecx, [eax + eax*4]
mov edx, 0xd
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov eax, dword [esp + 0x34]
mov ecx, dword [ebx]
cmp dword [eax], ecx
jg 0x1009bf99
push 3
push edi
push dword [esp + 0x94]
mov edx, 0x5e
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
jmp 0x1009bfca
mov edx, dword [esp + 0x8c]
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x5e
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x34]
mov edx, dword [ebx]
mov dword [esp + 0x9c], edx
cmp dword [eax], edx
jg 0x1009bffb
push 0
push dword [esp + 0x3c]
mov edx, 0x33
mov ecx, esi
push 3
call fcn.1004fd40
add esp, 0xc
mov dword [esp + 0x9c], eax
jmp 0x1009c02d
lea eax, [edx + 1]
mov dword [ebx], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov edx, dword [esp + 0x38]
mov dword [eax + ecx*4], 0x33
mov dword [eax + ecx*4 + 4], 3
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x54]
push dword [edi]
push dword [eax]
push str.NULL_value_in__s._s
push dword [esp + 0x1c]
call fcn.1002a740
mov edx, dword [ebx]
mov edi, eax
mov eax, dword [esp + 0x44]
add esp, 0x10
cmp dword [eax], edx
jg 0x1009c06f
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
mov edx, eax
jmp 0x1009c0a5
lea eax, [edx + 1]
mov dword [ebx], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov ebx, dword [esp + 0x28]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
je 0x1009c0bd
push edi
mov edx, 0xfffffffa
call fcn.100509c0
add esp, 4
jmp 0x1009c0f0
test edx, edx
jns 0x1009c0c4
mov edx, dword [ebx]
dec edx
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x1009c0e5
push 0xfffffffffffffffa
push edi
mov edx, eax
mov ecx, esi
call fcn.10050ab0
add esp, 8
jmp 0x1009c0f0
test edi, edi
je 0x1009c0f0
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0xfa
mov edi, dword [esp + 0xa0]
test edi, edi
je 0x1009c1a8
mov eax, dword [esp + 0x34]
mov ecx, dword [ebx]
mov edx, dword [esp + 0x90]
cmp dword [eax], ecx
jg 0x1009c126
push 0
push edx
push 0
mov edx, 9
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
jmp 0x1009c154
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [ebx]
cmp byte [eax + 0x57], 0
je 0x1009c165
mov eax, 0x1017bac0
jmp 0x1009c175
mov eax, dword [esp + 0x94]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esi]
mov edx, dword [ebx]
cmp byte [eax + 0x57], 0
je 0x1009c194
mov eax, 0x1017bac0
mov dword [eax + 8], edx
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x38]
jmp 0x1009c1b9
mov eax, dword [esp + 0x9c]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 8], edx
lea eax, [eax + ecx*4]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x38]
jmp 0x1009c1b9
mov edi, dword [esp + 0xa0]
cmp dword [esp + 0x44], 0
je 0x1009c355
test edi, edi
je 0x1009c336
mov edx, dword [esp + 0x34]
mov ecx, dword [ebx]
cmp dword [edx], ecx
jg 0x1009c1f8
push dword [esp + 0x5c]
mov edx, dword [esp + 0x4c]
mov ecx, esi
push edx
push eax
push dword [esp + 0x98]
mov edx, 0x12
call fcn.1004fd80
add esp, 0x10
jmp 0x1009c22d
mov edx, dword [esp + 0x8c]
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xfd12
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x38]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x48]
mov dword [eax + ecx*4 + 0xc], edx
mov edx, dword [esp + 0x5c]
mov dword [eax + ecx*4 + 0x10], edx
mov ecx, dword [ebx]
mov edi, dword [esp + 0x18]
test ecx, ecx
jle 0x1009c252
mov eax, dword [edi + 4]
lea ecx, [ecx + ecx*4]
shr eax, 4
and eax, 0xf
movzx edx, byte [eax + 0x1016708f]
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x68]
add ecx, ecx
mov eax, dword [edx + 4]
push dword [eax + ecx*8]
mov eax, dword [edi + 4]
push dword [edx]
shr eax, 4
and eax, 0xf
push dword [eax*4 + 0x1017a014]
push str.non__s_value_in__s._s
push dword [esp + 0x20]
call fcn.1002a740
mov edx, dword [ebx]
mov edi, eax
mov eax, dword [esp + 0x48]
add esp, 0x14
cmp dword [eax], edx
jg 0x1009c2aa
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
mov edx, eax
jmp 0x1009c2e0
lea eax, [edx + 1]
mov dword [ebx], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov ebx, dword [esp + 0x28]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
je 0x1009c2fb
push edi
mov edx, 0xfffffffa
call fcn.100509c0
add esp, 4
jmp 0x1009c7f4
test edx, edx
jns 0x1009c302
mov edx, dword [ebx]
dec edx
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x1009c326
push 0xfffffffffffffffa
push edi
mov edx, eax
mov ecx, esi
call fcn.10050ab0
add esp, 8
jmp 0x1009c7f4
test edi, edi
je 0x1009c7f4
mov dword [eax + 0x10], edi
jmp 0x1009c7f0
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x98]
mov dword [esp + 0x14], edi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x98], ebx
jmp 0x1009c7f4
cmp byte [edx + 8], 0x42
mov edi, esi
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x98]
mov dword [esp + 0xa0], eax
mov dword [esp + 0x9c], ecx
jne 0x1009c516
mov eax, dword [esp + 0x34]
mov ecx, dword [ebx]
cmp dword [eax], ecx
jg 0x1009c3a9
push dword [esp + 0x5c]
mov edx, dword [esp + 0x4c]
mov ecx, esi
push edx
push dword [esp + 0x40]
mov edx, 0x12
push dword [esp + 0x98]
call fcn.1004fd80
add esp, 0x10
jmp 0x1009c3de
mov edx, dword [esp + 0x8c]
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xfd12
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x38]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x48]
mov dword [eax + ecx*4 + 0xc], edx
mov edx, dword [esp + 0x5c]
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [ebx]
test eax, eax
jle 0x1009c3f4
lea ecx, [eax + eax*4]
mov edx, 0x1c
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x68]
add ecx, ecx
mov eax, dword [edx + 4]
push dword [eax + ecx*8]
push dword [edx]
push str.NUMERIC_value_in__s._s
push dword [esp + 0x1c]
call fcn.1002a740
mov edx, dword [ebx]
mov edi, eax
mov eax, dword [esp + 0x44]
add esp, 0x10
cmp dword [eax], edx
jg 0x1009c43c
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
mov edx, eax
jmp 0x1009c472
lea eax, [edx + 1]
mov dword [ebx], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov ebx, dword [esp + 0x28]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
je 0x1009c4a7
push edi
mov edx, 0xfffffffa
call fcn.100509c0
mov eax, dword [esp + 0x18]
add esp, 4
mov ebx, dword [esp + 0x98]
mov dword [esp + 0x14], eax
mov dword [esp + 0x3c], esi
mov dword [esp + 0x98], ebx
jmp 0x1009c7f4
test edx, edx
jns 0x1009c4ae
mov edx, dword [ebx]
dec edx
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x1009c4ec
push 0xfffffffffffffffa
push edi
mov edx, eax
mov ecx, esi
call fcn.10050ab0
mov eax, dword [esp + 0x1c]
add esp, 8
mov ebx, dword [esp + 0x98]
mov dword [esp + 0x14], eax
mov dword [esp + 0x3c], esi
mov dword [esp + 0x98], ebx
jmp 0x1009c7f4
test edi, edi
je 0x1009c4f7
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0xfa
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x98]
mov dword [esp + 0x14], eax
mov dword [esp + 0x3c], esi
mov dword [esp + 0x98], ebx
jmp 0x1009c7f4
cmp byte [edx + 8], 0x43
mov esi, edi
mov dword [esp + 0x14], eax
mov dword [esp + 0x3c], esi
mov dword [esp + 0x98], ecx
jl 0x1009c7f4
mov eax, dword [esp + 0x34]
mov ecx, dword [ebx]
mov esi, dword [esp + 0x8c]
cmp dword [eax], ecx
jg 0x1009c561
push dword [esp + 0x5c]
mov edx, dword [esp + 0x4c]
mov ecx, edi
push edx
push dword [esp + 0x40]
mov edx, 0x12
push esi
call fcn.1004fd80
add esp, 0x10
jmp 0x1009c58f
mov edx, dword [esp + 0x38]
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0xfd12
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x48]
mov dword [eax + ecx*4 + 0xc], edx
mov edx, dword [esp + 0x5c]
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [ebx]
test eax, eax
jle 0x1009c5a5
lea ecx, [eax + eax*4]
mov edx, 0x1b
mov eax, dword [edi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
test esi, esi
mov esi, dword [esp + 0x68]
js 0x1009c5c5
mov edx, dword [esp + 0x54]
mov ecx, edi
push 3
push esi
push dword [esp + 0x90]
call fcn.1006e720
add esp, 0xc
mov eax, dword [esp + 0x34]
mov edx, dword [ebx]
cmp dword [eax], edx
jg 0x1009c5e8
push 0
push 1
push 3
mov edx, 0x60
mov ecx, edi
call fcn.1004fd40
add esp, 0xc
mov edx, eax
jmp 0x1009c61e
mov esi, dword [esp + 0x68]
lea eax, [edx + 1]
mov dword [ebx], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x60
mov dword [eax + ecx*4 + 4], 3
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi]
cmp byte [ecx + 0x57], 0
je 0x1009c638
push 0x1016d49c
or edx, 0xffffffff
call fcn.100509c0
add esp, 4
jmp 0x1009c66f
test edx, edx
jns 0x1009c63f
mov edx, dword [ebx]
dec edx
mov eax, dword [edi + 0x68]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x1009c664
push 0xffffffffffffffff
push 0x1016d49c
mov edx, eax
mov ecx, edi
call fcn.10050ab0
add esp, 8
jmp 0x1009c66f
mov dword [eax + 0x10], 0x1016d49c
mov byte [eax + 1], 0xff
mov eax, dword [esp + 0x34]
mov ecx, dword [ebx]
cmp dword [eax], ecx
jg 0x1009c696
push dword [esp + 0x5c]
mov edx, 0x12
mov ecx, edi
push 3
push dword [esp + 0x40]
push 0xffffffffffffffff
call fcn.1004fd80
add esp, 0x10
jmp 0x1009c6c8
mov edx, dword [esp + 0x38]
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0xfd12
mov dword [eax + ecx*4 + 4], 0xffffffff
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x5c]
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [ebx]
test eax, eax
jle 0x1009c6de
lea ecx, [eax + eax*4]
mov edx, 0x1c
mov eax, dword [edi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov edx, dword [esp + 0x54]
add esi, esi
mov eax, dword [edx + 4]
push dword [eax + esi*8]
push dword [edx]
push str.TEXT_value_in__s._s
push dword [esp + 0x1c]
call fcn.1002a740
mov esi, dword [esp + 0x38]
mov ebx, eax
mov eax, dword [esp + 0x44]
add esp, 0x10
mov edx, dword [esi]
cmp dword [eax], edx
jg 0x1009c726
push 0
push 3
push 0
mov edx, 0x75
mov ecx, edi
call fcn.1004fd40
add esp, 0xc
mov edx, eax
jmp 0x1009c75c
lea eax, [edx + 1]
mov dword [esi], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
mov esi, dword [esp + 0x28]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi]
cmp byte [ecx + 0x57], 0
je 0x1009c793
push ebx
mov edx, 0xfffffffa
call fcn.100509c0
add esp, 4
mov ecx, dword [esp + 0xa0]
mov esi, edi
mov edx, dword [esp + 0x9c]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x98], edx
jmp 0x1009c7f4
test edx, edx
jns 0x1009c79a
mov edx, dword [esi]
dec edx
mov eax, dword [edi + 0x68]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x1009c7bb
push 0xfffffffffffffffa
push ebx
mov edx, eax
mov ecx, edi
call fcn.10050ab0
add esp, 8
jmp 0x1009c772
mov ecx, dword [esp + 0xa0]
mov esi, edi
mov edx, dword [esp + 0x9c]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x98], edx
test ebx, ebx
je 0x1009c7f4
mov dword [eax + 0x10], ebx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x98], edx
mov byte [eax + 1], 0xfa
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x90]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x1009c819
push edx
mov edx, esi
call fcn.10050640
mov ebx, dword [esp + 0x2c]
add esp, 4
jmp 0x1009c825
mov ebx, dword [esp + 0x28]
mov ecx, dword [ecx + 0x40]
mov eax, dword [ebx]
mov dword [ecx + edx*4], eax
mov ecx, esi
call fcn.10097e20
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x38]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x1009c84a
push edx
mov edx, esi
call fcn.10050640
add esp, 4
jmp 0x1009c852
mov ecx, dword [ecx + 0x40]
mov eax, dword [ebx]
mov dword [ecx + edx*4], eax
mov edx, dword [esp + 0x44]
mov edi, dword [esp + 0x68]
mov eax, dword [esp + 0x54]
inc edi
mov dword [esp + 0x68], edi
movsx eax, word [eax + 0x22]
cmp edi, eax
mov eax, dword [esp + 0x54]
jl 0x1009bcf0
mov edx, dword [eax + 0x10]
test edx, edx
je 0x1009ca6a
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0x20]
and eax, 0x200
or eax, 0
jne 0x1009ca66
push eax
mov ecx, ebx
call fcn.1006a3a0
add esp, 4
mov edx, eax
cmp byte [ebx + 0x57], 0
mov dword [esp + 0x44], edx
jne 0x1009ca5b
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [eax + 0x38]
dec ebx
mov dword [esp + 0x94], ebx
lea eax, [ebx - 1]
mov dword [ecx + 0x38], eax
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x88]
inc eax
mov dword [ecx + 0x34], eax
mov edi, dword [edx]
dec edi
test edi, edi
jle 0x1009c91c
mov esi, dword [esp + 0x94]
lea ebx, [edi*4 + 2]
add ebx, edi
lea ebx, [edx + ebx*4]
push 0
push esi
push dword [ebx]
push ecx
call fcn.10071ef0
mov ecx, dword [esp + 0x2c]
lea ebx, [ebx - 0x14]
dec edi
add esp, 0x10
test edi, edi
jg 0x1009c8f3
mov esi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x94]
mov edx, dword [esp + 0x44]
push 0x10
push dword [esp + 0x94]
push dword [edx + 8]
push ecx
call fcn.10071980
mov ecx, dword [esi + 0xc]
add esp, 0x10
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x1009c94b
push ebx
mov edx, esi
call fcn.10050640
add esp, 4
jmp 0x1009c957
mov eax, dword [esp + 0x28]
mov ecx, dword [ecx + 0x40]
mov eax, dword [eax]
mov dword [ecx + ebx*4], eax
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x34], 0
mov eax, dword [esp + 0x54]
push dword [eax]
push str.CHECK_constraint_failed_in__s
push dword [esp + 0x18]
call fcn.1002a740
mov ebx, dword [esp + 0x34]
mov edi, eax
mov eax, dword [esp + 0x40]
add esp, 0xc
mov edx, dword [ebx]
cmp dword [eax], edx
jg 0x1009c9a2
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
mov edx, eax
jmp 0x1009c9d8
lea eax, [edx + 1]
mov dword [ebx], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov ebx, dword [esp + 0x28]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
je 0x1009c9f0
push edi
mov edx, 0xfffffffa
call fcn.100509c0
add esp, 4
jmp 0x1009ca23
test edx, edx
jns 0x1009c9f7
mov edx, dword [ebx]
dec edx
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x1009ca18
push 0xfffffffffffffffa
push edi
mov edx, eax
mov ecx, esi
call fcn.10050ab0
add esp, 8
jmp 0x1009ca23
test edi, edi
je 0x1009ca23
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0xfa
mov ecx, esi
call fcn.10097e20
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x90]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x1009ca4b
push edx
mov edx, esi
call fcn.10050640
add esp, 4
jmp 0x1009ca53
mov ecx, dword [ecx + 0x40]
mov eax, dword [ebx]
mov dword [ecx + edx*4], eax
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x44]
test edx, edx
je 0x1009ca66
mov ecx, ebx
call fcn.1006b040
mov eax, dword [esp + 0x54]
cmp byte [esp + 0x6f], 0x71
je 0x1009d449
mov ebx, dword [eax + 8]
xor edi, edi
mov dword [esp + 0x68], edi
mov dword [esp + 0x38], ebx
test ebx, ebx
je 0x1009d449
mov ecx, dword [esp + 0x1c]
nop
dec dword [ecx + 0x38]
mov eax, dword [ecx + 0x38]
mov dword [esp + 0x94], eax
cmp dword [esp + 0x60], ebx
je 0x1009d432
push dword [esp + 0x64]
lea eax, [esp + 0x74]
mov edx, ebx
push dword [esp + 0xa8]
push eax
push 0
push 0
push dword [esp + 0x9c]
call fcn.10087d60
lea edx, [edi + 8]
mov dword [esp + 0x7c], eax
mov edi, dword [esp + 0x40]
add esp, 0x18
mov eax, dword [esp + 0x34]
mov dword [esp + 0xa4], ebx
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x1009cafe
push 0
push 1
push edx
mov edx, 0x56
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
jmp 0x1009cb30
mov ebx, dword [esp + 0x38]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x56
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
movzx edx, word [ebx + 0x34]
mov eax, dword [esp + 0x34]
mov ebx, dword [esp + 0x68]
add ebx, dword [esp + 0x58]
mov edi, dword [edi]
cmp dword [eax], edi
jg 0x1009cb66
push edx
push dword [esp + 0x68]
mov edx, 0x1d
mov ecx, esi
push dword [esp + 0x9c]
push ebx
call fcn.1004fd80
add esp, 0x10
mov edi, eax
jmp 0x1009cb9b
mov ecx, dword [esp + 0x28]
lea eax, [edi + 1]
mov dword [ecx], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x3c]
mov dword [eax + ecx*4], 0xfd1d
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x94]
mov dword [eax + ecx*4 + 8], ebx
mov ebx, dword [esp + 0x64]
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], edx
push str.row
mov edx, 3
mov ecx, esi
call fcn.1004fe80
mov ebx, dword [esp + 0x2c]
add esp, 4
mov eax, dword [esp + 0x34]
mov ecx, dword [ebx]
cmp dword [eax], ecx
jg 0x1009cbd4
push 3
push 3
push 7
mov edx, 0x6f
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
jmp 0x1009cc06
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 7
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
push str._missing_from_index
mov edx, 4
mov ecx, esi
call fcn.1004fe80
mov eax, dword [esp + 0x38]
add esp, 4
mov ecx, dword [ebx]
cmp dword [eax], ecx
jg 0x1009cc3b
push 3
push 3
push 4
mov edx, 0x6f
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
jmp 0x1009cc6d
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 4
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x38]
mov edx, 4
mov ecx, esi
push dword [eax]
call fcn.1004fe80
mov ecx, dword [ebx]
add esp, 4
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x34]
cmp dword [eax], ecx
jg 0x1009cca7
push 3
push 3
push 4
mov edx, 0x6f
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
jmp 0x1009ccd9
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 4
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, esi
call fcn.10097e20
mov ecx, dword [esi]
mov edx, dword [ebx]
mov dword [esp + 0x94], eax
cmp byte [ecx + 0x57], 0
je 0x1009ccf8
mov ecx, 0x1017bac0
jmp 0x1009cd01
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x54]
mov dword [ecx + 8], edx
test byte [eax + 0x1c], 0x80
jne 0x1009ceba
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x68]
add edx, dword [esp + 0x58]
mov ecx, dword [ebx]
cmp dword [eax], ecx
jg 0x1009cd3a
push 0
push 3
push edx
mov edx, 0x8e
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
jmp 0x1009cd68
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x8e
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x64]
mov edi, dword [ebx]
dec edx
movzx eax, word [eax + 0x34]
add edx, eax
mov eax, dword [esp + 0x34]
cmp dword [eax], edi
jg 0x1009cd99
push edx
push 0
push 3
mov edx, 0x35
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
mov edi, eax
jmp 0x1009cdcb
lea eax, [edi + 1]
mov dword [ebx], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov ebx, dword [esp + 0x28]
mov dword [eax + ecx*4], 0x35
mov dword [eax + ecx*4 + 4], 3
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
push str.rowid_not_at_end_of_record_for_row
mov edx, 3
mov ecx, esi
call fcn.1004fe80
mov eax, dword [esp + 0x38]
add esp, 4
mov ecx, dword [ebx]
cmp dword [eax], ecx
jg 0x1009ce00
push 3
push 3
push 7
mov edx, 0x6f
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
jmp 0x1009ce32
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 7
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
push str._of_index
mov edx, 4
mov ecx, esi
call fcn.1004fe80
mov eax, dword [esp + 0x38]
add esp, 4
mov edx, dword [esp + 0x18]
mov ecx, dword [ebx]
dec edx
cmp dword [eax], ecx
jg 0x1009ce6b
push 0
push edx
push 0
mov edx, 9
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
jmp 0x1009ce9d
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov ebx, dword [esp + 0x28]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [ebx]
cmp byte [eax + 0x57], 0
je 0x1009ceae
mov eax, 0x1017bac0
jmp 0x1009ceb7
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov ecx, dword [esp + 0x38]
xor edi, edi
xor eax, eax
mov dword [esp + 0x44], edi
xor ebx, ebx
cmp ax, word [ecx + 0x32]
jae 0x1009d155
nop dword [eax]
nop word [eax + eax]
mov eax, dword [ecx + 0x20]
cmp dword [eax + edi*4], 0x10162204
je 0x1009cfc6
test ebx, ebx
jne 0x1009cefe
mov eax, dword [esp + 0x1c]
dec dword [eax + 0x38]
mov ebx, dword [eax + 0x38]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x34]
mov ecx, dword [edx]
cmp dword [eax], ecx
jg 0x1009cf29
mov eax, dword [esp + 0x68]
mov edx, 0x5e
add eax, dword [esp + 0x58]
mov ecx, esi
push 3
push edi
push eax
call fcn.1004fd40
add esp, 0xc
jmp 0x1009cf63
mov edi, dword [esp + 0x44]
lea eax, [ecx + 1]
mov dword [edx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x68]
add esi, dword [esp + 0x58]
mov dword [eax + ecx*4], 0x5e
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x3c]
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x34]
mov ecx, dword [edx]
mov edx, dword [esp + 0x64]
add edx, edi
cmp dword [eax], ecx
jg 0x1009cf8c
push edx
push ebx
push 3
mov edx, 0x34
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
jmp 0x1009cfc2
mov esi, dword [esp + 0x28]
lea eax, [ecx + 1]
mov edi, dword [esp + 0x44]
lea ecx, [ecx + ecx*4]
mov dword [esi], eax
mov esi, dword [esp + 0x3c]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x34
mov dword [eax + ecx*4 + 4], 3
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x38]
movzx eax, word [ecx + 0x32]
inc edi
mov dword [esp + 0x44], edi
cmp edi, eax
jl 0x1009cee0
test ebx, ebx
je 0x1009d155
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x34]
mov edi, dword [edx]
cmp dword [eax], edi
jg 0x1009d006
push 0
push 0
push 0
mov edx, 9
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
mov edi, eax
jmp 0x1009d038
lea eax, [edi + 1]
mov dword [edx], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0xc]
not ebx
mov edx, dword [esp + 0x28]
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x1009d056
push ebx
mov edx, esi
call fcn.10050640
add esp, 4
jmp 0x1009d05e
mov ecx, dword [ecx + 0x40]
mov eax, dword [edx]
mov dword [ecx + ebx*4], eax
push str.row
mov edx, 3
mov ecx, esi
call fcn.1004fe80
mov ebx, dword [esp + 0x2c]
add esp, 4
mov eax, dword [esp + 0x34]
mov ecx, dword [ebx]
cmp dword [eax], ecx
jg 0x1009d097
push 3
push 3
push 7
mov edx, 0x6f
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
jmp 0x1009d0c9
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 7
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
push str._values_differ_from_index
mov edx, 4
mov ecx, esi
call fcn.1004fe80
mov eax, dword [esp + 0x38]
add esp, 4
mov edx, dword [esp + 0x18]
mov ecx, dword [ebx]
dec edx
cmp dword [eax], ecx
jg 0x1009d102
push 0
push edx
push 0
mov edx, 9
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
jmp 0x1009d134
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov ebx, dword [esp + 0x28]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [ebx]
cmp byte [eax + 0x57], 0
je 0x1009d145
mov eax, 0x1017bac0
jmp 0x1009d14e
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x38]
mov dword [eax + 8], edx
cmp byte [ecx + 0x36], 0
je 0x1009d3d2
mov eax, dword [esp + 0x1c]
xor ebx, ebx
dec dword [eax + 0x38]
mov edx, dword [eax + 0x38]
xor eax, eax
mov dword [esp + 0x44], edx
cmp ax, word [ecx + 0x32]
jae 0x1009d206
mov edi, dword [esp + 0x64]
nop
mov eax, dword [ecx + 4]
movsx ecx, word [eax + ebx*2]
test ecx, ecx
js 0x1009d19b
mov eax, dword [esp + 0x54]
add ecx, ecx
mov eax, dword [eax + 4]
test byte [eax + ecx*8 + 4], 0xf
jne 0x1009d1f4
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov eax, dword [esp + 0x34]
cmp dword [eax], ecx
jg 0x1009d1c2
push 0
push edx
push edi
mov edx, 0x32
mov ecx, esi
call fcn.1004fd40
mov edx, dword [esp + 0x50]
add esp, 0xc
jmp 0x1009d1f4
mov esi, dword [esp + 0x28]
lea eax, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [esi], eax
mov esi, dword [esp + 0x3c]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x38]
inc ebx
inc edi
movzx eax, word [ecx + 0x32]
cmp ebx, eax
jl 0x1009d180
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x68]
add edx, dword [esp + 0x58]
mov edi, dword [ebx]
cmp dword [eax], edi
jg 0x1009d234
push 0
push 0
push edx
mov edx, 0x27
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
mov edi, eax
jmp 0x1009d266
lea eax, [edi + 1]
mov dword [ebx], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x3c]
mov dword [eax + ecx*4], 0x27
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x34]
mov ecx, dword [ebx]
cmp dword [eax], ecx
jg 0x1009d28a
mov ebx, dword [esp + 0x44]
mov edx, 9
push 0
push ebx
push 0
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
jmp 0x1009d2bc
lea eax, [ecx + 1]
mov dword [ebx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov ebx, dword [esp + 0x44]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x28]
mov edx, dword [eax]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x1009d2d1
mov eax, 0x1017bac0
jmp 0x1009d2da
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov edi, dword [esp + 0x68]
add edi, dword [esp + 0x58]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x38]
movzx edx, word [eax + 0x32]
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov eax, dword [esp + 0x34]
cmp dword [eax], ecx
jg 0x1009d313
push edx
push dword [esp + 0x68]
mov edx, 0x29
mov ecx, esi
push ebx
push edi
call fcn.1004fd80
add esp, 0x10
jmp 0x1009d341
mov esi, dword [esp + 0x28]
lea eax, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [esi], eax
mov esi, dword [esp + 0x3c]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xfd29
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x64]
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], edi
mov dword [eax + ecx*4 + 0x10], edx
push str.non_unique_entry_in_index
mov edx, 3
mov ecx, esi
call fcn.1004fe80
mov edi, dword [esp + 0x2c]
add esp, 4
mov eax, dword [esp + 0x34]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x1009d37c
push 0
push dword [esp + 0x1c]
mov edx, 9
mov ecx, esi
push 0
call fcn.1004fd40
add esp, 0xc
jmp 0x1009d3ae
mov edx, dword [esp + 0x18]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0xc]
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x1009d3c8
push ebx
mov edx, esi
call fcn.10050640
add esp, 4
jmp 0x1009d3d6
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi]
mov dword [ecx + ebx*4], eax
jmp 0x1009d3d6
mov edi, dword [esp + 0x28]
mov eax, dword [esi]
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x1009d3e7
mov eax, 0x1017bac0
jmp 0x1009d3f7
mov eax, dword [esp + 0x94]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + ecx*4]
mov edi, dword [esp + 0x70]
mov dword [eax + 8], edx
test edi, edi
je 0x1009d42a
mov eax, dword [esp + 0x1c]
not edi
mov edx, dword [eax + 8]
mov ecx, dword [edx + 0xc]
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x1009d421
push edi
call fcn.10050640
add esp, 4
jmp 0x1009d42a
mov ecx, dword [ecx + 0x40]
mov eax, dword [edx + 0x6c]
mov dword [ecx + edi*4], eax
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [ebx + 0x14]
inc dword [esp + 0x68]
mov edi, dword [esp + 0x68]
mov dword [esp + 0x38], ebx
test ebx, ebx
jne 0x1009ca90
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x34]
mov ebx, dword [esp + 0x24]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x1009d476
push 0
push ebx
push dword [esp + 0x90]
mov edx, 0x27
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
jmp 0x1009d4a7
mov edx, dword [esp + 0x88]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x27
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x1009d4b8
mov eax, 0x1017bac8
jmp 0x1009d4c4
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
add eax, 0xfffffff4
cmp byte [esp + 0x6f], 0x71
mov dword [eax], edx
je 0x1009d6d2
push str.wrong__of_entries_in_index
mov edx, 2
mov ecx, esi
call fcn.1004fe80
mov eax, dword [esp + 0x58]
add esp, 4
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x1009d682
mov ecx, dword [esp + 0x60]
mov eax, 8
mov dword [esp + 0x18], eax
cmp ecx, ebx
je 0x1009d672
mov edx, dword [esp + 0x58]
mov ecx, dword [edi]
add edx, 0xfffffff8
add edx, eax
mov eax, dword [esp + 0x34]
cmp dword [eax], ecx
jg 0x1009d532
push 0
push 3
push edx
mov edx, 0x62
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
jmp 0x1009d564
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x3c]
mov dword [eax + ecx*4], 0x62
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x34]
mov edi, dword [edi]
mov edx, dword [esp + 0x18]
cmp dword [eax], edi
jg 0x1009d58a
push 3
push 0
push edx
mov edx, 0x35
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
mov edi, eax
jmp 0x1009d5bc
mov ecx, dword [esp + 0x28]
lea eax, [edi + 1]
mov dword [ecx], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x35
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
test eax, eax
jle 0x1009d5d6
lea ecx, [eax + eax*4]
mov edx, 0x90
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
push dword [ebx]
mov edx, 4
mov ecx, esi
call fcn.1004fe80
mov edx, dword [esp + 0x2c]
add esp, 4
mov eax, dword [esp + 0x34]
mov ecx, dword [edx]
cmp dword [eax], ecx
jg 0x1009d60c
push 3
push 2
push 4
mov edx, 0x6f
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
jmp 0x1009d63e
lea eax, [ecx + 1]
mov dword [edx], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 4
mov dword [eax + ecx*4 + 8], 2
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, esi
call fcn.10097e20
mov eax, dword [esp + 0x28]
mov edx, dword [eax]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x1009d65a
mov eax, 0x1017bac0
jmp 0x1009d663
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x60]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x18]
mov ebx, dword [ebx + 0x14]
inc eax
mov dword [esp + 0x18], eax
test ebx, ebx
jne 0x1009d501
mov eax, dword [esp + 0x60]
test eax, eax
je 0x1009d6d2
movzx eax, word [eax + 0x32]
cmp eax, 1
jne 0x1009d6b9
mov edx, dword [esp + 0x4c]
test edx, edx
je 0x1009d6d2
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x28]
mov al, byte [ecx + 0x13]
cmp al, 8
jae 0x1009d6d6
movzx eax, al
mov dword [ecx + eax*4 + 0xa4], edx
inc byte [ecx + 0x13]
jmp 0x1009d6d6
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x28]
cmp eax, dword [ecx + 0x1c]
jle 0x1009d6d6
mov dword [ecx + 0x1c], eax
mov eax, dword [esp + 0x4c]
mov dword [ecx + 0x20], eax
jmp 0x1009d6d6
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x2c]
mov edi, dword [edi]
mov dword [esp + 0x2c], edi
test edi, edi
jne 0x1009b550
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x50]
inc ebx
mov ecx, ebx
mov dword [esp + 0x50], ebx
cmp ebx, dword [eax + 0x14]
jl 0x1009b180
mov ebx, 1
push ecx
push 0x1015ebbc
mov edx, 7
mov ecx, esi
call fcn.100508b0
mov edx, eax
add esp, 8
test edx, edx
je 0x1009d753
sub ebx, dword [esp + 0x30]
mov ecx, str.unknown_error
mov eax, dword [str.database_disk_image_is_malformed]
test eax, eax
mov dword [edx + 8], ebx
mov byte [edx + 0x29], 0xff
cmovne ecx, eax
mov dword [edx + 0x38], 0x1016d57c
mov byte [edx + 0x65], 0xff
mov dword [edx + 0x74], ecx
mov eax, dword [esi]
mov ecx, dword [esi + 0x6c]
sub ecx, 2
cmp byte [eax + 0x57], 0
mov eax, 0x1017bac0
jne 0x1009d769
mov eax, dword [esi + 0x68]
mov dword [eax + 0xc], ecx
jmp 0x1009885c
test edx, edx
jne 0x1009d80f
mov ebx, dword [esp + 0x1c]
mov ecx, ebx
mov dword [esp + 0x14], edi
call fcn.1009f780
test eax, eax
jne 0x1009885c
mov eax, dword [ebx]
movzx eax, byte [eax + 0x54]
mov eax, dword [eax*8 + 0x1015ff98]
test eax, eax
je 0x1009d808
push eax
mov edx, 1
mov ecx, esi
call fcn.1004fe80
mov ecx, dword [esi + 0x6c]
add esp, 4
cmp dword [esi + 0x70], ecx
jg 0x1009d7d5
push 0
push 1
push 1
mov edx, 0x54
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
mov edx, edi
jmp 0x10098871
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, edi
jmp 0x10098871
mov eax, dword [esp + 0x10]
mov edx, edi
test byte [eax + 0x18], 0x40
jne 0x10098860
mov ebx, dword [str.UTF8]
mov ecx, 0x1015ff98
mov dword [esp + 0x30], ecx
mov dword [esp + 0x14], edi
test ebx, ebx
je 0x1009d87f
mov dword [esp + 0x14], edi
nop word [eax + eax]
mov edx, dword [esp + 0x20]
sub ebx, edx
movzx eax, byte [edx]
movzx esi, byte [edx + ebx]
cmp eax, esi
jne 0x1009d8b3
test eax, eax
jne 0x1009d8c5
mov ecx, dword [esp + 0x30]
mov edx, 2
mov cl, byte [ecx + 4]
movzx eax, cl
test cl, cl
mov ecx, dword [esp + 0x10]
cmovne edx, eax
mov eax, dword [ecx + 0x10]
mov eax, dword [eax + 0xc]
mov byte [eax + 0x4d], dl
call fcn.10085870
mov ecx, dword [esp + 0x30]
cmp dword [ecx], 0
jne 0x1009885c
push dword [esp + 0x20]
push str.unsupported_encoding:__s
push dword [esp + 0x24]
call fcn.1002b880
mov edx, dword [esp + 0x20]
add esp, 0xc
mov ecx, dword [esp + 0x10]
call fcn.10027de0
mov edx, dword [esp + 0x20]
jmp 0x10098871
movzx ecx, byte [eax + 0x10162840]
movzx eax, byte [esi + 0x10162840]
sub ecx, eax
jne 0x1009d8cb
inc edx
jmp 0x1009d846
mov ecx, dword [esp + 0x30]
add ecx, 8
mov dword [esp + 0x30], ecx
mov ebx, dword [ecx]
test ebx, ebx
jne 0x1009d840
jmp 0x1009d888
mov eax, dword [ecx + 8]
mov dword [esp + 0x2c], eax
mov eax, dword [esi + 0x9c]
bts eax, ebx
mov dword [esi + 0x9c], eax
cmp ebx, 1
je 0x1009d923
mov eax, dword [esi]
mov ecx, ebx
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8 + 4]
mov ecx, dword [esp + 0x50]
cmp byte [eax + 9], 0
je 0x1009d923
mov eax, dword [esi + 0xa0]
bts eax, ebx
mov dword [esi + 0xa0], eax
test edx, edx
je 0x1009d9ab
test byte [ecx + 5], 8
jne 0x1009d9ab
push ecx
push 0x1015ec4c
mov edx, 2
mov ecx, esi
call fcn.100508b0
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x34]
mov esi, eax
add esp, 8
mov dword [esi + 4], ebx
mov dword [esi + 0x18], ebx
mov ebx, dword [esp + 0x2c]
mov dword [esi + 0x1c], ebx
mov dword [esp + 0x2c], 0
call fcn.1002ce50
mov ecx, dword [esp + 0x2c]
mov eax, 1
mov dword [esi + 0x20], ecx
mov word [esi + 0x16], ax
cmp ebx, eax
jne 0x1009d997
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
and eax, 0x10000000
or eax, 0
je 0x1009d997
mov byte [esi + 0x14], 0xb9
mov ecx, dword [esp + 0x10]
mov edx, edi
call fcn.10027de0
mov edx, dword [esp + 0x20]
jmp 0x10098871
push ecx
push 0x101602b0
mov edx, 3
mov ecx, esi
call fcn.100508b0
mov ecx, 1
mov dword [esp + 0x1c], edi
add esp, 8
mov dword [eax + 4], ebx
mov dword [eax + 0x18], ebx
mov ebx, dword [esp + 0x2c]
mov dword [eax + 0x20], ebx
mov edx, dword [esi + 0x6c]
cmp edx, ecx
jle 0x1009885c
mov eax, dword [esi + 0x68]
add eax, 0x14
mov dword [esp + 0x14], edi
nop dword [eax + eax]
cmp byte [eax], 0xa6
je 0x1009da02
inc ecx
add eax, 0x14
cmp ecx, edx
jl 0x1009d9f0
jmp 0x1009885c
mov eax, dword [esi + 0x68]
mov byte [eax + 0x14], 0xb9
jmp 0x1009885c
mov eax, dword [esp + 0x1c]
xor ebx, ebx
mov dword [esp + 0x14], edi
mov dword [eax + 0x2c], 1
mov ecx, 1
cmp ebx, 0x2a
ja 0x1009da96
mov eax, dword [ebx*4 + 0x101650e0]
inc ebx
test eax, eax
je 0x1009da96
mov edx, ecx
mov ecx, esi
push eax
call fcn.1004fe80
mov ecx, dword [esi + 0x6c]
add esp, 4
cmp dword [esi + 0x70], ecx
jg 0x1009da61
push 0
push 1
push 1
mov edx, 0x54
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
jmp 0x1009da1f
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x1009da1f
mov edx, dword [esi + 0x6c]
mov ecx, 1
cmp edx, ecx
jle 0x1009885c
mov eax, dword [esi + 0x68]
add eax, 0x14
nop dword [eax]
cmp byte [eax], 0xa6
je 0x1009da02
inc ecx
add eax, 0x14
cmp ecx, edx
jl 0x1009dab0
jmp 0x1009885c
mov eax, dword [esp + 0x38]
mov ecx, 0xc
mov dword [esp + 0x14], edi
cmp dword [eax], 0
mov eax, dword [esp + 0x20]
cmovne ecx, ebx
xor edx, edx
mov dword [esp + 0x2c], ecx
test eax, eax
je 0x1009db9b
mov ebx, str.full
mov dword [esp + 0x14], edi
mov edx, eax
sub ebx, eax
nop dword [eax + eax]
movzx ecx, byte [edx]
movzx eax, byte [ebx + edx]
cmp ecx, eax
jne 0x1009db17
test ecx, ecx
jne 0x1009db29
lea edx, [ecx + 1]
jmp 0x1009db9b
movzx eax, byte [eax + 0x10162840]
movzx ecx, byte [ecx + 0x10162840]
sub ecx, eax
jne 0x1009db2c
inc edx
jmp 0x1009db00
mov edx, dword [esp + 0x20]
mov ebx, str.restart
sub ebx, edx
movzx eax, byte [edx]
movzx edi, byte [edx + ebx]
cmp eax, edi
jne 0x1009db4b
test eax, eax
jne 0x1009db5d
lea edx, [eax + 2]
jmp 0x1009db9b
movzx ecx, byte [eax + 0x10162840]
movzx eax, byte [edi + 0x10162840]
sub ecx, eax
jne 0x1009db60
inc edx
jmp 0x1009db37
mov edx, dword [esp + 0x20]
mov ebx, str.truncate
sub ebx, edx
nop dword [eax + eax]
movzx eax, byte [edx]
movzx edi, byte [edx + ebx]
cmp eax, edi
jne 0x1009db84
test eax, eax
jne 0x1009db96
lea edx, [eax + 3]
jmp 0x1009db9b
movzx ecx, byte [eax + 0x10162840]
movzx eax, byte [edi + 0x10162840]
sub ecx, eax
jne 0x1009db99
inc edx
jmp 0x1009db70
xor edx, edx
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x2c]
mov dword [eax + 0x2c], 3
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x1009dbc7
push 1
push edx
push edi
mov edx, 3
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
jmp 0x1009dbf2
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 3
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 1
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x1009dc03
push 0
push 3
jmp 0x10098b74
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 3
jmp 0x10098bad
test edx, edx
je 0x1009dc54
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x2c]
mov dword [esp + 0x2c], 0
call fcn.1002ce50
push dword [esp + 0x2c]
push dword [esp + 0x14]
call fcn.100db2c0
add esp, 8
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x110], 0x100db280
jne 0x10098697
mov eax, dword [eax + 0x114]
mov ecx, esi
cdq
push edx
push eax
call fcn.10097bc0
add esp, 8
mov edx, edi
jmp 0x10098860
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0xc]
test eax, eax
je 0x1009dc9b
push eax
call dword [0x10178a88]
mov edx, dword [esp + 0x14]
add esp, 4
cmp byte [edx + 0x5f], 0
jne 0x1009dcac
mov ecx, edx
call fcn.1003fe30
mov edx, dword [esp + 0x10]
xor esi, esi
mov dword [esp + 0x14], edi
cmp dword [edx + 0x14], esi
jle 0x1009dcef
xor ebx, ebx
mov dword [esp + 0x14], edi
nop dword [eax]
mov eax, dword [edx + 0x10]
mov eax, dword [ebx + eax + 4]
test eax, eax
je 0x1009dce6
mov eax, dword [eax + 4]
mov eax, dword [eax]
mov eax, dword [eax + 0xe4]
push dword [eax + 0x34]
call dword [0x10178acc]
mov edx, dword [esp + 0x14]
add esp, 4
inc esi
add ebx, 0x10
cmp esi, dword [edx + 0x14]
jl 0x1009dcc0
cmp byte [edx + 0x5f], 0
jne 0x1009dd00
mov ecx, edx
call fcn.1003fe80
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0xc]
test eax, eax
je 0x1009885c
push eax
call dword [0x10178a90]
add esp, 4
jmp 0x1009885c
test edx, edx
je 0x1009dd48
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x2c]
mov dword [esp + 0x2c], 0
call fcn.1002ce50
mov ecx, dword [esp + 0x2c]
mov edx, edi
mov dword [esp + 0x24], ecx
test cl, 2
je 0x10098860
jmp 0x1009dd50
mov dword [esp + 0x24], 0xfffe
cmp dword [esp + 0x40], 0
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 0x28]
mov dword [esp + 0x48], edx
lea eax, [edx + 1]
mov dword [ecx + 0x28], eax
je 0x1009dd6e
mov dword [esp + 0x30], ebx
jmp 0x1009dd86
mov eax, dword [esp + 0x10]
mov dword [esp + 0x14], edi
mov eax, dword [eax + 0x14]
dec eax
mov dword [esp + 0x30], eax
cmp ebx, eax
jg 0x1009e0ea
mov ecx, ebx
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x84]
mov eax, 1
rol eax, cl
shl ebx, 4
mov ecx, eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x44], ebx
nop dword [eax + eax]
cmp edi, 1
je 0x1009e0cd
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 0x80]
test eax, eax
cmovne ecx, eax
mov eax, dword [ecx + 0x5c]
test dword [esp + 0x18], eax
jne 0x1009ddde
mov edi, dword [esp + 0x84]
bts eax, edi
mov dword [ecx + 0x5c], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
mov eax, dword [ebx + eax + 0xc]
mov edi, dword [eax + 0x10]
mov dword [esp + 0x2c], edi
test edi, edi
je 0x1009e0be
nop dword [eax + eax]
mov edi, dword [edi + 8]
test dword [edi + 0x1c], 0x100
je 0x1009e0ac
mov ax, word [edi + 0x26]
add ax, 0x2e
movzx ecx, ax
mov eax, dword [edi + 8]
mov dword [esp + 0x70], ecx
test eax, eax
je 0x1009de37
test byte [eax + 0x38], 0x80
je 0x1009debf
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x1009de26
test cx, cx
je 0x1009debf
mov ecx, dword [esp + 0x1c]
push 0x70
push edi
push dword [esp + 0x8c]
call fcn.100909d0
mov eax, dword [esp + 0x7c]
add esp, 0xc
mov ecx, dword [esi + 0x6c]
movsx edx, ax
mov eax, dword [esp + 0x24]
and eax, 1
add eax, 2
add eax, ecx
mov dword [esp + 0x70], eax
cmp dword [esi + 0x70], ecx
jg 0x1009de8c
push edx
push eax
push dword [esp + 0x50]
mov edx, 0x21
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
jmp 0x1009debf
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x48]
mov dword [eax + ecx*4], 0x21
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x70]
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [esp + 0x3c]
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x10]
push dword [edi]
mov eax, dword [ecx + 0x10]
push dword [ebx + eax]
push str.ANALYZE___w_.__w_
push ecx
call fcn.1002a740
add esp, 0x10
mov edi, eax
test byte [esp + 0x24], 1
je 0x1009e004
mov ecx, dword [esp + 0x1c]
mov al, byte [ecx + 0x13]
test al, al
jne 0x1009def9
inc dword [ecx + 0x2c]
mov ebx, dword [ecx + 0x2c]
jmp 0x1009df08
dec al
mov byte [ecx + 0x13], al
movzx eax, al
mov ebx, dword [ecx + eax*4 + 0xa4]
mov edx, dword [esi + 0x6c]
cmp dword [esi + 0x70], edx
jg 0x1009df28
push 0
push ebx
push 0
mov edx, 0x75
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
mov edx, eax
jmp 0x1009df5b
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x3c]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
je 0x1009df73
push edi
mov edx, 0xfffffffa
call fcn.100509c0
add esp, 4
jmp 0x1009dfa7
test edx, edx
jns 0x1009df7b
mov edx, dword [esi + 0x6c]
dec edx
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x1009df9c
push 0xfffffffffffffffa
push edi
mov edx, eax
mov ecx, esi
call fcn.10050ab0
add esp, 8
jmp 0x1009dfa7
test edi, edi
je 0x1009dfa7
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0xfa
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x1009dfcc
push 0
push 1
push ebx
mov edx, 0x54
mov ecx, esi
call fcn.1004fd40
mov ebx, dword [esp + 0x50]
add esp, 0xc
jmp 0x1009e0a8
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x44]
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x1009e0a8
mov edx, dword [esi + 0x6c]
cmp dword [esi + 0x70], edx
jg 0x1009e025
push 0
push 0
push 0
mov edx, 0x94
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
mov edx, eax
jmp 0x1009e05c
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x3c]
mov dword [eax + ecx*4], 0x94
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
je 0x1009e074
push edi
mov edx, 0xfffffffa
call fcn.100509c0
add esp, 4
jmp 0x1009e0a8
test edx, edx
jns 0x1009e07c
mov edx, dword [esi + 0x6c]
dec edx
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x1009e09d
push 0xfffffffffffffffa
push edi
mov edx, eax
mov ecx, esi
call fcn.10050ab0
add esp, 8
jmp 0x1009e0a8
test edi, edi
je 0x1009e0a8
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0xfa
mov edx, dword [esp + 0x48]
mov edi, dword [esp + 0x2c]
mov edi, dword [edi]
mov dword [esp + 0x2c], edi
test edi, edi
jne 0x1009de00
mov edi, dword [esp + 0x84]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x18]
inc edi
rol ecx, 1
add ebx, 0x10
mov dword [esp + 0x84], edi
mov dword [esp + 0x44], ebx
mov dword [esp + 0x18], ecx
cmp edi, eax
jle 0x1009ddb0
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x1009e10c
push 0
push 0
push 0
mov edx, 0xa6
mov ecx, esi
call fcn.1004fd40
add esp, 0xc
jmp 0x1009885c
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xa6
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
jmp 0x10098bad
test edx, edx
je 0x1009e159
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x70]
call fcn.1002cd40
test eax, eax
jne 0x1009e159
push dword [esp + 0x74]
push dword [esp + 0x74]
call fcn.100278a0
add esp, 8
call fcn.100d8ee0
test eax, eax
je 0x1009e17a
or ebx, 0xffffffff
or ecx, ebx
push ecx
push ebx
mov ecx, esi
call fcn.10097bc0
add esp, 8
mov edx, edi
jmp 0x10098860
mov eax, dword [0x1017bbe8]
test eax, eax
je 0x1009e192
push eax
call dword [0x10178a88]
mov eax, dword [0x1017bbe8]
add esp, 4
mov ebx, dword [0x1017bbf0]
mov ecx, dword [0x1017bbf4]
mov dword [esp + 0x70], ecx
test eax, eax
je 0x1009e1b4
push eax
call dword [0x10178a90]
mov ecx, dword [esp + 0x74]
add esp, 4
push ecx
push ebx
mov ecx, esi
call fcn.10097bc0
add esp, 8
mov edx, edi
jmp 0x10098860
test edx, edx
je 0x1009e25a
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x70]
call fcn.1002cd40
test eax, eax
jne 0x1009e25a
call fcn.100d8ee0
test eax, eax
je 0x1009e1f4
or eax, 0xffffffff
mov dword [esp + 0x24], eax
or ebx, eax
jmp 0x1009e22e
mov eax, dword [0x1017bbe8]
test eax, eax
je 0x1009e20c
push eax
call dword [0x10178a88]
mov eax, dword [0x1017bbe8]
add esp, 4
mov ebx, dword [0x1017bbf8]
mov dword [esp + 0x24], ebx
mov ebx, dword [0x1017bbfc]
test eax, eax
je 0x1009e22a
push eax
call dword [0x10178a90]
add esp, 4
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x74]
test edx, edx
jl 0x1009e25a
mov ecx, dword [esp + 0x70]
jg 0x1009e240
test ecx, ecx
je 0x1009e25a
or eax, ebx
je 0x1009e250
cmp ebx, edx
jl 0x1009e25a
jg 0x1009e250
cmp dword [esp + 0x24], ecx
jbe 0x1009e25a
push edx
push ecx
call fcn.100279e0
add esp, 8
call fcn.100d8ee0
test eax, eax
je 0x1009e27b
or ebx, 0xffffffff
or ecx, ebx
push ecx
push ebx
mov ecx, esi
call fcn.10097bc0
add esp, 8
mov edx, edi
jmp 0x10098860
mov eax, dword [0x1017bbe8]
test eax, eax
je 0x1009e293
push eax
call dword [0x10178a88]
mov eax, dword [0x1017bbe8]
add esp, 4
mov ebx, dword [0x1017bbf8]
mov ecx, dword [0x1017bbfc]
jmp 0x1009e19e
test edx, edx
je 0x1009e2e2
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x70]
call fcn.1002cd40
test eax, eax
jne 0x1009e2e2
cmp dword [esp + 0x74], eax
jl 0x1009e2e2
mov eax, dword [esp + 0x70]
jg 0x1009e2c9
test eax, eax
jb 0x1009e2e2
mov ecx, 8
and eax, 0x7fffffff
cmp eax, ecx
cmova eax, ecx
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0xa4], eax
mov eax, dword [esp + 0x10]
mov ecx, esi
mov eax, dword [eax + 0xa4]
cdq
push edx
push eax
call fcn.10097bc0
add esp, 8
mov edx, edi
jmp 0x10098860
test edx, edx
je 0x1009e334
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x70]
call fcn.1002cd40
test eax, eax
jne 0x1009e334
cmp dword [esp + 0x74], eax
jl 0x1009e334
mov eax, dword [esp + 0x70]
jg 0x1009e325
test eax, eax
jb 0x1009e334
mov ecx, dword [esp + 0x10]
and eax, 0x7fffffff
mov dword [ecx + 0x1f0], eax
mov eax, dword [esp + 0x10]
mov ecx, esi
mov eax, dword [eax + 0x1f0]
cdq
push edx
push eax
call fcn.10097bc0
add esp, 8
mov edx, edi
jmp 0x10098860
test edx, edx
je 0x1009e37b
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x2c]
mov dword [esp + 0x2c], 0
call fcn.1002ce50
push dword [esp + 0x2c]
push dword [esp + 0x14]
call fcn.100da8d0
add esp, 8
mov eax, dword [esp + 0x10]
mov ecx, esi
mov eax, dword [eax + 0x1f4]
cdq
push edx
push eax
call fcn.10097bc0
add esp, 8
mov edx, edi
jmp 0x10098860