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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x84
mov eax, dword [0x101f62b4]
xor eax, esp
mov dword [esp + 0x80], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ecx + 8]
mov dword [esp + 0x14], eax
mov eax, dword [ecx]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x20], ebx
mov dword [esp + 8], eax
mov dword [esp + 0x30], esi
push edi
mov edi, edx
test esi, esi
jne 0x100ac938
cmp dword [ecx + 0x74], esi
jne 0x100ac921
test byte [eax + 0x4c], 8
jne 0x100ac921
mov byte [ecx + 0x17], 1
call fcn.100719b0
mov ecx, dword [esp + 0x10]
mov esi, eax
mov dword [esp + 0x34], esi
test esi, esi
je 0x100aff7d
or dword [esi + 0x98], 0x20
lea eax, [esp + 0x64]
push eax
push ebx
mov edx, edi
mov dword [ecx + 0x2c], 2
call fcn.10097580
mov edx, eax
add esp, 8
mov dword [esp + 0x1c], edx
test edx, edx
js 0x100aff7d
mov ecx, dword [esp + 0xc]
shl eax, 4
mov dword [esp + 0x28], eax
mov edi, dword [ecx + 0x10]
add edi, eax
mov dword [esp + 0x14], edi
cmp edx, 1
jne 0x100ac98e
mov ecx, dword [esp + 0x10]
call fcn.1009cfa0
test eax, eax
jne 0x100aff7d
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0xc]
call fcn.100974c0
mov dword [esp + 0x50], eax
test eax, eax
je 0x100aff7d
cmp dword [ebp + 0x10], 0
je 0x100ac9c4
push dword [esp + 0x18]
push 0x101ce844
push dword [esp + 0x14]
call fcn.10053430
add esp, 0xc
jmp 0x100ac9d1
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
call fcn.100974c0
cmp dword [ebx + 4], 0
mov dword [esp + 0x30], eax
jbe 0x100ac9df
mov ebx, dword [edi]
jmp 0x100ac9e1
xor ebx, ebx
mov ecx, dword [esp + 0x10]
mov edx, 0x13
push ebx
push eax
push dword [esp + 0x58]
mov dword [esp + 0x48], ebx
call fcn.10095d20
add esp, 0xc
test eax, eax
jne 0x100aff5d
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x84], ecx
lea ecx, [esp + 0x7c]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x50]
push ecx
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x10]
push 0xe
push ebx
mov dword [esp + 0x94], 0
push eax
mov dword [eax + 0x1ac], 0
call fcn.100df430
mov ebx, eax
add esp, 0x10
test ebx, ebx
jne 0x100aca8d
lea edx, [eax + 1]
mov ecx, esi
call fcn.10073ce0
push 0xffffffffffffffff
push dword [esp + 0x80]
xor edx, edx
mov ecx, esi
push ebx
call fcn.10073d70
mov edx, dword [esp + 0x88]
add esp, 0xc
mov ecx, esi
call fcn.100ac440
push dword [esp + 0x7c]
call fcn.10050ca0
add esp, 4
jmp 0x100aff5d
cmp ebx, 0xc
je 0x100acac7
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x100acab8
push eax
push 0x101cb434
push dword [esp + 0x18]
call fcn.10054280
add esp, 0xc
push dword [esp + 0x7c]
call fcn.10050ca0
add esp, 4
mov eax, dword [esp + 0x10]
inc dword [eax + 0x24]
mov dword [eax + 0xc], ebx
jmp 0x100aff5d
mov ecx, dword [esp + 0x50]
call fcn.100ac670
mov ebx, eax
test ebx, ebx
je 0x100aff5d
test byte [ebx + 5], 1
je 0x100acaf1
mov ecx, dword [esp + 0x10]
call fcn.100b1140
test eax, eax
jne 0x100aff5d
mov al, byte [ebx + 5]
test al, 2
jne 0x100acb0d
test al, 4
je 0x100acb04
mov ecx, dword [esp + 0x30]
test ecx, ecx
jne 0x100acb11
mov edx, ebx
mov ecx, esi
call fcn.100ac170
mov ecx, dword [esp + 0x30]
movzx eax, byte [ebx + 4]
dec eax
cmp eax, 0x29
ja case.0x100acb1f.5
jmp dword [eax*4 + 0x100aff94]
mov ebx, dword [esp + 0x1c]
mov ecx, esi
mov edx, ebx
call fcn.10072f50
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x100acb67
mov eax, dword [esp + 0x10]
mov edx, 9
push ecx
push 0x101b68b0
mov ecx, esi
add dword [eax + 0x2c], 2
call fcn.100724e0
mov dword [eax + 4], ebx
mov dword [eax + 0x18], ebx
mov dword [eax + 0x7c], 0xfffff830
jmp 0x100aff5a
mov ecx, eax
call fcn.10054eb0
mov ecx, eax
call fcn.10055560
mov ecx, dword [esp + 0x10]
xor edx, edx
push ebx
mov edi, eax
call fcn.1009d100
add esp, 4
mov edx, 0x5e
mov ecx, esi
push edi
push 3
push ebx
call fcn.10071be0
mov ecx, dword [esp + 0x20]
add esp, 0xc
mov eax, dword [ecx + 0xc]
mov dword [eax + 0x50], edi
mov edx, dword [ecx + 0xc]
mov ecx, dword [ecx + 4]
mov edx, dword [edx + 0x50]
call fcn.100661f0
jmp 0x100aff5d
mov edi, dword [edi + 4]
test ecx, ecx
jne 0x100acbd0
test edi, edi
je 0x100ad158
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x24]
jmp 0x100aff50
call fcn.10054eb0
mov ecx, dword [esp + 0xc]
mov edx, eax
push 0
push 0
mov dword [ecx + 0x5c], eax
mov ecx, edi
call fcn.100663f0
add esp, 8
cmp eax, 7
jne 0x100aff5d
mov ecx, dword [esp + 0xc]
call fcn.100514b0
jmp 0x100aff5d
mov eax, dword [edi + 4]
or edx, 0xffffffff
mov dword [esp + 0x64], eax
mov dword [esp + 0x14], edx
test ecx, ecx
je 0x100acc46
mov edx, str.fast
call fcn.100543b0
test eax, eax
jne 0x100acc28
lea edx, [eax + 2]
jmp 0x100acc42
mov ecx, dword [esp + 0x30]
mov edx, 1
push 0
call fcn.100ac070
xor edx, edx
add esp, 4
test al, al
setne dl
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x24]
cmp dword [eax + 4], 0
jne 0x100acc80
test edx, edx
js 0x100acc80
mov eax, dword [esp + 0xc]
xor ebx, ebx
cmp dword [eax + 0x14], ebx
jle 0x100acc80
xor edi, edi
mov esi, eax
mov ecx, dword [esi + 0x10]
mov ecx, dword [edi + ecx + 4]
call fcn.10066560
mov edx, dword [esp + 0x14]
lea edi, [edi + 0x10]
inc ebx
cmp ebx, dword [esi + 0x14]
jl 0x100acc63
mov esi, dword [esp + 0x34]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x64]
call fcn.10066560
jmp 0x100aff50
mov ebx, dword [esp + 0x10]
mov ecx, ebx
mov edx, dword [esp + 0x1c]
call fcn.1009d040
mov eax, dword [esp + 0x50]
inc dword [ebx + 0x2c]
mov edi, dword [ebx + 0x2c]
movzx eax, byte [eax]
cmp byte [eax + 0x101b7250], 0x70
jne 0x100accdf
push edi
push dword [esp + 0x20]
mov edx, 0xa8
mov ecx, esi
call fcn.10071d10
add esp, 8
mov edx, 0x50
mov ecx, esi
push 1
push edi
call fcn.10071d10
jmp 0x100aff5a
mov ecx, dword [esp + 0x30]
call fcn.10054eb0
mov ecx, eax
call fcn.10055560
push eax
push edi
push dword [esp + 0x24]
mov edx, 0xa9
mov ecx, esi
call fcn.10071be0
add esp, 0xc
mov edx, 0x50
mov ecx, esi
push 1
push edi
call fcn.10071d10
jmp 0x100aff5a
mov ebx, str.normal
mov eax, str.exclusive
test ecx, ecx
je 0x100acd49
mov edx, eax
call fcn.100543b0
test eax, eax
jne 0x100acd36
lea edx, [eax + 1]
jmp 0x100acd4c
mov ecx, dword [esp + 0x30]
mov edx, ebx
call fcn.100543b0
test eax, eax
jne 0x100acd49
xor edx, edx
jmp 0x100acd4c
or edx, 0xffffffff
mov eax, dword [esp + 0x24]
cmp dword [eax + 4], 0
jne 0x100acdba
mov eax, dword [esp + 0xc]
cmp edx, 0xffffffff
jne 0x100acd65
movzx eax, byte [eax + 0x53]
jmp 0x100acdc7
mov ecx, 2
cmp dword [eax + 0x14], ecx
jle 0x100acdb3
lea ebx, [ecx + 0x1e]
mov edi, eax
test edx, edx
js 0x100acd9d
mov eax, dword [edi + 0x10]
mov eax, dword [ebx + eax + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax]
cmp byte [eax + 0xc], 0
jne 0x100acd9d
mov esi, dword [eax + 0xd8]
test esi, esi
je 0x100acd9a
cmp byte [esi + 0x2b], 2
je 0x100acd9d
mov byte [eax + 4], dl
inc ecx
add ebx, 0x10
cmp ecx, dword [edi + 0x14]
jl 0x100acd74
mov esi, dword [esp + 0x34]
mov ebx, str.normal
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov byte [ecx + 0x53], dl
mov eax, dword [edi + 4]
mov eax, dword [eax + 4]
mov ecx, dword [eax]
call fcn.10060510
cmp eax, 1
mov ecx, esi
mov eax, str.exclusive
cmove ebx, eax
mov edx, ebx
call fcn.100ac440
jmp 0x100aff5d
test ecx, ecx
je 0x100ace2b
call fcn.10054080
mov edi, eax
xor ebx, ebx
nop dword [eax]
cmp ebx, 6
je 0x100ace2b
mov ecx, dword [ebx*4 + 0x101b6214]
test ecx, ecx
je 0x100ace2b
push edi
push ecx
push dword [esp + 0x38]
call fcn.100543f0
add esp, 0xc
test eax, eax
je 0x100ace15
inc ebx
jmp 0x100acdf0
cmp ebx, 2
jne 0x100ace49
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x20]
and eax, 0x10000000
or eax, 0
je 0x100ace4e
or ebx, 0xffffffff
mov ecx, dword [esp + 0x24]
cmp dword [ecx + 4], 0
jne 0x100ace52
mov dword [esp + 0x1c], 0
mov dword [ecx + 4], 1
jmp 0x100ace52
cmp ebx, 0xffffffff
je 0x100ace2e
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0xc]
mov edi, dword [eax + 0x14]
sub edi, 1
js 0x100acf28
mov edx, edi
shl edx, 4
mov dword [esp + 0x18], edx
nop dword [eax + eax]
mov eax, dword [eax + 0x10]
cmp dword [edx + eax + 4], 0
je 0x100acf10
cmp edi, dword [esp + 0x1c]
je 0x100ace8e
cmp dword [ecx + 4], 0
jne 0x100acf10
mov eax, dword [esi + 0x9c]
bts eax, edi
mov dword [esi + 0x9c], eax
cmp edi, 1
je 0x100acec0
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + edx + 4]
cmp byte [eax + 9], 0
je 0x100acec0
mov eax, dword [esi + 0xa0]
bts eax, edi
mov dword [esi + 0xa0], eax
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x100acee1
push ebx
push 1
push edi
mov edx, 7
mov ecx, esi
call fcn.10071ba0
mov edx, dword [esp + 0x24]
add esp, 0xc
jmp 0x100acf10
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x34]
mov dword [eax + ecx*4], 7
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 ecx, dword [esp + 0x24]
sub edx, 0x10
sub edi, 1
mov eax, dword [esp + 0xc]
mov dword [esp + 0x18], edx
jns 0x100ace70
push 1
push 1
mov edx, 0x50
mov ecx, esi
call fcn.10071d10
jmp 0x100aff5a
mov eax, dword [edi + 4]
mov dword [esp + 0x68], 0xfffffffe
mov dword [esp + 0x6c], 0xffffffff
mov eax, dword [eax + 4]
mov edi, dword [eax]
test ecx, ecx
je 0x100acf9d
lea edx, [esp + 0x68]
call fcn.10054c00
mov ecx, dword [esp + 0x6c]
cmp ecx, 0xffffffff
jg 0x100acf7d
jl 0x100acf76
mov eax, dword [esp + 0x68]
cmp eax, 0xffffffff
jae 0x100acf81
or eax, 0xffffffff
or ecx, eax
jmp 0x100acf81
mov eax, dword [esp + 0x68]
mov edx, dword [edi + 0xd8]
mov dword [edi + 0xa0], eax
mov dword [edi + 0xa4], ecx
test edx, edx
je 0x100acf9d
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ecx
push dword [edi + 0xa4]
push dword [edi + 0xa0]
jmp 0x100aff53
mov edi, dword [edi + 4]
test ecx, ecx
jne 0x100acfc1
mov ecx, edi
call fcn.10066650
jmp 0x100aff50
mov edx, str.none
call fcn.100543b0
test eax, eax
jne 0x100acfd3
xor ebx, ebx
jmp 0x100ad023
mov ebx, dword [esp + 0x30]
mov edx, str.full
mov ecx, ebx
call fcn.100543b0
test eax, eax
jne 0x100acfec
lea ebx, [eax + 1]
jmp 0x100ad023
mov edx, str.incremental
mov ecx, ebx
call fcn.100543b0
test eax, eax
jne 0x100ad001
lea ebx, [eax + 2]
jmp 0x100ad023
lea edx, [esp + 0x18]
mov dword [esp + 0x18], 0
mov ecx, ebx
call fcn.10054d10
xor ecx, ecx
cmp dword [esp + 0x18], 2
cmovbe ecx, dword [esp + 0x18]
movzx ebx, cl
mov eax, dword [esp + 0xc]
mov edx, ebx
mov ecx, edi
mov byte [eax + 0x54], bl
call fcn.100665d0
test eax, eax
jne 0x100aff5d
cmp ebx, 1
je 0x100ad049
cmp ebx, 2
jne 0x100aff5d
mov edi, dword [esi + 0x6c]
mov edx, 5
push ecx
push 0x101b9ce0
mov ecx, esi
call fcn.100724e0
mov edx, dword [esp + 0x24]
lea ecx, [edi + 4]
add esp, 8
mov dword [eax + 0x30], ecx
lea ecx, [ebx - 1]
mov dword [eax + 0x5c], ecx
mov ecx, esi
mov dword [eax + 4], edx
mov dword [eax + 0x18], edx
mov dword [eax + 0x54], edx
call fcn.10072f50
jmp 0x100aff5d
test ecx, ecx
je 0x100ad09f
lea edx, [esp + 0x64]
call fcn.10054d10
test eax, eax
je 0x100ad09f
mov edi, dword [esp + 0x64]
test edi, edi
jg 0x100ad0a4
mov edi, SysReAllocString
mov ebx, dword [esp + 0x1c]
xor edx, edx
mov ecx, dword [esp + 0x10]
push ebx
call fcn.1009d100
add esp, 4
mov edx, 0x45
mov ecx, esi
push 1
push edi
call fcn.10071d10
push ebx
mov edx, 0x3c
mov ecx, esi
call fcn.10071cb0
add esp, 0xc
mov edx, 0x50
mov ecx, esi
mov edi, eax
push 1
call fcn.10071cb0
add esp, 4
mov edx, 0x52
mov ecx, esi
push 0xffffffffffffffff
push 1
call fcn.10071d10
push edi
push 1
mov edx, 0x30
mov ecx, esi
call fcn.10071d10
add esp, 0x10
mov edx, edi
mov ecx, esi
call fcn.10072640
jmp 0x100aff5d
test ecx, ecx
jne 0x100ad128
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x50]
jmp 0x100aff50
call fcn.10054eb0
mov ecx, dword [edi + 0xc]
mov dword [ecx + 0x50], eax
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 4]
mov edx, dword [edx + 0x50]
call fcn.100661f0
jmp 0x100aff5d
test ecx, ecx
jne 0x100ad16e
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x20]
and eax, 0x20
or eax, ecx
jne 0x100ad15f
xor eax, eax
jmp 0x100aff50
mov ecx, dword [edi + 4]
xor edx, edx
call fcn.10066280
jmp 0x100aff50
lea edx, [esp + 0x18]
mov dword [esp + 0x18], 1
call fcn.10054d10
mov esi, dword [esp + 0x18]
test eax, eax
je 0x100ad191
mov ecx, dword [edi + 4]
mov edx, esi
call fcn.10066280
mov ecx, dword [esp + 0x30]
test esi, esi
mov edx, 1
setne al
movzx eax, al
push eax
call fcn.100ac070
mov edx, dword [esp + 0x10]
add esp, 4
mov ecx, dword [edx + 0x20]
mov edx, dword [edx + 0x24]
test al, al
je 0x100ad1be
or ecx, 0x20
jmp 0x100ad1c1
and ecx, 0xffffffdf
mov eax, dword [esp + 0xc]
mov dword [eax + 0x20], ecx
mov ecx, eax
mov dword [eax + 0x24], edx
call fcn.100ac540
jmp 0x100aff5d
test ecx, ecx
je 0x100ad2c9
lea edx, [esp + 0x68]
call fcn.10054c00
cmp dword [esp + 0x6c], 0
jg 0x100ad20a
jl 0x100ad1f8
cmp dword [esp + 0x68], 0
jae 0x100ad20a
mov eax, dword [0x101f6ce0]
mov dword [esp + 0x68], eax
mov eax, dword [0x101f6ce4]
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp dword [ecx + 4], 0
jne 0x100ad226
mov eax, dword [esp + 0x68]
mov dword [edx + 0x30], eax
mov eax, dword [esp + 0x6c]
mov dword [edx + 0x34], eax
mov ebx, dword [edx + 0x14]
sub ebx, 1
js 0x100ad2c9
mov esi, ebx
shl esi, 4
mov eax, dword [edx + 0x10]
mov edi, dword [esi + eax + 4]
test edi, edi
je 0x100ad2b9
cmp ebx, dword [esp + 0x1c]
je 0x100ad252
cmp dword [ecx + 4], 0
jne 0x100ad2b9
cmp byte [edi + 9], 0
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x68]
mov dword [esp + 0x54], ecx
mov ecx, dword [edi + 4]
mov dword [esp + 0x64], eax
mov dword [esp + 0x48], ecx
je 0x100ad287
inc dword [edi + 0xc]
cmp byte [edi + 0xa], 0
jne 0x100ad287
mov ecx, edi
call fcn.10063b20
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x48]
mov ecx, dword [ecx]
mov dword [ecx + 0x80], eax
mov eax, dword [esp + 0x54]
mov dword [ecx + 0x84], eax
call fcn.1005d940
cmp byte [edi + 9], 0
je 0x100ad2b1
add dword [edi + 0xc], 0xffffffff
jne 0x100ad2b1
mov ecx, edi
call fcn.10063ad0
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
sub esi, 0x10
sub ebx, 1
jns 0x100ad237
mov esi, dword [esp + 0x34]
lea eax, [esp + 0x68]
mov dword [esp + 0x68], 0xffffffff
push eax
push 0x12
push dword [esp + 0x44]
mov dword [esp + 0x78], 0xffffffff
push dword [esp + 0x18]
call fcn.100df430
add esp, 0x10
test eax, eax
jne 0x100ad301
push dword [esp + 0x6c]
push dword [esp + 0x6c]
jmp 0x100aff53
cmp eax, 0xc
je 0x100aff5d
mov ecx, dword [esp + 0x10]
inc dword [ecx + 0x24]
mov dword [ecx + 0xc], eax
jmp 0x100aff5d
test ecx, ecx
jne 0x100ad32a
mov eax, dword [esp + 0xc]
movzx eax, byte [eax + 0x50]
jmp 0x100aff50
mov cl, byte [ecx]
mov al, cl
sub al, 0x30
cmp al, 2
ja 0x100ad33c
movsx ebx, cl
sub ebx, 0x30
jmp 0x100ad36d
mov ebx, dword [esp + 0x30]
mov edx, str.file
mov ecx, ebx
call fcn.100543b0
test eax, eax
jne 0x100ad355
lea ebx, [eax + 1]
jmp 0x100ad36d
mov edx, str.memory
mov ecx, ebx
call fcn.100543b0
mov ebx, eax
neg ebx
sbb ebx, ebx
and ebx, 0xfffffffe
add ebx, 2
mov ecx, dword [esp + 0x10]
mov esi, dword [ecx]
movzx eax, byte [esi + 0x50]
cmp eax, ebx
je 0x100aff5d
call fcn.100ac120
test eax, eax
jne 0x100aff5d
mov byte [esi + 0x50], bl
jmp 0x100aff5d
test ecx, ecx
jne 0x100ad3aa
mov edx, dword [0x101fc348]
mov ecx, esi
call fcn.100ac440
jmp 0x100aff5d
cmp byte [ecx], 0
je 0x100ad3eb
mov eax, dword [esp + 0xc]
mov esi, dword [eax]
lea eax, [esp + 0x64]
push eax
push 1
push ecx
push esi
mov esi, dword [esi + 0x20]
mov ecx, esi
call dword [0x1019a4f8]
call esi
add esp, 0x10
test eax, eax
jne 0x100ad3d8
cmp dword [esp + 0x64], eax
jne 0x100ad3eb
push str.not_a_writable_directory
push dword [esp + 0x14]
call fcn.10054280
jmp 0x100aff5a
mov eax, dword [esp + 0xc]
cmp byte [eax + 0x50], 1
ja 0x100ad3fe
mov ecx, dword [esp + 0x10]
call fcn.100ac120
push dword [0x101fc348]
call fcn.10050ca0
mov eax, dword [esp + 0x34]
add esp, 4
cmp byte [eax], 0
je 0x100ad42a
push eax
push 0x101cb434
call fcn.10053520
mov dword [0x101fc348], eax
jmp 0x100aff5a
mov dword [0x101fc348], 0
jmp 0x100aff5d
test ecx, ecx
jne 0x100ad44f
mov edx, dword [0x101fc344]
mov ecx, esi
call fcn.100ac440
jmp 0x100aff5d
cmp byte [ecx], 0
je 0x100ad490
mov eax, dword [esp + 0xc]
mov esi, dword [eax]
lea eax, [esp + 0x64]
push eax
push 1
push ecx
push esi
mov esi, dword [esi + 0x20]
mov ecx, esi
call dword [0x1019a4f8]
call esi
add esp, 0x10
test eax, eax
jne 0x100ad47d
cmp dword [esp + 0x64], eax
jne 0x100ad490
push str.not_a_writable_directory
push dword [esp + 0x14]
call fcn.10054280
jmp 0x100aff5a
push dword [0x101fc344]
call fcn.10050ca0
mov eax, dword [esp + 0x34]
add esp, 4
cmp byte [eax], 0
je 0x100ad4bc
push eax
push 0x101cb434
call fcn.10053520
mov dword [0x101fc344], eax
jmp 0x100aff5a
mov dword [0x101fc344], 0
jmp 0x100aff5d
test ecx, ecx
jne 0x100ad4de
movzx eax, byte [edi + 8]
cdq
sub eax, 1
sbb edx, ecx
jmp 0x100aff51
mov edx, dword [esp + 0xc]
cmp byte [edx + 0x4f], 0
jne 0x100ad4fb
push str.Safety_level_may_not_be_changed_inside_a_transaction
push dword [esp + 0x14]
call fcn.10054280
jmp 0x100aff5a
cmp dword [esp + 0x1c], 1
je 0x100aff5d
push 1
xor edx, edx
call fcn.100ac070
inc eax
add esp, 4
and eax, 7
mov ecx, 1
mov byte [edi + 9], cl
cmove eax, ecx
mov ecx, dword [esp + 0xc]
mov byte [edi + 8], al
call fcn.100ac540
jmp 0x100aff5d
test ecx, ecx
jne 0x100ad577
mov edx, ebx
mov ecx, esi
call fcn.100ac170
mov edx, dword [esp + 0xc]
mov ecx, dword [ebx + 8]
mov eax, dword [ebx + 0xc]
and ecx, dword [edx + 0x20]
and eax, dword [edx + 0x24]
or ecx, eax
je 0x100ad560
xor ecx, ecx
mov eax, 1
push ecx
jmp 0x100aff52
xorps xmm0, xmm0
movlpd qword [esp + 0x68], xmm0
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x68]
push ecx
jmp 0x100aff52
mov eax, dword [ebx + 8]
mov edi, dword [ebx + 0xc]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x18]
cmp byte [eax + 0x4f], 0
jne 0x100ad595
and ebx, 0xffffbfff
push 0
mov edx, 1
call fcn.100ac070
mov ecx, dword [esp + 0x10]
add esp, 4
mov edx, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
mov dword [esp + 0x64], ecx
test al, al
je 0x100ad5c6
mov eax, dword [esp + 0xc]
or edx, ebx
or ecx, edi
mov dword [eax + 0x20], edx
mov dword [eax + 0x24], ecx
jmp 0x100ad5f6
mov ecx, ebx
mov eax, edi
not ecx
not eax
and eax, dword [esp + 0x64]
and ecx, edx
mov edx, dword [esp + 0xc]
mov dword [edx + 0x20], ecx
mov dword [edx + 0x24], eax
cmp ebx, 0x80000
jne 0x100ad5f6
test edi, edi
jne 0x100ad5f6
mov dword [edx + 0x1f0], edi
mov dword [edx + 0x1f4], edi
mov edx, 0x9e
mov ecx, esi
call fcn.10071c50
mov ecx, dword [esp + 0xc]
call fcn.100ac540
jmp 0x100aff5d
test ecx, ecx
je 0x100aff5d
push dword [esp + 0x3c]
mov edx, 2
push ecx
mov ecx, dword [esp + 0x18]
call fcn.10096690
mov edi, eax
add esp, 8
mov dword [esp + 0x54], edi
test edi, edi
je 0x100aff5d
mov edx, dword [edi + 0x48]
mov ecx, dword [esp + 0xc]
call fcn.100b1310
mov ecx, edi
mov dword [esp + 0x2c], 0
mov edx, eax
call fcn.10097780
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x10]
mov ecx, eax
mov dword [eax + 0x2c], 7
call fcn.1009d040
mov ecx, dword [esp + 0x10]
mov edx, edi
call fcn.10099b20
mov edx, dword [edi + 4]
xor ecx, ecx
movzx eax, word [edi + 0x2a]
xor edi, edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x38], edx
cmp di, ax
jge 0x100aff5d
mov dword [esp + 0x28], eax
nop word [eax + eax]
movzx edx, word [edx + 0x10]
xor edi, edi
test dl, 0x62
je 0x100ad6df
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
jne 0x100ad6c3
mov edi, dword [esp + 0x28]
inc dword [esp + 0x2c]
movzx eax, di
jmp 0x100ad7c8
mov eax, dword [esp + 0x28]
test dl, 0x20
je 0x100ad6d3
mov edi, 2
jmp 0x100ad6df
movzx edi, dl
and edi, 0x40
or edi, 0x20
shr edi, 5
test dl, 1
jne 0x100ad6e8
xor edx, edx
jmp 0x100ad718
mov ecx, dword [esp + 0x64]
mov edx, 1
test ecx, ecx
je 0x100ad718
cwde
mov dword [esp + 0x48], eax
cmp eax, edx
jl 0x100ad718
mov ecx, dword [ecx + 4]
mov esi, eax
movsx eax, word [ecx]
cmp eax, dword [esp + 0x14]
je 0x100ad714
inc edx
add ecx, 2
cmp edx, esi
jle 0x100ad703
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + 4]
test eax, eax
je 0x100ad731
cmp edi, 2
jae 0x100ad731
mov eax, dword [eax + 8]
mov dword [esp + 0x28], eax
jmp 0x100ad739
mov dword [esp + 0x28], 0
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
mov dword [esp + 0x20], str.issisii
jne 0x100ad751
mov dword [esp + 0x20], str.issisi
mov eax, dword [ecx]
mov dword [esp + 0x18], eax
movzx eax, word [ecx + 0x10]
test al, 4
jne 0x100ad769
mov dword [esp + 0x18], 0x101b2535
jmp 0x100ad78e
mov ecx, dword [esp + 0x18]
lea eax, [ecx + 1]
mov dword [esp + 0x48], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ad774
mov eax, dword [esp + 0x18]
sub ecx, dword [esp + 0x48]
inc eax
add eax, ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x18], eax
push edi
push edx
push dword [esp + 0x30]
xor eax, eax
cmp byte [ecx + 0xc], al
setne al
push eax
push dword [esp + 0x28]
mov eax, dword [ecx]
push eax
mov eax, dword [esp + 0x2c]
sub eax, dword [esp + 0x44]
push eax
push dword [esp + 0x3c]
push 1
push esi
call fcn.10071e10
mov eax, dword [esp + 0x7c]
add esp, 0x28
mov ecx, dword [esp + 0x14]
movzx eax, word [eax + 0x2a]
mov edx, dword [esp + 0x38]
inc ecx
movzx edi, ax
add edx, 0x14
cwde
cmp ecx, eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x38], edx
mov eax, edi
mov dword [esp + 0x28], edi
jl 0x100ad6a0
jmp 0x100aff5d
test ecx, ecx
je 0x100aff5d
push dword [esp + 0x3c]
mov edx, ecx
mov ecx, dword [esp + 0x10]
call fcn.100969b0
mov edi, eax
add esp, 4
mov dword [esp + 0x14], edi
test edi, edi
jne 0x100ad851
push dword [esp + 0x3c]
mov ecx, dword [esp + 0x14]
lea edx, [eax + 2]
push dword [esp + 0x34]
call fcn.10096690
add esp, 8
test eax, eax
je 0x100aff5d
test byte [eax + 0x24], 0x80
je 0x100aff5d
mov ecx, eax
call fcn.10097780
mov edi, eax
mov dword [esp + 0x14], eax
test edi, edi
je 0x100aff5d
mov edx, dword [edi + 0x18]
mov ecx, dword [esp + 0xc]
call fcn.100b1310
mov ecx, dword [ebx + 8]
mov edx, eax
or ecx, dword [ebx + 0xc]
je 0x100ad872
movzx eax, word [edi + 0x34]
mov ecx, 6
jmp 0x100ad87b
movzx eax, word [edi + 0x32]
mov ecx, 3
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x10]
mov dword [eax + 0x2c], ecx
mov eax, dword [edi + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x64], eax
call fcn.1009d040
xor edi, edi
cmp word [esp + 0x38], di
je 0x100aff5d
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
movzx eax, word [eax + edi*2]
movsx edx, ax
test ax, ax
jns 0x100ad8ba
xor eax, eax
jmp 0x100ad8c7
mov eax, dword [esp + 0x64]
lea ecx, [edx + edx*4]
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
push eax
push edx
push edi
push str.iisX
push 1
push esi
call fcn.10071e10
mov eax, dword [ebx + 8]
add esp, 0x18
or eax, dword [ebx + 0xc]
je 0x100ad910
mov edx, dword [esp + 0x14]
xor ecx, ecx
movzx eax, word [edx + 0x32]
cmp edi, eax
mov eax, dword [edx + 0x20]
setl cl
push ecx
push dword [eax + edi*4]
mov eax, dword [edx + 0x1c]
movzx eax, byte [eax + edi]
push eax
push str.isiX
push 4
push esi
call fcn.10071e10
add esp, 0x18
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + 0x6c]
mov edx, dword [eax + 0x2c]
cmp dword [esi + 0x70], ecx
jg 0x100ad935
push 0
push edx
push 1
mov edx, 0x50
mov ecx, esi
call fcn.10071ba0
add esp, 0xc
jmp 0x100ad968
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x34]
mov dword [eax + ecx*4], 0x50
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 + 0x38]
inc edi
movzx eax, cx
cmp edi, eax
jl 0x100ad8a3
jmp 0x100aff5d
test ecx, ecx
je 0x100aff5d
push dword [esp + 0x3c]
mov edx, ecx
mov ecx, dword [esp + 0x10]
call fcn.100964d0
mov edi, eax
add esp, 4
test edi, edi
je 0x100aff5d
mov edx, dword [edi + 0x48]
mov ecx, dword [esp + 0xc]
call fcn.100b1310
mov ecx, dword [esp + 0x10]
mov edx, eax
mov dword [ecx + 0x2c], 5
call fcn.1009d040
mov edi, dword [edi + 8]
xor ebx, ebx
test edi, edi
je 0x100aff5d
mov dword [esp + 0x68], 0x101ce8c4
mov dword [esp + 0x6c], 0x101ce8c8
mov dword [esp + 0x70], 0x101ce260
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 + 0x6c]
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.10071e10
mov edi, dword [edi + 0x14]
add esp, 0x20
inc ebx
test edi, edi
jne 0x100ad9e4
jmp 0x100aff5d
mov eax, dword [esp + 0x10]
xor edi, edi
mov edx, dword [esp + 0xc]
mov dword [eax + 0x2c], 3
cmp dword [edx + 0x14], edi
jle 0x100aff5d
xor ebx, ebx
nop dword [eax]
mov ecx, dword [edx + 0x10]
mov eax, dword [ecx + ebx + 4]
test eax, eax
je 0x100ada7c
mov eax, dword [eax + 4]
mov eax, dword [eax]
cmp byte [eax + 0xf], 0
je 0x100ada5d
mov eax, 0x101b5bdc
jmp 0x100ada63
mov eax, dword [eax + 0xa8]
push eax
push dword [ecx + ebx]
push edi
push 0x101ce8d4
push 1
push esi
call fcn.10071e10
mov edx, dword [esp + 0x24]
add esp, 0x18
inc edi
add ebx, 0x10
cmp edi, dword [edx + 0x14]
jl 0x100ada40
jmp 0x100aff5d
mov eax, dword [esp + 0x10]
xor ebx, ebx
mov edx, dword [esp + 0xc]
mov dword [eax + 0x2c], 2
mov edi, dword [edx + 0x19c]
test edi, edi
je 0x100aff5d
nop dword [eax]
mov eax, dword [edi + 8]
push dword [eax]
push ebx
push 0x101ce8d8
push 1
push esi
call fcn.10071e10
mov edi, dword [edi]
add esp, 0x14
inc ebx
test edi, edi
jne 0x100adab0
jmp 0x100aff5d
mov eax, dword [esp + 0xc]
mov ebx, dword [eax + 0x18]
mov eax, dword [esp + 0x10]
shr ebx, 5
and ebx, 1
mov dword [eax + 0x2c], 6
mov eax, 0x101fcce0
mov dword [esp + 0x18], eax
mov edi, dword [eax]
test edi, edi
je 0x100adb1a
nop dword [eax]
push ebx
push 1
mov edx, edi
mov ecx, esi
call fcn.100ac720
mov edi, dword [edi + 0x24]
add esp, 8
test edi, edi
jne 0x100adb00
mov eax, dword [esp + 0x18]
add eax, 4
mov dword [esp + 0x18], eax
cmp eax, 0x101fcd3c
jl 0x100adaf3
mov edx, dword [esp + 0xc]
mov edi, dword [edx + 0x18c]
test edi, edi
je 0x100aff5d
nop word [eax + eax]
mov edx, dword [edi + 8]
mov ecx, esi
push ebx
push 0
call fcn.100ac720
mov edi, dword [edi]
add esp, 8
test edi, edi
jne 0x100adb40
jmp 0x100aff5d
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov dword [eax + 0x2c], 1
mov edi, dword [edx + 0x170]
test edi, edi
je 0x100aff5d
nop dword [eax + eax]
mov eax, dword [edi + 8]
push dword [eax + 4]
push 0x101ce838
push 1
push esi
call fcn.10071e10
mov edi, dword [edi]
add esp, 0x10
test edi, edi
jne 0x100adb80
jmp 0x100aff5d
mov edi, 0x101b7670
push dword [edi]
push 0x101ce838
push 1
push esi
call fcn.10071e10
add edi, 0x10
add esp, 0x10
cmp edi, 0x101b7a90
jl 0x100adba6
jmp 0x100aff5d
test ecx, ecx
je 0x100aff5d
push dword [esp + 0x3c]
mov edx, ecx
mov ecx, dword [esp + 0x10]
call fcn.100964d0
add esp, 4
mov dword [esp + 0x64], eax
test eax, eax
je 0x100aff5d
mov edi, dword [eax + 0x10]
test edi, edi
je 0x100aff5d
mov edx, dword [eax + 0x48]
mov ecx, dword [esp + 0xc]
call fcn.100b1310
mov ecx, dword [esp + 0x10]
mov edx, eax
mov dword [esp + 0x14], 0
mov dword [ecx + 0x2c], 8
call fcn.1009d040
xor eax, eax
xor ebx, ebx
cmp dword [edi + 0x14], ebx
jle 0x100adce5
lea edx, [edi + 0x24]
mov dword [esp + 0x18], edx
movzx eax, byte [edi + 0x19]
add eax, 0xfffffff9
cmp eax, 3
ja case.default.0x100adc3f
jmp dword [eax*4 + 0x100b003c]
mov ecx, str.SET_NULL
jmp 0x100adc67
mov ecx, str.SET_DEFAULT
jmp 0x100adc67
mov ecx, str.CASCADE
jmp 0x100adc67
mov ecx, str.RESTRICT
jmp 0x100adc67
mov ecx, str.NO_ACTION
movzx eax, byte [edi + 0x1a]
add eax, 0xfffffff9
cmp eax, 3
ja case.default.0x100adc73
jmp dword [eax*4 + 0x100b004c]
mov eax, str.SET_NULL
jmp 0x100adc9b
mov eax, str.SET_DEFAULT
jmp 0x100adc9b
mov eax, str.CASCADE
jmp 0x100adc9b
mov eax, str.RESTRICT
jmp 0x100adc9b
mov eax, str.NO_ACTION
push str.NONE
push ecx
push eax
mov eax, dword [edx]
push dword [edx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x74]
mov eax, dword [eax + 4]
push dword [eax + ecx*4]
push dword [edi + 8]
push ebx
push dword [esp + 0x30]
push str.iissssss
push 1
push esi
call fcn.10071e10
mov edx, dword [esp + 0x44]
inc ebx
add edx, 8
add esp, 0x2c
mov dword [esp + 0x18], edx
cmp ebx, dword [edi + 0x14]
jl 0x100adc33
mov eax, dword [esp + 0x14]
mov edi, dword [edi + 4]
inc eax
mov dword [esp + 0x14], eax
test edi, edi
jne 0x100adc21
jmp 0x100aff5d
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov eax, dword [edi + 0x2c]
lea ecx, [eax + 1]
add eax, 5
mov dword [esp + 0x2c], eax
inc eax
mov dword [edi + 0x2c], eax
mov eax, dword [edx + 0x10]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + eax + 0xc]
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x100aff5d
nop dword [eax]
mov eax, dword [esp + 0x30]
test eax, eax
je 0x100add51
push dword [esp + 0x3c]
xor edx, edx
mov ecx, edi
push eax
call fcn.10096690
mov edx, dword [esp + 0x14]
add esp, 8
xor ecx, ecx
jmp 0x100add56
mov eax, dword [ecx + 8]
mov ecx, dword [ecx]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x1c], eax
test eax, eax
je 0x100ae368
cmp dword [eax + 0x10], 0
je 0x100ae368
mov ecx, dword [eax + 0x48]
mov edi, 0xfff0bdc0
test ecx, ecx
je 0x100add90
mov eax, dword [edx + 0x10]
xor edi, edi
add eax, 0xc
cmp dword [eax], ecx
je 0x100add90
lea eax, [eax + 0x10]
inc edi
cmp dword [eax], ecx
jne 0x100add88
mov ecx, dword [esp + 0x10]
mov edx, ecx
mov eax, dword [ecx + 0x74]
test eax, eax
mov ecx, edi
cmovne edx, eax
mov eax, 1
shl eax, cl
mov ebx, dword [edx + 0x54]
test ebx, eax
jne 0x100addc0
bts ebx, edi
mov dword [edx + 0x54], ebx
cmp edi, 1
jne 0x100addc0
mov ecx, edx
call fcn.1009cfa0
mov ebx, dword [esp + 0x1c]
mov edx, edi
mov ecx, dword [esp + 0x10]
push dword [ebx]
push 0
push dword [ebx + 0x1c]
call fcn.10095dc0
mov ecx, dword [esp + 0x38]
add esp, 0xc
movsx eax, word [ebx + 0x2a]
inc ecx
add eax, ecx
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx + 0x2c]
jle 0x100addf0
mov dword [ecx + 0x2c], eax
push 0x60
push ebx
push edi
xor edx, edx
call fcn.100a62a0
add esp, 0xc
mov edx, 0x73
mov ecx, esi
push 0
push dword [ebx]
push 0
push dword [esp + 0x30]
push 0
call fcn.10071fc0
mov ecx, dword [ebx + 0x10]
add esp, 0x14
mov dword [esp + 0x14], ecx
mov eax, 1
mov dword [esp + 0x20], eax
test ecx, ecx
je 0x100adf55
mov edx, dword [ecx + 8]
push dword [esp + 0x3c]
mov ecx, dword [esp + 0x10]
call fcn.100964d0
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x100adf35
push dword [ebx]
mov ecx, dword [esp + 0x14]
mov edx, edi
push 0
push dword [ebx + 0x1c]
mov dword [esp + 0x34], 0
call fcn.10095dc0
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x34]
add esp, 0xc
mov edx, ebx
push 0
push eax
push dword [esp + 0x1c]
call fcn.100a3730
add esp, 0xc
test eax, eax
jne 0x100aff5d
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
test eax, eax
jne 0x100adead
mov ecx, dword [esp + 0x10]
push 0x60
push ebx
push edi
call fcn.100a62a0
add esp, 0xc
jmp 0x100adf35
mov ecx, dword [esi + 0x6c]
mov ebx, dword [eax + 0x2c]
cmp dword [esi + 0x70], ecx
jg 0x100adecc
push edi
push ebx
push edx
mov edx, 0x60
mov ecx, esi
call fcn.10071ba0
add esp, 0xc
jmp 0x100adef3
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x60
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 + 0x10]
mov ecx, eax
mov edx, dword [esp + 0x28]
mov ebx, dword [eax + 8]
call fcn.1009d980
mov edx, eax
test edx, edx
je 0x100adf35
mov ecx, dword [ebx]
cmp byte [ecx + 0x51], 0
je 0x100adf23
push edx
mov edx, 0xfffffff7
call fcn.100727b0
add esp, 4
jmp 0x100adf35
mov eax, dword [ebx + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0x68]
mov byte [eax + ecx*4 - 0x13], 0xf7
mov dword [eax + ecx*4 - 4], edx
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x20], eax
mov ecx, dword [ecx + 4]
mov dword [esp + 0x14], ecx
test ecx, ecx
jne 0x100ade31
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x10]
cmp dword [edi + 0x28], eax
jge 0x100adf61
mov dword [edi + 0x28], eax
mov edx, dword [esi + 0x6c]
mov dword [esp + 0x4c], edx
cmp dword [esi + 0x70], edx
jg 0x100adf88
push 0
push 0
push 0
mov edx, 0x25
mov ecx, esi
call fcn.10071ba0
add esp, 0xc
mov dword [esp + 0x4c], eax
jmp 0x100adfbb
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x25
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 + 0x10]
mov dword [esp + 0x20], 1
mov dword [esp + 0x34], ebx
test ebx, ebx
je 0x100ae2e6
push dword [esp + 0x3c]
mov edx, dword [ebx + 8]
mov ecx, dword [esp + 0x10]
call fcn.100964d0
xor edx, edx
mov dword [esp + 0x68], eax
add esp, 4
mov dword [esp + 0x28], 0
mov dword [esp + 0x14], edx
test eax, eax
je 0x100ae016
lea ecx, [esp + 0x14]
mov edx, eax
push ecx
lea ecx, [esp + 0x2c]
push ecx
push ebx
mov ecx, edi
call fcn.100a3730
mov edx, dword [esp + 0x20]
add esp, 0xc
mov ecx, dword [esp + 0x34]
xor ebx, ebx
dec dword [edi + 0x38]
mov edi, dword [edi + 0x38]
mov dword [esp + 0x38], edi
mov eax, dword [ecx + 0x14]
test eax, eax
jle 0x100ae0d0
mov edi, dword [esp + 0x2c]
inc edi
add ecx, 0x24
mov dword [esp + 0x18], ecx
nop dword [eax]
lea eax, [edx + ebx*4]
test edx, edx
jne 0x100ae049
mov eax, ecx
mov eax, dword [eax]
mov ecx, esi
mov edx, dword [esp + 0x1c]
push edi
push eax
push 0
call fcn.1008d2e0
mov ecx, dword [esi + 0x6c]
add esp, 0xc
cmp dword [esi + 0x70], ecx
jg 0x100ae07d
push 0
push dword [esp + 0x3c]
mov edx, 0x32
mov ecx, esi
push edi
call fcn.10071ba0
add esp, 0xc
jmp 0x100ae0ac
mov edx, dword [esp + 0x38]
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 eax, dword [esp + 0x34]
inc ebx
mov ecx, dword [esp + 0x18]
inc edi
mov edx, dword [esp + 0x14]
add ecx, 8
mov dword [esp + 0x18], ecx
mov eax, dword [eax + 0x14]
cmp ebx, eax
jl 0x100ae040
mov edi, dword [esp + 0x38]
mov edx, dword [esp + 0x28]
test edx, edx
je 0x100ae122
push eax
push ecx
mov ecx, dword [esp + 0x14]
call fcn.100a63e0
mov ecx, dword [esp + 0x34]
add esp, 4
mov ebx, dword [esp + 0x38]
mov edx, 0x5b
push eax
push ecx
push dword [ebx + 0x14]
lea eax, [ecx + 1]
mov ecx, esi
push eax
call fcn.10071fc0
add esp, 0x14
mov edx, 0x1e
mov ecx, esi
push 0
push dword [esp + 0x30]
push edi
push dword [esp + 0x2c]
call fcn.10072210
add esp, 0x10
jmp 0x100ae18d
cmp dword [esp + 0x64], 0
je 0x100ae189
mov ecx, dword [esi + 0x6c]
lea edx, [ecx + 2]
cmp dword [esi + 0x70], ecx
jg 0x100ae150
mov eax, dword [esp + 0x2c]
mov ecx, esi
inc eax
push eax
push edx
push dword [esp + 0x28]
mov edx, 0x1f
call fcn.10071ba0
add esp, 0xc
jmp 0x100ae180
mov ebx, dword [esp + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x2c]
inc edx
mov dword [eax + ecx*4], 0x1f
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov edx, edi
mov ecx, esi
call fcn.10071d80
mov ebx, dword [esp + 0x34]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
test byte [edx + 0x24], 0x80
jne 0x100ae1d1
cmp eax, ecx
jg 0x100ae1bc
mov eax, dword [esp + 0x24]
mov edx, 0x7f
push 0
inc eax
mov ecx, esi
push eax
push 0
call fcn.10071ba0
add esp, 0xc
jmp 0x100ae228
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x7f
jmp 0x100ae203
cmp eax, ecx
jg 0x100ae1f0
mov eax, dword [esp + 0x24]
mov edx, 0x48
push 0
inc eax
mov ecx, esi
push eax
push 0
call fcn.10071ba0
add esp, 0xc
jmp 0x100ae228
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x48
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x34]
inc edx
mov dword [eax + ecx*4 + 0x10], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 4], 0
mov eax, dword [esp + 0x20]
dec eax
push eax
push dword [ebx + 8]
mov eax, dword [esp + 0x2c]
push 0x101ce8f0
add eax, 2
push eax
push esi
call fcn.10071e10
mov ecx, dword [esi + 0x6c]
add esp, 0x14
cmp dword [esi + 0x70], ecx
jg 0x100ae268
push 0
push 4
push dword [esp + 0x2c]
mov edx, 0x50
mov ecx, esi
call fcn.10071ba0
add esp, 0xc
jmp 0x100ae29b
mov edx, dword [esp + 0x24]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x50
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 0x100ae2b5
push edi
mov edx, esi
call fcn.10072310
add esp, 4
jmp 0x100ae2be
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x6c]
mov dword [ecx + edi*4], eax
mov edx, dword [esp + 0x14]
test edx, edx
je 0x100ae2cf
mov ecx, dword [esp + 0xc]
call fcn.10050db0
mov ebx, dword [ebx + 4]
inc dword [esp + 0x20]
mov edi, dword [esp + 0x10]
mov dword [esp + 0x34], ebx
test ebx, ebx
jne 0x100adfd2
mov ebx, dword [esp + 0x4c]
mov ecx, dword [esi + 0x6c]
lea edx, [ebx + 1]
cmp dword [esi + 0x70], ecx
jg 0x100ae30b
push 0
push edx
push 0
mov edx, 5
mov ecx, esi
call fcn.10071ba0
add esp, 0xc
jmp 0x100ae33e
mov edi, dword [esp + 0x10]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 5
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 + 0x51], 0
je 0x100ae350
mov eax, 0x101fccb8
jmp 0x100ae361
test ebx, ebx
lea eax, [edx - 1]
cmovns eax, ebx
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x44]
mov dword [eax + 8], edx
test ecx, ecx
je 0x100aff5d
mov edx, dword [esp + 0xc]
jmp 0x100add30
test ecx, ecx
je 0x100aff5d
push 0
mov edx, 1
call fcn.100ac070
mov ecx, dword [esp + 0x10]
xor edx, edx
add esp, 4
test al, al
setne dl
call fcn.100a3500
jmp 0x100aff5d
mov eax, dword [esp + 0x50]
or edx, 0xffffffff
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
movzx eax, byte [eax]
mov al, byte [eax + 0x101b7250]
mov byte [esp + 0x43], al
mov eax, dword [esp + 0x24]
cmp dword [eax], 0
mov eax, 0x64
mov dword [ebx + 0x2c], 6
cmove edi, edx
mov dword [esp + 0x64], eax
mov dword [esp + 0x1c], edi
mov dword [esp + 0x44], eax
test ecx, ecx
je 0x100ae402
lea edx, [esp + 0x44]
call fcn.10054d10
mov eax, dword [esp + 0x44]
mov ecx, 0x64
test eax, eax
cmovle eax, ecx
mov dword [esp + 0x64], eax
dec eax
mov edx, 0x45
push 1
push eax
mov ecx, esi
call fcn.10071d10
mov eax, dword [esp + 0x14]
xor ecx, ecx
add esp, 8
mov dword [esp + 0x14], ecx
cmp dword [eax + 0x14], ecx
jle 0x100af6ea
nop dword [eax + eax]
mov dword [esp + 0x2c], 0
test edi, edi
js 0x100ae444
cmp ecx, edi
jne 0x100af6dc
mov eax, dword [ebx + 0x74]
mov edx, ebx
test eax, eax
cmovne edx, eax
mov eax, 1
shl eax, cl
mov edi, dword [edx + 0x54]
test edi, eax
jne 0x100ae472
bts edi, ecx
mov dword [edx + 0x54], edi
cmp ecx, 1
jne 0x100ae472
mov ecx, edx
call fcn.1009cfa0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xc]
xor edx, edx
shl ecx, 4
mov dword [esp + 0x48], ecx
mov eax, dword [eax + 0x10]
mov eax, dword [ecx + eax + 0xc]
mov dword [esp + 0x44], eax
mov ebx, dword [eax + 0x10]
test ebx, ebx
je 0x100ae4d4
mov esi, edx
mov ecx, dword [ebx + 8]
lea eax, [edx + 1]
test byte [ecx + 0x24], 0x80
cmovne eax, edx
xor edi, edi
mov edx, eax
mov eax, dword [ecx + 8]
test eax, eax
je 0x100ae4b9
nop dword [eax + eax]
mov eax, dword [eax + 0x14]
inc edx
inc edi
test eax, eax
jne 0x100ae4b0
mov ebx, dword [ebx]
cmp edi, esi
cmovle edi, esi
mov esi, edi
test ebx, ebx
jne 0x100ae493
mov dword [esp + 0x2c], esi
mov eax, edi
mov esi, dword [esp + 0x34]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0xc]
lea eax, [edx*4 + 4]
push 0
push eax
call fcn.100510a0
mov edi, eax
add esp, 8
test edi, edi
je 0x100af6ea
mov ebx, dword [esp + 0x44]
xor edx, edx
mov ebx, dword [ebx + 0x10]
test ebx, ebx
je 0x100ae52c
mov ecx, dword [ebx + 8]
test byte [ecx + 0x24], 0x80
jne 0x100ae511
mov eax, dword [ecx + 0x1c]
inc edx
mov dword [edi + edx*4], eax
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x100ae526
mov eax, dword [ecx + 0x2c]
inc edx
mov dword [edi + edx*4], eax
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x100ae518
mov ebx, dword [ebx]
test ebx, ebx
jne 0x100ae501
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x2c]
mov dword [edi], edx
add eax, 8
push 0xfffffffffffffff1
mov ecx, dword [ebx + 0x2c]
cmp ecx, eax
push edi
cmovle ecx, eax
mov byte [ebx + 0x13], 0
push 1
push edx
mov dword [ebx + 0x2c], ecx
mov edx, 0x92
push 2
mov ecx, esi
mov dword [ebx + 0x1c], 0
call fcn.10071fc0
mov edi, dword [esi + 0x6c]
add esp, 0x14
test edi, edi
jle 0x100ae582
mov eax, dword [esp + 0x14]
lea ecx, [edi + edi*4]
movzx edx, al
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov edi, dword [esi + 0x6c]
cmp dword [esi + 0x70], edi
jg 0x100ae5a0
push 0
push 0
push 2
mov edx, 0x32
mov ecx, esi
call fcn.10071ba0
add esp, 0xc
mov edi, eax
jmp 0x100ae5d3
lea eax, [edi + 1]
mov dword [esi + 0x6c], 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 + 0xc]
mov ecx, dword [esp + 0x48]
mov eax, dword [edx + 0x10]
push dword [ecx + eax]
push str._in_database__s__n
push edx
call fcn.10053430
mov edx, dword [esi + 0x6c]
add esp, 0xc
mov ebx, eax
cmp dword [esi + 0x70], edx
jg 0x100ae612
push 0
push 3
push 0
mov edx, 0x73
mov ecx, esi
call fcn.10071ba0
add esp, 0xc
mov edx, eax
jmp 0x100ae649
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x34]
mov dword [eax + ecx*4], 0x73
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 + 0x51], 0
je 0x100ae661
push ebx
mov edx, 0xfffffff9
call fcn.100727b0
add esp, 4
jmp 0x100ae695
test edx, edx
jns 0x100ae669
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 0x100ae68a
push 0xfffffffffffffff9
push ebx
mov edx, eax
mov ecx, esi
call fcn.10072970
add esp, 8
jmp 0x100ae695
test ebx, ebx
je 0x100ae695
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0xf9
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x100ae6b4
push 3
push 3
push 2
mov edx, 0x6e
mov ecx, esi
call fcn.10071ba0
add esp, 0xc
jmp 0x100ae6e7
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6e
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.100ac7b0
mov eax, dword [esi]
mov edx, dword [esi + 0x6c]
cmp byte [eax + 0x51], 0
je 0x100ae700
mov eax, 0x101fccb8
jmp 0x100ae711
test edi, edi
lea eax, [edx - 1]
cmovns eax, edi
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x44]
mov edi, dword [eax + 0x10]
mov dword [esp + 0x48], edi
test edi, edi
je 0x100af6cc
nop word [eax + eax]
mov edi, dword [edi + 8]
mov dword [esp + 0x24], edi
mov dword [esp + 0x58], 0
mov dword [esp + 0x38], 0xffffffff
cmp dword [edi + 0x1c], 1
jl 0x100af6ba
test byte [edi + 0x24], 0x80
jne 0x100ae761
mov dword [esp + 0x20], 0
jmp 0x100ae784
mov ebx, dword [edi + 8]
mov dword [esp + 0x20], ebx
test ebx, ebx
je 0x100ae784
nop dword [eax]
mov eax, dword [ebx + 0x38]
and al, 3
cmp al, 2
je 0x100ae780
mov ebx, dword [ebx + 0x14]
test ebx, ebx
jne 0x100ae770
mov dword [esp + 0x20], ebx
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x2c]
mov edx, edi
push eax
push 0
push 1
push 0
push 0x60
call fcn.100aa4f0
mov ecx, dword [esi + 0x6c]
add esp, 0x18
cmp dword [esi + 0x70], ecx
jg 0x100ae7c3
push 0
push 7
push 0
mov edx, 0x45
mov ecx, esi
call fcn.10071ba0
add esp, 0xc
jmp 0x100ae7f6
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x45
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 ebx, dword [edi + 8]
test ebx, ebx
je 0x100ae85b
mov edi, 8
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x100ae820
push 0
push edi
push 0
mov edx, 0x45
mov ecx, esi
call fcn.10071ba0
add esp, 0xc
jmp 0x100ae84f
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x45
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 0x100ae802
mov edi, dword [esp + 0x24]
mov ecx, dword [esi + 0x6c]
mov ebx, dword [esp + 0x28]
cmp dword [esi + 0x70], ecx
jg 0x100ae87d
push 0
push 0
push ebx
mov edx, 0x25
mov ecx, esi
call fcn.10071ba0
add esp, 0xc
jmp 0x100ae8ac
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x25
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esi + 0x6c]
mov dword [esp + 0x18], edx
cmp dword [esi + 0x70], edx
jg 0x100ae8d3
push 0
push 1
push 7
mov edx, 0x52
mov ecx, esi
call fcn.10071ba0
add esp, 0xc
mov dword [esp + 0x18], eax
jmp 0x100ae906
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x52
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
cmp byte [esp + 0x43], 0x71
je 0x100ae975
movsx edx, word [edi + 0x2c]
mov ecx, dword [esi + 0x6c]
dec edx
cmp dword [esi + 0x70], ecx
jg 0x100ae92f
push 3
push edx
push ebx
mov edx, 0x59
mov ecx, esi
call fcn.10071ba0
add esp, 0xc
jmp 0x100ae95e
mov edi, dword [esp + 0x24]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x59
mov dword [eax + ecx*4 + 4], ebx
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 + 0x6c]
test eax, eax
jle 0x100ae975
lea ecx, [eax + eax*4]
mov edx, 0x80
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x44], ecx
cmp ax, word [edi + 0x2a]
jge 0x100aeb5d
xor ebx, ebx
mov dword [esp + 0x4c], ebx
nop dword [eax]
movsx eax, word [edi + 0x28]
cmp ecx, eax
je 0x100aeb45
mov eax, dword [edi + 4]
cmp byte [ebx + eax + 0xc], 0
je 0x100aeb45
push 3
push ecx
push dword [esp + 0x30]
mov edx, edi
mov ecx, esi
call fcn.1008d2e0
mov ecx, dword [esi + 0x6c]
add esp, 0xc
mov eax, dword [esi]
lea edx, [ecx + ecx*4]
shl edx, 2
cmp byte [eax + 0x51], 0
je 0x100ae9d5
mov eax, 0x101fccb8
jmp 0x100ae9dd
mov eax, dword [esi + 0x68]
add eax, 0xffffffec
add eax, edx
cmp byte [eax], 0x59
mov edi, ecx
jne 0x100ae9f8
test ecx, ecx
jle 0x100ae9f8
mov eax, dword [esi + 0x68]
mov ecx, 0x80
mov word [eax + edx - 0x12], cx
mov edi, dword [esi + 0x6c]
cmp dword [esi + 0x70], edi
jg 0x100aea16
push 0
push 0
push 3
mov edx, 0x33
mov ecx, esi
call fcn.10071ba0
add esp, 0xc
mov edi, eax
jmp 0x100aea49
lea eax, [edi + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x33
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, dword [esp + 0x24]
mov eax, dword [ecx + 4]
push dword [ebx + eax]
push dword [ecx]
push str.NULL_value_in__s._s
push dword [esp + 0x18]
call fcn.10053430
mov edx, dword [esi + 0x6c]
add esp, 0x10
mov ebx, eax
cmp dword [esi + 0x70], edx
jg 0x100aea89
push 0
push 3
push 0
mov edx, 0x73
mov ecx, esi
call fcn.10071ba0
add esp, 0xc
mov edx, eax
jmp 0x100aeac0
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x34]
mov dword [eax + ecx*4], 0x73
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 + 0x51], 0
je 0x100aead8
push ebx
mov edx, 0xfffffff9
call fcn.100727b0
add esp, 4
jmp 0x100aeb0c
test edx, edx
jns 0x100aeae0
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 0x100aeb01
push 0xfffffffffffffff9
push ebx
mov edx, eax
mov ecx, esi
call fcn.10072970
add esp, 8
jmp 0x100aeb0c
test ebx, ebx
je 0x100aeb0c
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0xf9
mov ecx, esi
call fcn.100ac7b0
mov eax, dword [esi]
mov edx, dword [esi + 0x6c]
cmp byte [eax + 0x51], 0
je 0x100aeb25
mov eax, 0x101fccb8
jmp 0x100aeb36
test edi, edi
lea eax, [edx - 1]
cmovns eax, edi
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x44]
mov ebx, dword [esp + 0x4c]
mov edi, dword [esp + 0x24]
mov dword [eax + 8], edx
movsx eax, word [edi + 0x2a]
inc ecx
add ebx, 0x14
mov dword [esp + 0x44], ecx
mov dword [esp + 0x4c], ebx
cmp ecx, eax
jl 0x100ae990
mov edx, dword [edi + 0x18]
test edx, edx
je 0x100aed32
mov ebx, dword [esp + 0xc]
mov eax, dword [ebx + 0x20]
and eax, 0x200
or eax, 0
jne 0x100aed32
push eax
mov ecx, ebx
call fcn.10089610
add esp, 4
mov edx, eax
cmp byte [ebx + 0x51], 0
mov dword [esp + 0x2c], edx
jne 0x100aed27
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov ebx, dword [eax + 0x38]
dec ebx
mov dword [esp + 0x44], ebx
lea eax, [ebx - 1]
mov dword [ecx + 0x38], eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x28]
inc eax
mov dword [ecx + 0x34], eax
mov edi, dword [edx]
dec edi
test edi, edi
jle 0x100aebf7
mov esi, dword [esp + 0x44]
lea ebx, [edi*4 + 1]
add ebx, edi
lea ebx, [edx + ebx*4]
push 0
push esi
push dword [ebx]
push ecx
call fcn.1008f5f0
mov ecx, dword [esp + 0x20]
lea ebx, [ebx - 0x14]
dec edi
add esp, 0x10
test edi, edi
jg 0x100aebd1
mov esi, dword [esp + 0x34]
mov ebx, dword [esp + 0x44]
mov edx, dword [esp + 0x2c]
push 0x10
push dword [esp + 0x50]
push dword [edx + 4]
push ecx
call fcn.1008f230
mov ecx, dword [esi + 0xc]
add esp, 0x10
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x100aec23
push ebx
mov edx, esi
call fcn.10072310
add esp, 4
jmp 0x100aec2c
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x6c]
mov dword [ecx + ebx*4], eax
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov dword [eax + 0x34], 0
mov eax, dword [esp + 0x24]
push dword [eax]
push str.CHECK_constraint_failed_in__s
push ebx
call fcn.10053430
mov edx, dword [esi + 0x6c]
add esp, 0xc
mov edi, eax
cmp dword [esi + 0x70], edx
jg 0x100aec72
push 0
push 3
push 0
mov edx, 0x73
mov ecx, esi
call fcn.10071ba0
add esp, 0xc
mov edx, eax
jmp 0x100aeca5
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x73
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 + 0x51], 0
je 0x100aecbd
push edi
mov edx, 0xfffffff9
call fcn.100727b0
add esp, 4
jmp 0x100aecf1
test edx, edx
jns 0x100aecc5
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 0x100aece6
push 0xfffffffffffffff9
push edi
mov edx, eax
mov ecx, esi
call fcn.10072970
add esp, 8
jmp 0x100aecf1
test edi, edi
je 0x100aecf1
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0xf9
mov ecx, esi
call fcn.100ac7b0
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x4c]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x100aed16
push edx
mov edx, esi
call fcn.10072310
add esp, 4
jmp 0x100aed1f
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x6c]
mov dword [ecx + edx*4], eax
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
test edx, edx
je 0x100aed32
mov ecx, ebx
call fcn.1008a230
mov bl, byte [esp + 0x43]
cmp bl, 0x71
je 0x100af391
mov ebx, dword [edi + 8]
mov dword [esp + 0x3c], ebx
test ebx, ebx
je 0x100af38d
mov eax, dword [esp + 0x54]
mov ecx, 8
sub ecx, eax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x20]
nop dword [eax]
dec dword [eax + 0x38]
mov edi, dword [eax + 0x38]
cmp ecx, ebx
je 0x100af37a
push dword [esp + 0x38]
lea ecx, [esp + 0x6c]
mov edx, ebx
push dword [esp + 0x5c]
push ecx
push 0
push 0
push dword [esp + 0x3c]
mov ecx, eax
call fcn.1009f9c0
mov edx, dword [esp + 0x44]
add esp, 0x18
mov ecx, dword [esi + 0x6c]
add edx, dword [esp + 0x5c]
mov dword [esp + 0x38], eax
mov dword [esp + 0x58], ebx
cmp dword [esi + 0x70], ecx
jg 0x100aedcd
push 0
push 1
push edx
mov edx, 0x52
mov ecx, esi
call fcn.10071ba0
add esp, 0xc
jmp 0x100aee00
mov ebx, dword [esp + 0x3c]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x52
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 eax, word [ebx + 0x34]
mov edx, 0x1e
push eax
push dword [esp + 0x3c]
mov ecx, esi
push edi
push dword [esp + 0x38]
call fcn.10072210
mov edx, dword [esi + 0x6c]
add esp, 0x10
mov ebx, eax
cmp dword [esi + 0x70], edx
jg 0x100aee40
push 0
push 3
push 0
mov edx, 0x73
mov ecx, esi
call fcn.10071ba0
add esp, 0xc
mov edx, eax
jmp 0x100aee73
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x73
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 + 0x51], 0
je 0x100aee8c
push str.row
xor edx, edx
call fcn.100727b0
add esp, 4
jmp 0x100aeeae
test edx, edx
jns 0x100aee94
mov edx, dword [esi + 0x6c]
dec edx
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
push 0
push str.row
lea edx, [eax + ecx*4]
mov ecx, esi
call fcn.10072970
add esp, 8
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x100aeecd
push 3
push 3
push 7
mov edx, 0x6e
mov ecx, esi
call fcn.10071ba0
add esp, 0xc
jmp 0x100aef00
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6e
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
mov edx, dword [esi + 0x6c]
cmp dword [esi + 0x70], edx
jg 0x100aef21
push 0
push 4
push 0
mov edx, 0x73
mov ecx, esi
call fcn.10071ba0
add esp, 0xc
mov edx, eax
jmp 0x100aef54
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x73
mov dword [eax + ecx*4 + 4], 0
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]
cmp byte [ecx + 0x51], 0
je 0x100aef6d
push str._missing_from_index
xor edx, edx
call fcn.100727b0
add esp, 4
jmp 0x100aef8f
test edx, edx
jns 0x100aef75
mov edx, dword [esi + 0x6c]
dec edx
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
push 0
push str._missing_from_index
lea edx, [eax + ecx*4]
mov ecx, esi
call fcn.10072970
add esp, 8
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x100aefae
push 3
push 3
push 4
mov edx, 0x6e
mov ecx, esi
call fcn.10071ba0
add esp, 0xc
jmp 0x100aefe1
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6e
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 + 0x3c]
mov edx, dword [esi + 0x6c]
mov dword [esp + 0x4c], edx
mov edi, dword [eax]
cmp dword [esi + 0x70], edx
jg 0x100af010
push 0
push 4
push 0
mov edx, 0x73
mov ecx, esi
call fcn.10071ba0
mov edx, eax
add esp, 0xc
mov dword [esp + 0x4c], edx
jmp 0x100af047
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x34]
mov dword [eax + ecx*4], 0x73
mov dword [eax + ecx*4 + 4], 0
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]
mov eax, edx
cmp byte [ecx + 0x51], 0
je 0x100af05e
push edi
xor edx, edx
call fcn.100727b0
add esp, 4
jmp 0x100af07c
test edx, edx
jns 0x100af066
mov eax, dword [esi + 0x6c]
dec eax
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
push 0
push edi
lea edx, [eax + ecx*4]
mov ecx, esi
call fcn.10072970
add esp, 8
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x100af09b
push 3
push 3
push 4
mov edx, 0x6e
mov ecx, esi
call fcn.10071ba0
add esp, 0xc
jmp 0x100af0ce
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6e
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.100ac7b0
mov edx, dword [esi + 0x6c]
mov dword [esp + 0x60], eax
test ebx, ebx
jns 0x100af0e3
lea ebx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
je 0x100af0f2
mov eax, 0x101fccb8
jmp 0x100af0fb
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x3c]
cmp byte [eax + 0x36], 0
je 0x100af315
mov ecx, dword [esp + 0x10]
xor ebx, ebx
dec dword [ecx + 0x38]
mov edx, dword [ecx + 0x38]
xor ecx, ecx
mov dword [esp + 0x44], edx
cmp cx, word [eax + 0x32]
jae 0x100af1ae
mov edi, dword [esp + 0x38]
jmp 0x100af134
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 4]
movsx eax, word [eax + ebx*2]
test eax, eax
js 0x100af150
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 4]
cmp byte [eax + ecx*4 + 0xc], 0
jne 0x100af1a0
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x100af171
push 0
push edx
push edi
mov edx, 0x32
mov ecx, esi
call fcn.10071ba0
mov edx, dword [esp + 0x50]
add esp, 0xc
jmp 0x100af1a0
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x34]
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 eax, dword [esp + 0x3c]
inc ebx
inc edi
movzx eax, word [eax + 0x32]
cmp ebx, eax
jl 0x100af130
mov edi, dword [esi + 0x6c]
cmp dword [esi + 0x70], edi
jg 0x100af1d1
push 0
push 0
push dword [esp + 0x34]
mov edx, 5
mov ecx, esi
call fcn.10071ba0
add esp, 0xc
mov edi, eax
jmp 0x100af204
mov edx, dword [esp + 0x2c]
lea eax, [edi + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 5
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 ebx, dword [esp + 0x44]
mov ecx, esi
mov edx, ebx
call fcn.10071d80
mov eax, dword [esi]
mov edx, dword [esi + 0x6c]
cmp byte [eax + 0x51], 0
je 0x100af223
mov eax, 0x101fccb8
jmp 0x100af234
test edi, edi
lea eax, [edx - 1]
cmovns eax, edi
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov ecx, esi
mov eax, dword [esp + 0x3c]
mov edx, 0x27
movzx eax, word [eax + 0x32]
push eax
push dword [esp + 0x3c]
push ebx
push dword [esp + 0x38]
call fcn.10072210
mov edx, dword [esi + 0x6c]
add esp, 0x10
cmp dword [esi + 0x70], edx
jg 0x100af279
push 0
push 3
push 0
mov edx, 0x73
mov ecx, esi
call fcn.10071ba0
add esp, 0xc
mov edx, eax
jmp 0x100af2ac
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x73
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 + 0x51], 0
je 0x100af2c5
push str.non_unique_entry_in_index
xor edx, edx
call fcn.100727b0
add esp, 4
jmp 0x100af2e7
test edx, edx
jns 0x100af2cd
mov edx, dword [esi + 0x6c]
dec edx
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
push 0
push str.non_unique_entry_in_index
lea edx, [eax + ecx*4]
mov ecx, esi
call fcn.10072970
add esp, 8
mov edx, dword [esp + 0x4c]
mov ecx, esi
call fcn.10071d80
mov ecx, dword [esi + 0xc]
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x100af30c
push ebx
mov edx, esi
call fcn.10072310
add esp, 4
jmp 0x100af315
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x6c]
mov dword [ecx + ebx*4], eax
mov ecx, dword [esp + 0x60]
mov edx, dword [esi + 0x6c]
test ecx, ecx
jns 0x100af323
lea ecx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
je 0x100af332
mov eax, 0x101fccb8
jmp 0x100af33b
mov eax, dword [esi + 0x68]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov edi, dword [esp + 0x68]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x10]
test edi, edi
je 0x100af372
mov edx, dword [eax + 8]
not edi
mov ecx, dword [edx + 0xc]
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x100af365
push edi
call fcn.10072310
add esp, 4
jmp 0x100af36e
mov ecx, dword [ecx + 0x40]
mov eax, dword [edx + 0x6c]
mov dword [ecx + edi*4], eax
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x20]
mov ebx, dword [ebx + 0x14]
inc dword [esp + 0x2c]
mov dword [esp + 0x3c], ebx
test ebx, ebx
jne 0x100aed70
mov bl, byte [esp + 0x43]
mov ecx, dword [esi + 0x6c]
mov edi, dword [esp + 0x18]
cmp dword [esi + 0x70], ecx
jg 0x100af3b5
push 0
push edi
push dword [esp + 0x30]
mov edx, 5
mov ecx, esi
call fcn.10071ba0
add esp, 0xc
jmp 0x100af3e4
mov edx, dword [esp + 0x28]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 5
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
lea ecx, [edi - 1]
mov edx, dword [esi + 0x6c]
cmp byte [eax + 0x51], 0
je 0x100af3f9
mov eax, 0x101fccc0
jmp 0x100af40c
test ecx, ecx
mov eax, edx
cmovns eax, edi
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + ecx*4]
add eax, 0xfffffff4
mov dword [eax], edx
cmp bl, 0x71
je 0x100af6ba
mov edx, dword [esi + 0x6c]
cmp dword [esi + 0x70], edx
jg 0x100af438
push 0
push 2
push 0
mov edx, 0x73
mov ecx, esi
call fcn.10071ba0
add esp, 0xc
mov edx, eax
jmp 0x100af46b
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x73
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 2
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x51], 0
je 0x100af484
push str.wrong__of_entries_in_index
xor edx, edx
call fcn.100727b0
add esp, 4
jmp 0x100af4a6
test edx, edx
jns 0x100af48c
mov edx, dword [esi + 0x6c]
dec edx
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
push 0
push str.wrong__of_entries_in_index
lea edx, [eax + ecx*4]
mov ecx, esi
call fcn.10072970
add esp, 8
mov eax, dword [esp + 0x24]
mov ebx, dword [eax + 8]
mov dword [esp + 0x58], ebx
test ebx, ebx
je 0x100af6ba
mov ecx, dword [esp + 0x20]
mov eax, 8
mov dword [esp + 0x38], eax
cmp ecx, ebx
je 0x100af6a6
mov edx, dword [esp + 0x54]
mov ecx, dword [esi + 0x6c]
add edx, 0xfffffff8
add edx, eax
cmp dword [esi + 0x70], ecx
jg 0x100af4f5
push 0
push 3
push edx
mov edx, 0x5c
mov ecx, esi
call fcn.10071ba0
add esp, 0xc
jmp 0x100af524
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x5c
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 edi, dword [esi + 0x6c]
mov edx, dword [esp + 0x38]
cmp dword [esi + 0x70], edi
jg 0x100af548
push 3
push 0
push edx
mov edx, 0x35
mov ecx, esi
call fcn.10071ba0
add esp, 0xc
mov edi, eax
jmp 0x100af577
lea eax, [edi + 1]
mov dword [esi + 0x6c], 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 edx, dword [esi + 0x6c]
test edx, edx
jle 0x100af591
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
mov edx, 0x90
mov word [eax + ecx*4 - 0x12], dx
mov edx, dword [esi + 0x6c]
mov ebx, dword [ebx]
cmp dword [esi + 0x70], edx
jg 0x100af5b1
push 0
push 4
push 0
mov edx, 0x73
mov ecx, esi
call fcn.10071ba0
add esp, 0xc
mov edx, eax
jmp 0x100af5e8
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x34]
mov dword [eax + ecx*4], 0x73
mov dword [eax + ecx*4 + 4], 0
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]
cmp byte [ecx + 0x51], 0
je 0x100af5fd
push ebx
xor edx, edx
call fcn.100727b0
add esp, 4
jmp 0x100af61b
test edx, edx
jns 0x100af605
mov edx, dword [esi + 0x6c]
dec edx
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
push 0
push ebx
lea edx, [eax + ecx*4]
mov ecx, esi
call fcn.10072970
add esp, 8
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x100af63a
push 3
push 2
push 4
mov edx, 0x6e
mov ecx, esi
call fcn.10071ba0
add esp, 0xc
jmp 0x100af66d
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6e
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.100ac7b0
mov edx, dword [esi + 0x6c]
test edi, edi
mov eax, dword [esi]
lea ecx, [edx - 1]
cmovns ecx, edi
cmp byte [eax + 0x51], 0
je 0x100af68e
mov eax, 0x101fccb8
jmp 0x100af697
mov eax, dword [esi + 0x68]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov ebx, dword [esp + 0x58]
mov ecx, dword [esp + 0x20]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x38]
mov ebx, dword [ebx + 0x14]
inc eax
mov dword [esp + 0x58], ebx
mov dword [esp + 0x38], eax
test ebx, ebx
jne 0x100af4c6
mov edi, dword [esp + 0x48]
mov edi, dword [edi]
mov dword [esp + 0x48], edi
test edi, edi
jne 0x100ae730
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x14], ecx
cmp ecx, dword [eax + 0x14]
jl 0x100ae430
push ecx
push 0x101ba4a0
mov edx, 7
mov ecx, esi
call fcn.100724e0
mov edx, eax
add esp, 8
test edx, edx
je 0x100af732
mov eax, 1
mov byte [edx + 0x29], 0xff
sub eax, dword [esp + 0x64]
mov ecx, str.unknown_error
mov dword [edx + 8], eax
mov eax, dword [str.database_disk_image_is_malformed]
test eax, eax
mov dword [edx + 0x38], 0x101ce99c
cmovne ecx, eax
mov byte [edx + 0x65], 0xff
mov dword [edx + 0x74], ecx
mov eax, dword [esi]
mov ecx, 0x101fccb8
mov edx, dword [esi + 0x6c]
cmp byte [eax + 0x51], 0
jne 0x100af745
mov ecx, dword [esi + 0x68]
lea eax, [edx - 2]
mov dword [ecx + 0xc], eax
jmp 0x100aff5d
test ecx, ecx
jne 0x100af780
mov ebx, dword [esp + 0x10]
mov ecx, ebx
call fcn.100b1140
test eax, eax
jne 0x100aff5d
mov eax, dword [ebx]
mov ecx, esi
movzx edx, byte [eax + 0x4e]
mov edx, dword [edx*8 + 0x101b56b0]
call fcn.100ac440
jmp 0x100aff5d
mov edx, dword [esp + 0xc]
test byte [edx + 0x18], 0x40
jne 0x100aff5d
mov eax, dword [str.UTF8]
mov esi, 0x101b56b0
test eax, eax
je 0x100af7ea
nop dword [eax]
mov edx, eax
call fcn.100543b0
test eax, eax
je 0x100af7bb
mov eax, dword [esi + 8]
add esi, 8
mov ecx, dword [esp + 0x30]
test eax, eax
jne 0x100af7a0
jmp 0x100af7e6
mov cl, byte [esi + 4]
mov edx, 2
movzx eax, cl
test cl, cl
mov ecx, dword [esp + 0xc]
cmovne edx, eax
mov eax, dword [ecx + 0x10]
mov eax, dword [eax + 0xc]
mov byte [eax + 0x4d], dl
call fcn.1009dfb0
cmp dword [esi], 0
jne 0x100aff5d
mov ecx, dword [esp + 0x30]
push ecx
push str.unsupported_encoding:__s
push dword [esp + 0x18]
call fcn.10054280
add esp, 0xc
jmp 0x100aff5d
mov edi, dword [ebx + 8]
mov ecx, esi
mov edx, dword [esp + 0x1c]
call fcn.10072f50
cmp dword [esp + 0x30], 0
je 0x100af851
test byte [ebx + 5], 8
jne 0x100af851
push ecx
push 0x101b71d8
mov edx, 2
mov ecx, esi
call fcn.100724e0
mov ecx, dword [esp + 0x38]
mov esi, eax
mov eax, dword [esp + 0x24]
add esp, 8
mov dword [esi + 4], eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], edi
call fcn.10054eb0
mov dword [esi + 0x20], eax
jmp 0x100aff5d
push ecx
push 0x101b7ae4
mov edx, 3
mov ecx, esi
call fcn.100724e0
mov ecx, dword [esp + 0x24]
add esp, 8
mov dword [eax + 4], ecx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x20], edi
and dword [esi + 0x98], 0xffffffdf
jmp 0x100aff5d
mov eax, dword [esp + 0x10]
xor ebx, ebx
mov dword [eax + 0x2c], 1
nop dword [eax]
cmp ebx, 1
ja 0x100af89e
mov edi, dword [ebx*4 + 0x101b7adc]
jmp 0x100af8a0
xor edi, edi
inc ebx
test edi, edi
je 0x100af873
mov edx, dword [esi + 0x6c]
cmp dword [esi + 0x70], edx
jg 0x100af8c6
push 0
push 1
push 0
mov edx, 0x73
mov ecx, esi
call fcn.10071ba0
add esp, 0xc
mov edx, eax
jmp 0x100af8fd
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x34]
mov dword [eax + ecx*4], 0x73
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x51], 0
je 0x100af912
push edi
xor edx, edx
call fcn.100727b0
add esp, 4
jmp 0x100af930
test edx, edx
jns 0x100af91a
mov edx, dword [esi + 0x6c]
dec edx
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
push 0
push edi
lea edx, [eax + ecx*4]
mov ecx, esi
call fcn.10072970
add esp, 8
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x100af952
push 0
push 1
push 1
mov edx, 0x50
mov ecx, esi
call fcn.10071ba0
add esp, 0xc
jmp 0x100af890
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x50
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 0x100af890
mov eax, dword [esp + 0x24]
mov ebx, 0xa
cmp dword [eax], 0
cmovne ebx, dword [esp + 0x1c]
xor edi, edi
test ecx, ecx
je 0x100af9e3
mov edx, str.full
call fcn.100543b0
test eax, eax
jne 0x100af9b4
lea edi, [eax + 1]
jmp 0x100af9e3
mov ecx, dword [esp + 0x30]
mov edx, str.restart
call fcn.100543b0
test eax, eax
jne 0x100af9cb
lea edi, [eax + 2]
jmp 0x100af9e3
mov ecx, dword [esp + 0x30]
mov edx, str.truncate
call fcn.100543b0
test eax, eax
mov ecx, 3
cmove edi, ecx
mov eax, dword [esp + 0x10]
mov edx, 6
push 1
push edi
push ebx
mov ecx, esi
mov dword [eax + 0x2c], 3
call fcn.10071be0
add esp, 0xc
mov edx, 0x50
mov ecx, esi
push 3
push 1
call fcn.10071d10
jmp 0x100aff5a
test ecx, ecx
je 0x100afa2c
call fcn.10054eb0
push eax
push dword [esp + 0x10]
call fcn.100dd6c0
add esp, 8
mov eax, dword [esp + 0xc]
cmp dword [eax + 0xf8], 0x100dd5a0
jne 0x100ad158
mov eax, dword [eax + 0xfc]
jmp 0x100aff50
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 0xc]
test eax, eax
je 0x100afa6e
mov esi, dword [0x101f6c88]
mov ecx, esi
push eax
call dword [0x1019a4f8]
call esi
mov edx, dword [esp + 0x10]
add esp, 4
cmp byte [edx + 0x59], 0
jne 0x100afa7f
mov ecx, edx
call fcn.10063bf0
mov edx, dword [esp + 0xc]
xor edi, edi
cmp dword [edx + 0x14], edi
jle 0x100afac9
xor ebx, ebx
nop dword [eax + eax]
mov eax, dword [edx + 0x10]
mov eax, dword [eax + ebx + 4]
test eax, eax
je 0x100afac0
mov eax, dword [eax + 4]
mov esi, dword [0x101f6ccc]
mov ecx, esi
mov eax, dword [eax]
mov eax, dword [eax + 0xd4]
push dword [eax + 0x2c]
call dword [0x1019a4f8]
call esi
mov edx, dword [esp + 0x10]
add esp, 4
inc edi
add ebx, 0x10
cmp edi, dword [edx + 0x14]
jl 0x100afa90
cmp byte [edx + 0x59], 0
jne 0x100afada
mov ecx, edx
call fcn.10063c40
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 0xc]
test eax, eax
je 0x100aff5d
mov esi, dword [0x101f6c90]
mov ecx, esi
push eax
call dword [0x1019a4f8]
call esi
add esp, 4
jmp 0x100aff5d
test ecx, ecx
je 0x100afb18
call fcn.10054eb0
mov ecx, eax
mov dword [esp + 0x18], ecx
test cl, 2
je 0x100aff5d
jmp 0x100afb20
mov dword [esp + 0x18], 0xfffe
cmp dword [esp + 0x3c], 0
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x28]
mov dword [esp + 0x20], edx
lea eax, [edx + 1]
mov dword [edi + 0x28], eax
je 0x100afb42
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jmp 0x100afb5c
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x14]
dec eax
mov dword [esp + 0x14], eax
cmp dword [esp + 0x1c], eax
jg 0x100afe02
mov eax, dword [esp + 0x1c]
mov ecx, eax
mov ebx, 1
mov eax, dword [esp + 0x28]
rol ebx, cl
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x48], ebx
cmp dword [esp + 0x1c], 1
je 0x100afde7
mov eax, dword [edi + 0x74]
mov ecx, edi
test eax, eax
cmovne ecx, eax
mov eax, dword [ecx + 0x54]
test ebx, eax
jne 0x100afb97
mov edi, dword [esp + 0x1c]
bts eax, edi
mov dword [ecx + 0x54], eax
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx + 0xc]
mov edi, dword [eax + 0x10]
mov dword [esp + 0x64], edi
test edi, edi
je 0x100afddb
nop word [eax + eax]
mov edi, dword [edi + 8]
test dword [edi + 0x24], 0x100
je 0x100afdc5
mov ax, word [edi + 0x2e]
add ax, 0x2e
movzx ebx, ax
mov eax, dword [edi + 8]
test eax, eax
je 0x100afbf3
test byte [eax + 0x38], 0x80
je 0x100afc68
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x100afbe2
test bx, bx
je 0x100afc68
mov ecx, dword [esp + 0x10]
push 0x60
push edi
push dword [esp + 0x24]
call fcn.100a62a0
mov ecx, dword [esi + 0x6c]
add esp, 0xc
movsx edx, bx
mov ebx, dword [esp + 0x18]
and ebx, 1
add ebx, 2
add ebx, ecx
cmp dword [esi + 0x70], ecx
jg 0x100afc39
push edx
push ebx
push dword [esp + 0x28]
mov edx, 0x22
mov ecx, esi
call fcn.10071ba0
add esp, 0xc
jmp 0x100afc68
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x20]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x34]
mov dword [eax + ecx*4], 0x22
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 + 0xc]
push dword [edi]
mov edx, dword [esp + 0x2c]
mov eax, dword [ecx + 0x10]
push dword [eax + edx]
push str.ANALYZE___w_.__w_
push ecx
call fcn.10053430
add esp, 0x10
mov edi, eax
test byte [esp + 0x18], 1
je 0x100afd21
mov edx, dword [esp + 0x10]
mov cl, byte [edx + 0x13]
test cl, cl
jne 0x100afca6
inc dword [edx + 0x2c]
mov ebx, dword [edx + 0x2c]
jmp 0x100afcb5
dec cl
movzx eax, cl
mov byte [edx + 0x13], cl
mov ebx, dword [edx + eax*4 + 0x98]
push 0xfffffffffffffff9
push edi
push 0
push ebx
push 0
mov edx, 0x73
mov ecx, esi
call fcn.10071fc0
mov ecx, dword [esi + 0x6c]
add esp, 0x14
cmp dword [esi + 0x70], ecx
jg 0x100afced
push 0
push 1
push ebx
mov edx, 0x50
mov ecx, esi
call fcn.10071ba0
add esp, 0xc
jmp 0x100afdc1
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x50
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x100afdc1
mov edx, dword [esi + 0x6c]
cmp dword [esi + 0x70], edx
jg 0x100afd42
push 0
push 0
push 0
mov edx, 0x8c
mov ecx, esi
call fcn.10071ba0
add esp, 0xc
mov edx, eax
jmp 0x100afd75
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x8c
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 + 0x51], 0
je 0x100afd8d
push edi
mov edx, 0xfffffff9
call fcn.100727b0
add esp, 4
jmp 0x100afdc1
test edx, edx
jns 0x100afd95
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 0x100afdb6
push 0xfffffffffffffff9
push edi
mov edx, eax
mov ecx, esi
call fcn.10072970
add esp, 8
jmp 0x100afdc1
test edi, edi
je 0x100afdc1
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0xf9
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0x64]
mov edi, dword [edi]
mov dword [esp + 0x64], edi
test edi, edi
jne 0x100afbc0
mov ebx, dword [esp + 0x48]
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
inc dword [esp + 0x1c]
add eax, 0x10
rol ebx, 1
mov dword [esp + 0x28], eax
mov dword [esp + 0x48], ebx
cmp dword [esp + 0x1c], ecx
jle 0x100afb71
mov edx, 0x9e
mov ecx, esi
call fcn.10071c50
jmp 0x100aff5d
test ecx, ecx
je 0x100afe34
lea edx, [esp + 0x68]
call fcn.10054c00
test eax, eax
jne 0x100afe34
push dword [esp + 0x6c]
push dword [esp + 0x6c]
call fcn.100506e0
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.100506e0
push edx
push eax
mov ecx, esi
call fcn.100ac310
add esp, 0x10
jmp 0x100aff5d
test ecx, ecx
je 0x100afe99
lea edx, [esp + 0x68]
call fcn.10054c00
test eax, eax
jne 0x100afe99
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.10050840
mov edi, dword [esp + 0x74]
add esp, 8
mov ebx, eax
test edi, edi
jl 0x100afe99
mov ecx, dword [esp + 0x68]
jg 0x100afe7f
test ecx, ecx
je 0x100afe99
mov eax, ebx
or eax, edx
je 0x100afe8f
cmp edx, edi
jl 0x100afe99
jg 0x100afe8f
cmp ebx, ecx
jbe 0x100afe99
push edi
push ecx
call fcn.10050840
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.10050840
push edx
push eax
mov ecx, esi
call fcn.100ac310
add esp, 0x10
jmp 0x100aff5d
test ecx, ecx
je 0x100afee8
lea edx, [esp + 0x68]
call fcn.10054c00
test eax, eax
jne 0x100afee8
cmp dword [esp + 0x6c], eax
jl 0x100afee8
mov eax, dword [esp + 0x68]
jg 0x100afed4
test eax, eax
jb 0x100afee8
and eax, 0x7fffffff
push eax
push 0xb
push dword [esp + 0x14]
call fcn.100ddf80
add esp, 0xc
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x98]
jmp 0x100aff50
test ecx, ecx
je 0x100aff24
lea edx, [esp + 0x68]
call fcn.10054c00
test eax, eax
jne 0x100aff24
cmp dword [esp + 0x6c], eax
jl 0x100aff24
mov eax, dword [esp + 0x68]
jg 0x100aff15
test eax, eax
jb 0x100aff24
mov ecx, dword [esp + 0xc]
and eax, 0x7fffffff
mov dword [ecx + 0x1d4], eax
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x1d4]
jmp 0x100aff50
test ecx, ecx
je 0x100aff46
call fcn.10054eb0
push eax
push dword [esp + 0x10]
call fcn.100dcd60
add esp, 8
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x1d8]
cdq
push edx
push eax
mov ecx, esi
call fcn.100ac310
add esp, 8
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0xc]
call fcn.10050db0
mov eax, dword [esp + 0x30]
test eax, eax
je 0x100aff7d
mov ecx, dword [esp + 0xc]
mov edx, eax
call fcn.10050db0
mov ecx, dword [esp + 0x8c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1015c7a5
mov esp, ebp
pop ebp
ret