Function at 0x100ad320
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 0x100ad388
cmp dword [ecx + 0x74], esi
jne 0x100ad371
test byte [eax + 0x4c], 8
jne 0x100ad371
mov byte [ecx + 0x17], 1
call fcn.10072400
mov ecx, dword [esp + 0x10]
mov esi, eax
mov dword [esp + 0x34], esi
test esi, esi
je 0x100b09cd
or dword [esi + 0x98], 0x20
lea eax, [esp + 0x64]
push eax
push ebx
mov edx, edi
mov dword [ecx + 0x2c], 2
call fcn.10097fd0
mov edx, eax
add esp, 8
mov dword [esp + 0x1c], edx
test edx, edx
js 0x100b09cd
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 0x100ad3de
mov ecx, dword [esp + 0x10]
call fcn.1009d9f0
test eax, eax
jne 0x100b09cd
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0xc]
call fcn.10097f10
mov dword [esp + 0x50], eax
test eax, eax
je 0x100b09cd
cmp dword [ebp + 0x10], 0
je 0x100ad414
push dword [esp + 0x18]
push 0x101ce644
push dword [esp + 0x14]
call fcn.10053e80
add esp, 0xc
jmp 0x100ad421
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
call fcn.10097f10
cmp dword [ebx + 4], 0
mov dword [esp + 0x30], eax
jbe 0x100ad42f
mov ebx, dword [edi]
jmp 0x100ad431
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.10096770
add esp, 0xc
test eax, eax
jne 0x100b09ad
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.100dfe70
mov ebx, eax
add esp, 0x10
test ebx, ebx
jne 0x100ad4dd
lea edx, [eax + 1]
mov ecx, esi
call fcn.10074730
push 0xffffffffffffffff
push dword [esp + 0x80]
xor edx, edx
mov ecx, esi
push ebx
call fcn.100747c0
mov edx, dword [esp + 0x88]
add esp, 0xc
mov ecx, esi
call fcn.100ace90
push dword [esp + 0x7c]
call fcn.100516f0
add esp, 4
jmp 0x100b09ad
cmp ebx, 0xc
je 0x100ad517
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x100ad508
push eax
push 0x101cb234
push dword [esp + 0x18]
call fcn.10054cd0
add esp, 0xc
push dword [esp + 0x7c]
call fcn.100516f0
add esp, 4
mov eax, dword [esp + 0x10]
inc dword [eax + 0x24]
mov dword [eax + 0xc], ebx
jmp 0x100b09ad
mov ecx, dword [esp + 0x50]
call fcn.100ad0c0
mov ebx, eax
test ebx, ebx
je 0x100b09ad
test byte [ebx + 5], 1
je 0x100ad541
mov ecx, dword [esp + 0x10]
call fcn.100b1b90
test eax, eax
jne 0x100b09ad
mov al, byte [ebx + 5]
test al, 2
jne 0x100ad55d
test al, 4
je 0x100ad554
mov ecx, dword [esp + 0x30]
test ecx, ecx
jne 0x100ad561
mov edx, ebx
mov ecx, esi
call fcn.100acbc0
mov ecx, dword [esp + 0x30]
movzx eax, byte [ebx + 4]
dec eax
cmp eax, 0x29
ja case.0x100ad56f.5
jmp dword [eax*4 + 0x100b09e4]
mov ebx, dword [esp + 0x1c]
mov ecx, esi
mov edx, ebx
call fcn.100739a0
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x100ad5b7
mov eax, dword [esp + 0x10]
mov edx, 9
push ecx
push 0x101b6830
mov ecx, esi
add dword [eax + 0x2c], 2
call fcn.10072f30
mov dword [eax + 4], ebx
mov dword [eax + 0x18], ebx
mov dword [eax + 0x7c], 0xfffff830
jmp 0x100b09aa
mov ecx, eax
call fcn.10055900
mov ecx, eax
call fcn.10055fb0
mov ecx, dword [esp + 0x10]
xor edx, edx
push ebx
mov edi, eax
call fcn.1009db50
add esp, 4
mov edx, 0x5e
mov ecx, esi
push edi
push 3
push ebx
call fcn.10072630
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.10066c40
jmp 0x100b09ad
mov edi, dword [edi + 4]
test ecx, ecx
jne 0x100ad620
test edi, edi
je 0x100adba8
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x24]
jmp 0x100b09a0
call fcn.10055900
mov ecx, dword [esp + 0xc]
mov edx, eax
push 0
push 0
mov dword [ecx + 0x5c], eax
mov ecx, edi
call fcn.10066e40
add esp, 8
cmp eax, 7
jne 0x100b09ad
mov ecx, dword [esp + 0xc]
call fcn.10051f00
jmp 0x100b09ad
mov eax, dword [edi + 4]
or edx, 0xffffffff
mov dword [esp + 0x64], eax
mov dword [esp + 0x14], edx
test ecx, ecx
je 0x100ad696
mov edx, str.fast
call fcn.10054e00
test eax, eax
jne 0x100ad678
lea edx, [eax + 2]
jmp 0x100ad692
mov ecx, dword [esp + 0x30]
mov edx, 1
push 0
call fcn.100acac0
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 0x100ad6d0
test edx, edx
js 0x100ad6d0
mov eax, dword [esp + 0xc]
xor ebx, ebx
cmp dword [eax + 0x14], ebx
jle 0x100ad6d0
xor edi, edi
mov esi, eax
mov ecx, dword [esi + 0x10]
mov ecx, dword [edi + ecx + 4]
call fcn.10066fb0
mov edx, dword [esp + 0x14]
lea edi, [edi + 0x10]
inc ebx
cmp ebx, dword [esi + 0x14]
jl 0x100ad6b3
mov esi, dword [esp + 0x34]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x64]
call fcn.10066fb0
jmp 0x100b09a0
mov ebx, dword [esp + 0x10]
mov ecx, ebx
mov edx, dword [esp + 0x1c]
call fcn.1009da90
mov eax, dword [esp + 0x50]
inc dword [ebx + 0x2c]
mov edi, dword [ebx + 0x2c]
movzx eax, byte [eax]
cmp byte [eax + 0x101b71d0], 0x70
jne 0x100ad72f
push edi
push dword [esp + 0x20]
mov edx, 0xa8
mov ecx, esi
call fcn.10072760
add esp, 8
mov edx, 0x50
mov ecx, esi
push 1
push edi
call fcn.10072760
jmp 0x100b09aa
mov ecx, dword [esp + 0x30]
call fcn.10055900
mov ecx, eax
call fcn.10055fb0
push eax
push edi
push dword [esp + 0x24]
mov edx, 0xa9
mov ecx, esi
call fcn.10072630
add esp, 0xc
mov edx, 0x50
mov ecx, esi
push 1
push edi
call fcn.10072760
jmp 0x100b09aa
mov ebx, str.normal
mov eax, str.exclusive
test ecx, ecx
je 0x100ad799
mov edx, eax
call fcn.10054e00
test eax, eax
jne 0x100ad786
lea edx, [eax + 1]
jmp 0x100ad79c
mov ecx, dword [esp + 0x30]
mov edx, ebx
call fcn.10054e00
test eax, eax
jne 0x100ad799
xor edx, edx
jmp 0x100ad79c
or edx, 0xffffffff
mov eax, dword [esp + 0x24]
cmp dword [eax + 4], 0
jne 0x100ad80a
mov eax, dword [esp + 0xc]
cmp edx, 0xffffffff
jne 0x100ad7b5
movzx eax, byte [eax + 0x53]
jmp 0x100ad817
mov ecx, 2
cmp dword [eax + 0x14], ecx
jle 0x100ad803
lea ebx, [ecx + 0x1e]
mov edi, eax
test edx, edx
js 0x100ad7ed
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 0x100ad7ed
mov esi, dword [eax + 0xd8]
test esi, esi
je 0x100ad7ea
cmp byte [esi + 0x2b], 2
je 0x100ad7ed
mov byte [eax + 4], dl
inc ecx
add ebx, 0x10
cmp ecx, dword [edi + 0x14]
jl 0x100ad7c4
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.10060f70
cmp eax, 1
mov ecx, esi
mov eax, str.exclusive
cmove ebx, eax
mov edx, ebx
call fcn.100ace90
jmp 0x100b09ad
test ecx, ecx
je 0x100ad87b
call fcn.10054ad0
mov edi, eax
xor ebx, ebx
nop dword [eax]
cmp ebx, 6
je 0x100ad87b
mov ecx, dword [ebx*4 + 0x101b6194]
test ecx, ecx
je 0x100ad87b
push edi
push ecx
push dword [esp + 0x38]
call fcn.10054e40
add esp, 0xc
test eax, eax
je 0x100ad865
inc ebx
jmp 0x100ad840
cmp ebx, 2
jne 0x100ad899
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x20]
and eax, 0x10000000
or eax, 0
je 0x100ad89e
or ebx, 0xffffffff
mov ecx, dword [esp + 0x24]
cmp dword [ecx + 4], 0
jne 0x100ad8a2
mov dword [esp + 0x1c], 0
mov dword [ecx + 4], 1
jmp 0x100ad8a2
cmp ebx, 0xffffffff
je 0x100ad87e
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0xc]
mov edi, dword [eax + 0x14]
sub edi, 1
js 0x100ad978
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 0x100ad960
cmp edi, dword [esp + 0x1c]
je 0x100ad8de
cmp dword [ecx + 4], 0
jne 0x100ad960
mov eax, dword [esi + 0x9c]
bts eax, edi
mov dword [esi + 0x9c], eax
cmp edi, 1
je 0x100ad910
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + edx + 4]
cmp byte [eax + 9], 0
je 0x100ad910
mov eax, dword [esi + 0xa0]
bts eax, edi
mov dword [esi + 0xa0], eax
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x100ad931
push ebx
push 1
push edi
mov edx, 7
mov ecx, esi
call fcn.100725f0
mov edx, dword [esp + 0x24]
add esp, 0xc
jmp 0x100ad960
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 0x100ad8c0
push 1
push 1
mov edx, 0x50
mov ecx, esi
call fcn.10072760
jmp 0x100b09aa
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 0x100ad9ed
lea edx, [esp + 0x68]
call fcn.10055650
mov ecx, dword [esp + 0x6c]
cmp ecx, 0xffffffff
jg 0x100ad9cd
jl 0x100ad9c6
mov eax, dword [esp + 0x68]
cmp eax, 0xffffffff
jae 0x100ad9d1
or eax, 0xffffffff
or ecx, eax
jmp 0x100ad9d1
mov eax, dword [esp + 0x68]
mov edx, dword [edi + 0xd8]
mov dword [edi + 0xa0], eax
mov dword [edi + 0xa4], ecx
test edx, edx
je 0x100ad9ed
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ecx
push dword [edi + 0xa4]
push dword [edi + 0xa0]
jmp 0x100b09a3
mov edi, dword [edi + 4]
test ecx, ecx
jne 0x100ada11
mov ecx, edi
call fcn.100670a0
jmp 0x100b09a0
mov edx, str.none
call fcn.10054e00
test eax, eax
jne 0x100ada23
xor ebx, ebx
jmp 0x100ada73
mov ebx, dword [esp + 0x30]
mov edx, str.full
mov ecx, ebx
call fcn.10054e00
test eax, eax
jne 0x100ada3c
lea ebx, [eax + 1]
jmp 0x100ada73
mov edx, str.incremental
mov ecx, ebx
call fcn.10054e00
test eax, eax
jne 0x100ada51
lea ebx, [eax + 2]
jmp 0x100ada73
lea edx, [esp + 0x18]
mov dword [esp + 0x18], 0
mov ecx, ebx
call fcn.10055760
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.10067020
test eax, eax
jne 0x100b09ad
cmp ebx, 1
je 0x100ada99
cmp ebx, 2
jne 0x100b09ad
mov edi, dword [esi + 0x6c]
mov edx, 5
push ecx
push 0x101b9c60
mov ecx, esi
call fcn.10072f30
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.100739a0
jmp 0x100b09ad
test ecx, ecx
je 0x100adaef
lea edx, [esp + 0x64]
call fcn.10055760
test eax, eax
je 0x100adaef
mov edi, dword [esp + 0x64]
test edi, edi
jg 0x100adaf4
mov edi, SysReAllocString
mov ebx, dword [esp + 0x1c]
xor edx, edx
mov ecx, dword [esp + 0x10]
push ebx
call fcn.1009db50
add esp, 4
mov edx, 0x45
mov ecx, esi
push 1
push edi
call fcn.10072760
push ebx
mov edx, 0x3c
mov ecx, esi
call fcn.10072700
add esp, 0xc
mov edx, 0x50
mov ecx, esi
mov edi, eax
push 1
call fcn.10072700
add esp, 4
mov edx, 0x52
mov ecx, esi
push 0xffffffffffffffff
push 1
call fcn.10072760
push edi
push 1
mov edx, 0x30
mov ecx, esi
call fcn.10072760
add esp, 0x10
mov edx, edi
mov ecx, esi
call fcn.10073090
jmp 0x100b09ad
test ecx, ecx
jne 0x100adb78
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x50]
jmp 0x100b09a0
call fcn.10055900
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.10066c40
jmp 0x100b09ad
test ecx, ecx
jne 0x100adbbe
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x20]
and eax, 0x20
or eax, ecx
jne 0x100adbaf
xor eax, eax
jmp 0x100b09a0
mov ecx, dword [edi + 4]
xor edx, edx
call fcn.10066cd0
jmp 0x100b09a0
lea edx, [esp + 0x18]
mov dword [esp + 0x18], 1
call fcn.10055760
mov esi, dword [esp + 0x18]
test eax, eax
je 0x100adbe1
mov ecx, dword [edi + 4]
mov edx, esi
call fcn.10066cd0
mov ecx, dword [esp + 0x30]
test esi, esi
mov edx, 1
setne al
movzx eax, al
push eax
call fcn.100acac0
mov edx, dword [esp + 0x10]
add esp, 4
mov ecx, dword [edx + 0x20]
mov edx, dword [edx + 0x24]
test al, al
je 0x100adc0e
or ecx, 0x20
jmp 0x100adc11
and ecx, 0xffffffdf
mov eax, dword [esp + 0xc]
mov dword [eax + 0x20], ecx
mov ecx, eax
mov dword [eax + 0x24], edx
call fcn.100acf90
jmp 0x100b09ad
test ecx, ecx
je 0x100add19
lea edx, [esp + 0x68]
call fcn.10055650
cmp dword [esp + 0x6c], 0
jg 0x100adc5a
jl 0x100adc48
cmp dword [esp + 0x68], 0
jae 0x100adc5a
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 0x100adc76
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 0x100add19
mov esi, ebx
shl esi, 4
mov eax, dword [edx + 0x10]
mov edi, dword [esi + eax + 4]
test edi, edi
je 0x100add09
cmp ebx, dword [esp + 0x1c]
je 0x100adca2
cmp dword [ecx + 4], 0
jne 0x100add09
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 0x100adcd7
inc dword [edi + 0xc]
cmp byte [edi + 0xa], 0
jne 0x100adcd7
mov ecx, edi
call fcn.10064570
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.1005e3a0
cmp byte [edi + 9], 0
je 0x100add01
add dword [edi + 0xc], 0xffffffff
jne 0x100add01
mov ecx, edi
call fcn.10064520
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
sub esi, 0x10
sub ebx, 1
jns 0x100adc87
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.100dfe70
add esp, 0x10
test eax, eax
jne 0x100add51
push dword [esp + 0x6c]
push dword [esp + 0x6c]
jmp 0x100b09a3
cmp eax, 0xc
je 0x100b09ad
mov ecx, dword [esp + 0x10]
inc dword [ecx + 0x24]
mov dword [ecx + 0xc], eax
jmp 0x100b09ad
test ecx, ecx
jne 0x100add7a
mov eax, dword [esp + 0xc]
movzx eax, byte [eax + 0x50]
jmp 0x100b09a0
mov cl, byte [ecx]
mov al, cl
sub al, 0x30
cmp al, 2
ja 0x100add8c
movsx ebx, cl
sub ebx, 0x30
jmp 0x100addbd
mov ebx, dword [esp + 0x30]
mov edx, str.file
mov ecx, ebx
call fcn.10054e00
test eax, eax
jne 0x100adda5
lea ebx, [eax + 1]
jmp 0x100addbd
mov edx, str.memory
mov ecx, ebx
call fcn.10054e00
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 0x100b09ad
call fcn.100acb70
test eax, eax
jne 0x100b09ad
mov byte [esi + 0x50], bl
jmp 0x100b09ad
test ecx, ecx
jne 0x100addfa
mov edx, dword [0x101fc268]
mov ecx, esi
call fcn.100ace90
jmp 0x100b09ad
cmp byte [ecx], 0
je 0x100ade3b
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 0x100ade28
cmp dword [esp + 0x64], eax
jne 0x100ade3b
push str.not_a_writable_directory
push dword [esp + 0x14]
call fcn.10054cd0
jmp 0x100b09aa
mov eax, dword [esp + 0xc]
cmp byte [eax + 0x50], 1
ja 0x100ade4e
mov ecx, dword [esp + 0x10]
call fcn.100acb70
push dword [0x101fc268]
call fcn.100516f0
mov eax, dword [esp + 0x34]
add esp, 4
cmp byte [eax], 0
je 0x100ade7a
push eax
push 0x101cb234
call fcn.10053f70
mov dword [0x101fc268], eax
jmp 0x100b09aa
mov dword [0x101fc268], 0
jmp 0x100b09ad
test ecx, ecx
jne 0x100ade9f
mov edx, dword [0x101fc264]
mov ecx, esi
call fcn.100ace90
jmp 0x100b09ad
cmp byte [ecx], 0
je 0x100adee0
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 0x100adecd
cmp dword [esp + 0x64], eax
jne 0x100adee0
push str.not_a_writable_directory
push dword [esp + 0x14]
call fcn.10054cd0
jmp 0x100b09aa
push dword [0x101fc264]
call fcn.100516f0
mov eax, dword [esp + 0x34]
add esp, 4
cmp byte [eax], 0
je 0x100adf0c
push eax
push 0x101cb234
call fcn.10053f70
mov dword [0x101fc264], eax
jmp 0x100b09aa
mov dword [0x101fc264], 0
jmp 0x100b09ad
test ecx, ecx
jne 0x100adf2e
movzx eax, byte [edi + 8]
cdq
sub eax, 1
sbb edx, ecx
jmp 0x100b09a1
mov edx, dword [esp + 0xc]
cmp byte [edx + 0x4f], 0
jne 0x100adf4b
push str.Safety_level_may_not_be_changed_inside_a_transaction
push dword [esp + 0x14]
call fcn.10054cd0
jmp 0x100b09aa
cmp dword [esp + 0x1c], 1
je 0x100b09ad
push 1
xor edx, edx
call fcn.100acac0
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.100acf90
jmp 0x100b09ad
test ecx, ecx
jne 0x100adfc7
mov edx, ebx
mov ecx, esi
call fcn.100acbc0
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 0x100adfb0
xor ecx, ecx
mov eax, 1
push ecx
jmp 0x100b09a2
xorps xmm0, xmm0
movlpd qword [esp + 0x68], xmm0
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x68]
push ecx
jmp 0x100b09a2
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 0x100adfe5
and ebx, 0xffffbfff
push 0
mov edx, 1
call fcn.100acac0
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 0x100ae016
mov eax, dword [esp + 0xc]
or edx, ebx
or ecx, edi
mov dword [eax + 0x20], edx
mov dword [eax + 0x24], ecx
jmp 0x100ae046
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 0x100ae046
test edi, edi
jne 0x100ae046
mov dword [edx + 0x1f0], edi
mov dword [edx + 0x1f4], edi
mov edx, 0x9e
mov ecx, esi
call fcn.100726a0
mov ecx, dword [esp + 0xc]
call fcn.100acf90
jmp 0x100b09ad
test ecx, ecx
je 0x100b09ad
push dword [esp + 0x3c]
mov edx, 2
push ecx
mov ecx, dword [esp + 0x18]
call fcn.100970e0
mov edi, eax
add esp, 8
mov dword [esp + 0x54], edi
test edi, edi
je 0x100b09ad
mov edx, dword [edi + 0x48]
mov ecx, dword [esp + 0xc]
call fcn.100b1d60
mov ecx, edi
mov dword [esp + 0x2c], 0
mov edx, eax
call fcn.100981d0
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x10]
mov ecx, eax
mov dword [eax + 0x2c], 7
call fcn.1009da90
mov ecx, dword [esp + 0x10]
mov edx, edi
call fcn.1009a570
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 0x100b09ad
mov dword [esp + 0x28], eax
nop word [eax + eax]
movzx edx, word [edx + 0x10]
xor edi, edi
test dl, 0x62
je 0x100ae12f
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
jne 0x100ae113
mov edi, dword [esp + 0x28]
inc dword [esp + 0x2c]
movzx eax, di
jmp 0x100ae218
mov eax, dword [esp + 0x28]
test dl, 0x20
je 0x100ae123
mov edi, 2
jmp 0x100ae12f
movzx edi, dl
and edi, 0x40
or edi, 0x20
shr edi, 5
test dl, 1
jne 0x100ae138
xor edx, edx
jmp 0x100ae168
mov ecx, dword [esp + 0x64]
mov edx, 1
test ecx, ecx
je 0x100ae168
cwde
mov dword [esp + 0x48], eax
cmp eax, edx
jl 0x100ae168
mov ecx, dword [ecx + 4]
mov esi, eax
movsx eax, word [ecx]
cmp eax, dword [esp + 0x14]
je 0x100ae164
inc edx
add ecx, 2
cmp edx, esi
jle 0x100ae153
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + 4]
test eax, eax
je 0x100ae181
cmp edi, 2
jae 0x100ae181
mov eax, dword [eax + 8]
mov dword [esp + 0x28], eax
jmp 0x100ae189
mov dword [esp + 0x28], 0
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
mov dword [esp + 0x20], str.issisii
jne 0x100ae1a1
mov dword [esp + 0x20], str.issisi
mov eax, dword [ecx]
mov dword [esp + 0x18], eax
movzx eax, word [ecx + 0x10]
test al, 4
jne 0x100ae1b9
mov dword [esp + 0x18], 0x101b24b5
jmp 0x100ae1de
mov ecx, dword [esp + 0x18]
lea eax, [ecx + 1]
mov dword [esp + 0x48], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ae1c4
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.10072860
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 0x100ae0f0
jmp 0x100b09ad
test ecx, ecx
je 0x100b09ad
push dword [esp + 0x3c]
mov edx, ecx
mov ecx, dword [esp + 0x10]
call fcn.10097400
mov edi, eax
add esp, 4
mov dword [esp + 0x14], edi
test edi, edi
jne 0x100ae2a1
push dword [esp + 0x3c]
mov ecx, dword [esp + 0x14]
lea edx, [eax + 2]
push dword [esp + 0x34]
call fcn.100970e0
add esp, 8
test eax, eax
je 0x100b09ad
test byte [eax + 0x24], 0x80
je 0x100b09ad
mov ecx, eax
call fcn.100981d0
mov edi, eax
mov dword [esp + 0x14], eax
test edi, edi
je 0x100b09ad
mov edx, dword [edi + 0x18]
mov ecx, dword [esp + 0xc]
call fcn.100b1d60
mov ecx, dword [ebx + 8]
mov edx, eax
or ecx, dword [ebx + 0xc]
je 0x100ae2c2
movzx eax, word [edi + 0x34]
mov ecx, 6
jmp 0x100ae2cb
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.1009da90
xor edi, edi
cmp word [esp + 0x38], di
je 0x100b09ad
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
movzx eax, word [eax + edi*2]
movsx edx, ax
test ax, ax
jns 0x100ae30a
xor eax, eax
jmp 0x100ae317
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.10072860
mov eax, dword [ebx + 8]
add esp, 0x18
or eax, dword [ebx + 0xc]
je 0x100ae360
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.10072860
add esp, 0x18
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + 0x6c]
mov edx, dword [eax + 0x2c]
cmp dword [esi + 0x70], ecx
jg 0x100ae385
push 0
push edx
push 1
mov edx, 0x50
mov ecx, esi
call fcn.100725f0
add esp, 0xc
jmp 0x100ae3b8
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 0x100ae2f3
jmp 0x100b09ad
test ecx, ecx
je 0x100b09ad
push dword [esp + 0x3c]
mov edx, ecx
mov ecx, dword [esp + 0x10]
call fcn.10096f20
mov edi, eax
add esp, 4
test edi, edi
je 0x100b09ad
mov edx, dword [edi + 0x48]
mov ecx, dword [esp + 0xc]
call fcn.100b1d60
mov ecx, dword [esp + 0x10]
mov edx, eax
mov dword [ecx + 0x2c], 5
call fcn.1009da90
mov edi, dword [edi + 8]
xor ebx, ebx
test edi, edi
je 0x100b09ad
mov dword [esp + 0x68], 0x101ce6c4
mov dword [esp + 0x6c], 0x101ce6c8
mov dword [esp + 0x70], 0x101ce060
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.10072860
mov edi, dword [edi + 0x14]
add esp, 0x20
inc ebx
test edi, edi
jne 0x100ae434
jmp 0x100b09ad
mov eax, dword [esp + 0x10]
xor edi, edi
mov edx, dword [esp + 0xc]
mov dword [eax + 0x2c], 3
cmp dword [edx + 0x14], edi
jle 0x100b09ad
xor ebx, ebx
nop dword [eax]
mov ecx, dword [edx + 0x10]
mov eax, dword [ecx + ebx + 4]
test eax, eax
je 0x100ae4cc
mov eax, dword [eax + 4]
mov eax, dword [eax]
cmp byte [eax + 0xf], 0
je 0x100ae4ad
mov eax, 0x101b5b5c
jmp 0x100ae4b3
mov eax, dword [eax + 0xa8]
push eax
push dword [ecx + ebx]
push edi
push 0x101ce6d4
push 1
push esi
call fcn.10072860
mov edx, dword [esp + 0x24]
add esp, 0x18
inc edi
add ebx, 0x10
cmp edi, dword [edx + 0x14]
jl 0x100ae490
jmp 0x100b09ad
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 0x100b09ad
nop dword [eax]
mov eax, dword [edi + 8]
push dword [eax]
push ebx
push 0x101ce6d8
push 1
push esi
call fcn.10072860
mov edi, dword [edi]
add esp, 0x14
inc ebx
test edi, edi
jne 0x100ae500
jmp 0x100b09ad
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, 0x101fcc00
mov dword [esp + 0x18], eax
mov edi, dword [eax]
test edi, edi
je 0x100ae56a
nop dword [eax]
push ebx
push 1
mov edx, edi
mov ecx, esi
call fcn.100ad170
mov edi, dword [edi + 0x24]
add esp, 8
test edi, edi
jne 0x100ae550
mov eax, dword [esp + 0x18]
add eax, 4
mov dword [esp + 0x18], eax
cmp eax, 0x101fcc5c
jl 0x100ae543
mov edx, dword [esp + 0xc]
mov edi, dword [edx + 0x18c]
test edi, edi
je 0x100b09ad
nop word [eax + eax]
mov edx, dword [edi + 8]
mov ecx, esi
push ebx
push 0
call fcn.100ad170
mov edi, dword [edi]
add esp, 8
test edi, edi
jne 0x100ae590
jmp 0x100b09ad
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov dword [eax + 0x2c], 1
mov edi, dword [edx + 0x170]
test edi, edi
je 0x100b09ad
nop dword [eax + eax]
mov eax, dword [edi + 8]
push dword [eax + 4]
push 0x101ce638
push 1
push esi
call fcn.10072860
mov edi, dword [edi]
add esp, 0x10
test edi, edi
jne 0x100ae5d0
jmp 0x100b09ad
mov edi, 0x101b75f0
push dword [edi]
push 0x101ce638
push 1
push esi
call fcn.10072860
add edi, 0x10
add esp, 0x10
cmp edi, 0x101b7a10
jl 0x100ae5f6
jmp 0x100b09ad
test ecx, ecx
je 0x100b09ad
push dword [esp + 0x3c]
mov edx, ecx
mov ecx, dword [esp + 0x10]
call fcn.10096f20
add esp, 4
mov dword [esp + 0x64], eax
test eax, eax
je 0x100b09ad
mov edi, dword [eax + 0x10]
test edi, edi
je 0x100b09ad
mov edx, dword [eax + 0x48]
mov ecx, dword [esp + 0xc]
call fcn.100b1d60
mov ecx, dword [esp + 0x10]
mov edx, eax
mov dword [esp + 0x14], 0
mov dword [ecx + 0x2c], 8
call fcn.1009da90
xor eax, eax
xor ebx, ebx
cmp dword [edi + 0x14], ebx
jle 0x100ae735
lea edx, [edi + 0x24]
mov dword [esp + 0x18], edx
movzx eax, byte [edi + 0x19]
add eax, 0xfffffff9
cmp eax, 3
ja case.default.0x100ae68f
jmp dword [eax*4 + 0x100b0a8c]
mov ecx, str.SET_NULL
jmp 0x100ae6b7
mov ecx, str.SET_DEFAULT
jmp 0x100ae6b7
mov ecx, str.CASCADE
jmp 0x100ae6b7
mov ecx, str.RESTRICT
jmp 0x100ae6b7
mov ecx, str.NO_ACTION
movzx eax, byte [edi + 0x1a]
add eax, 0xfffffff9
cmp eax, 3
ja case.default.0x100ae6c3
jmp dword [eax*4 + 0x100b0a9c]
mov eax, str.SET_NULL
jmp 0x100ae6eb
mov eax, str.SET_DEFAULT
jmp 0x100ae6eb
mov eax, str.CASCADE
jmp 0x100ae6eb
mov eax, str.RESTRICT
jmp 0x100ae6eb
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.10072860
mov edx, dword [esp + 0x44]
inc ebx
add edx, 8
add esp, 0x2c
mov dword [esp + 0x18], edx
cmp ebx, dword [edi + 0x14]
jl 0x100ae683
mov eax, dword [esp + 0x14]
mov edi, dword [edi + 4]
inc eax
mov dword [esp + 0x14], eax
test edi, edi
jne 0x100ae671
jmp 0x100b09ad
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 0x100b09ad
nop dword [eax]
mov eax, dword [esp + 0x30]
test eax, eax
je 0x100ae7a1
push dword [esp + 0x3c]
xor edx, edx
mov ecx, edi
push eax
call fcn.100970e0
mov edx, dword [esp + 0x14]
add esp, 8
xor ecx, ecx
jmp 0x100ae7a6
mov eax, dword [ecx + 8]
mov ecx, dword [ecx]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x1c], eax
test eax, eax
je 0x100aedb8
cmp dword [eax + 0x10], 0
je 0x100aedb8
mov ecx, dword [eax + 0x48]
mov edi, 0xfff0bdc0
test ecx, ecx
je 0x100ae7e0
mov eax, dword [edx + 0x10]
xor edi, edi
add eax, 0xc
cmp dword [eax], ecx
je 0x100ae7e0
lea eax, [eax + 0x10]
inc edi
cmp dword [eax], ecx
jne 0x100ae7d8
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 0x100ae810
bts ebx, edi
mov dword [edx + 0x54], ebx
cmp edi, 1
jne 0x100ae810
mov ecx, edx
call fcn.1009d9f0
mov ebx, dword [esp + 0x1c]
mov edx, edi
mov ecx, dword [esp + 0x10]
push dword [ebx]
push 0
push dword [ebx + 0x1c]
call fcn.10096810
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 0x100ae840
mov dword [ecx + 0x2c], eax
push 0x60
push ebx
push edi
xor edx, edx
call fcn.100a6cf0
add esp, 0xc
mov edx, 0x73
mov ecx, esi
push 0
push dword [ebx]
push 0
push dword [esp + 0x30]
push 0
call fcn.10072a10
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 0x100ae9a5
mov edx, dword [ecx + 8]
push dword [esp + 0x3c]
mov ecx, dword [esp + 0x10]
call fcn.10096f20
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x100ae985
push dword [ebx]
mov ecx, dword [esp + 0x14]
mov edx, edi
push 0
push dword [ebx + 0x1c]
mov dword [esp + 0x34], 0
call fcn.10096810
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.100a4180
add esp, 0xc
test eax, eax
jne 0x100b09ad
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
test eax, eax
jne 0x100ae8fd
mov ecx, dword [esp + 0x10]
push 0x60
push ebx
push edi
call fcn.100a6cf0
add esp, 0xc
jmp 0x100ae985
mov ecx, dword [esi + 0x6c]
mov ebx, dword [eax + 0x2c]
cmp dword [esi + 0x70], ecx
jg 0x100ae91c
push edi
push ebx
push edx
mov edx, 0x60
mov ecx, esi
call fcn.100725f0
add esp, 0xc
jmp 0x100ae943
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.1009e3d0
mov edx, eax
test edx, edx
je 0x100ae985
mov ecx, dword [ebx]
cmp byte [ecx + 0x51], 0
je 0x100ae973
push edx
mov edx, 0xfffffff7
call fcn.10073200
add esp, 4
jmp 0x100ae985
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 0x100ae881
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x10]
cmp dword [edi + 0x28], eax
jge 0x100ae9b1
mov dword [edi + 0x28], eax
mov edx, dword [esi + 0x6c]
mov dword [esp + 0x4c], edx
cmp dword [esi + 0x70], edx
jg 0x100ae9d8
push 0
push 0
push 0
mov edx, 0x25
mov ecx, esi
call fcn.100725f0
add esp, 0xc
mov dword [esp + 0x4c], eax
jmp 0x100aea0b
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 0x100aed36
push dword [esp + 0x3c]
mov edx, dword [ebx + 8]
mov ecx, dword [esp + 0x10]
call fcn.10096f20
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 0x100aea66
lea ecx, [esp + 0x14]
mov edx, eax
push ecx
lea ecx, [esp + 0x2c]
push ecx
push ebx
mov ecx, edi
call fcn.100a4180
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 0x100aeb20
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 0x100aea99
mov eax, ecx
mov eax, dword [eax]
mov ecx, esi
mov edx, dword [esp + 0x1c]
push edi
push eax
push 0
call fcn.1008dd30
mov ecx, dword [esi + 0x6c]
add esp, 0xc
cmp dword [esi + 0x70], ecx
jg 0x100aeacd
push 0
push dword [esp + 0x3c]
mov edx, 0x32
mov ecx, esi
push edi
call fcn.100725f0
add esp, 0xc
jmp 0x100aeafc
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 0x100aea90
mov edi, dword [esp + 0x38]
mov edx, dword [esp + 0x28]
test edx, edx
je 0x100aeb72
push eax
push ecx
mov ecx, dword [esp + 0x14]
call fcn.100a6e30
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.10072a10
add esp, 0x14
mov edx, 0x1e
mov ecx, esi
push 0
push dword [esp + 0x30]
push edi
push dword [esp + 0x2c]
call fcn.10072c60
add esp, 0x10
jmp 0x100aebdd
cmp dword [esp + 0x64], 0
je 0x100aebd9
mov ecx, dword [esi + 0x6c]
lea edx, [ecx + 2]
cmp dword [esi + 0x70], ecx
jg 0x100aeba0
mov eax, dword [esp + 0x2c]
mov ecx, esi
inc eax
push eax
push edx
push dword [esp + 0x28]
mov edx, 0x1f
call fcn.100725f0
add esp, 0xc
jmp 0x100aebd0
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.100727d0
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 0x100aec21
cmp eax, ecx
jg 0x100aec0c
mov eax, dword [esp + 0x24]
mov edx, 0x7f
push 0
inc eax
mov ecx, esi
push eax
push 0
call fcn.100725f0
add esp, 0xc
jmp 0x100aec78
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 0x100aec53
cmp eax, ecx
jg 0x100aec40
mov eax, dword [esp + 0x24]
mov edx, 0x48
push 0
inc eax
mov ecx, esi
push eax
push 0
call fcn.100725f0
add esp, 0xc
jmp 0x100aec78
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 0x101ce6f0
add eax, 2
push eax
push esi
call fcn.10072860
mov ecx, dword [esi + 0x6c]
add esp, 0x14
cmp dword [esi + 0x70], ecx
jg 0x100aecb8
push 0
push 4
push dword [esp + 0x2c]
mov edx, 0x50
mov ecx, esi
call fcn.100725f0
add esp, 0xc
jmp 0x100aeceb
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 0x100aed05
push edi
mov edx, esi
call fcn.10072d60
add esp, 4
jmp 0x100aed0e
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 0x100aed1f
mov ecx, dword [esp + 0xc]
call fcn.10051800
mov ebx, dword [ebx + 4]
inc dword [esp + 0x20]
mov edi, dword [esp + 0x10]
mov dword [esp + 0x34], ebx
test ebx, ebx
jne 0x100aea22
mov ebx, dword [esp + 0x4c]
mov ecx, dword [esi + 0x6c]
lea edx, [ebx + 1]
cmp dword [esi + 0x70], ecx
jg 0x100aed5b
push 0
push edx
push 0
mov edx, 5
mov ecx, esi
call fcn.100725f0
add esp, 0xc
jmp 0x100aed8e
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 0x100aeda0
mov eax, 0x101fcbd8
jmp 0x100aedb1
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 0x100b09ad
mov edx, dword [esp + 0xc]
jmp 0x100ae780
test ecx, ecx
je 0x100b09ad
push 0
mov edx, 1
call fcn.100acac0
mov ecx, dword [esp + 0x10]
xor edx, edx
add esp, 4
test al, al
setne dl
call fcn.100a3f50
jmp 0x100b09ad
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 + 0x101b71d0]
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 0x100aee52
lea edx, [esp + 0x44]
call fcn.10055760
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.10072760
mov eax, dword [esp + 0x14]
xor ecx, ecx
add esp, 8
mov dword [esp + 0x14], ecx
cmp dword [eax + 0x14], ecx
jle 0x100b013a
nop dword [eax + eax]
mov dword [esp + 0x2c], 0
test edi, edi
js 0x100aee94
cmp ecx, edi
jne 0x100b012c
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 0x100aeec2
bts edi, ecx
mov dword [edx + 0x54], edi
cmp ecx, 1
jne 0x100aeec2
mov ecx, edx
call fcn.1009d9f0
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 0x100aef24
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 0x100aef09
nop dword [eax + eax]
mov eax, dword [eax + 0x14]
inc edx
inc edi
test eax, eax
jne 0x100aef00
mov ebx, dword [ebx]
cmp edi, esi
cmovle edi, esi
mov esi, edi
test ebx, ebx
jne 0x100aeee3
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.10051af0
mov edi, eax
add esp, 8
test edi, edi
je 0x100b013a
mov ebx, dword [esp + 0x44]
xor edx, edx
mov ebx, dword [ebx + 0x10]
test ebx, ebx
je 0x100aef7c
mov ecx, dword [ebx + 8]
test byte [ecx + 0x24], 0x80
jne 0x100aef61
mov eax, dword [ecx + 0x1c]
inc edx
mov dword [edi + edx*4], eax
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x100aef76
mov eax, dword [ecx + 0x2c]
inc edx
mov dword [edi + edx*4], eax
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x100aef68
mov ebx, dword [ebx]
test ebx, ebx
jne 0x100aef51
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.10072a10
mov edi, dword [esi + 0x6c]
add esp, 0x14
test edi, edi
jle 0x100aefd2
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 0x100aeff0
push 0
push 0
push 2
mov edx, 0x32
mov ecx, esi
call fcn.100725f0
add esp, 0xc
mov edi, eax
jmp 0x100af023
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.10053e80
mov edx, dword [esi + 0x6c]
add esp, 0xc
mov ebx, eax
cmp dword [esi + 0x70], edx
jg 0x100af062
push 0
push 3
push 0
mov edx, 0x73
mov ecx, esi
call fcn.100725f0
add esp, 0xc
mov edx, eax
jmp 0x100af099
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 0x100af0b1
push ebx
mov edx, 0xfffffff9
call fcn.10073200
add esp, 4
jmp 0x100af0e5
test edx, edx
jns 0x100af0b9
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 0x100af0da
push 0xfffffffffffffff9
push ebx
mov edx, eax
mov ecx, esi
call fcn.100733c0
add esp, 8
jmp 0x100af0e5
test ebx, ebx
je 0x100af0e5
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0xf9
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x100af104
push 3
push 3
push 2
mov edx, 0x6e
mov ecx, esi
call fcn.100725f0
add esp, 0xc
jmp 0x100af137
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.100ad200
mov eax, dword [esi]
mov edx, dword [esi + 0x6c]
cmp byte [eax + 0x51], 0
je 0x100af150
mov eax, 0x101fcbd8
jmp 0x100af161
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 0x100b011c
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 0x100b010a
test byte [edi + 0x24], 0x80
jne 0x100af1b1
mov dword [esp + 0x20], 0
jmp 0x100af1d4
mov ebx, dword [edi + 8]
mov dword [esp + 0x20], ebx
test ebx, ebx
je 0x100af1d4
nop dword [eax]
mov eax, dword [ebx + 0x38]
and al, 3
cmp al, 2
je 0x100af1d0
mov ebx, dword [ebx + 0x14]
test ebx, ebx
jne 0x100af1c0
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.100aaf40
mov ecx, dword [esi + 0x6c]
add esp, 0x18
cmp dword [esi + 0x70], ecx
jg 0x100af213
push 0
push 7
push 0
mov edx, 0x45
mov ecx, esi
call fcn.100725f0
add esp, 0xc
jmp 0x100af246
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 0x100af2ab
mov edi, 8
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x100af270
push 0
push edi
push 0
mov edx, 0x45
mov ecx, esi
call fcn.100725f0
add esp, 0xc
jmp 0x100af29f
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 0x100af252
mov edi, dword [esp + 0x24]
mov ecx, dword [esi + 0x6c]
mov ebx, dword [esp + 0x28]
cmp dword [esi + 0x70], ecx
jg 0x100af2cd
push 0
push 0
push ebx
mov edx, 0x25
mov ecx, esi
call fcn.100725f0
add esp, 0xc
jmp 0x100af2fc
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 0x100af323
push 0
push 1
push 7
mov edx, 0x52
mov ecx, esi
call fcn.100725f0
add esp, 0xc
mov dword [esp + 0x18], eax
jmp 0x100af356
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 0x100af3c5
movsx edx, word [edi + 0x2c]
mov ecx, dword [esi + 0x6c]
dec edx
cmp dword [esi + 0x70], ecx
jg 0x100af37f
push 3
push edx
push ebx
mov edx, 0x59
mov ecx, esi
call fcn.100725f0
add esp, 0xc
jmp 0x100af3ae
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 0x100af3c5
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 0x100af5ad
xor ebx, ebx
mov dword [esp + 0x4c], ebx
nop dword [eax]
movsx eax, word [edi + 0x28]
cmp ecx, eax
je 0x100af595
mov eax, dword [edi + 4]
cmp byte [ebx + eax + 0xc], 0
je 0x100af595
push 3
push ecx
push dword [esp + 0x30]
mov edx, edi
mov ecx, esi
call fcn.1008dd30
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 0x100af425
mov eax, 0x101fcbd8
jmp 0x100af42d
mov eax, dword [esi + 0x68]
add eax, 0xffffffec
add eax, edx
cmp byte [eax], 0x59
mov edi, ecx
jne 0x100af448
test ecx, ecx
jle 0x100af448
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 0x100af466
push 0
push 0
push 3
mov edx, 0x33
mov ecx, esi
call fcn.100725f0
add esp, 0xc
mov edi, eax
jmp 0x100af499
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.10053e80
mov edx, dword [esi + 0x6c]
add esp, 0x10
mov ebx, eax
cmp dword [esi + 0x70], edx
jg 0x100af4d9
push 0
push 3
push 0
mov edx, 0x73
mov ecx, esi
call fcn.100725f0
add esp, 0xc
mov edx, eax
jmp 0x100af510
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 0x100af528
push ebx
mov edx, 0xfffffff9
call fcn.10073200
add esp, 4
jmp 0x100af55c
test edx, edx
jns 0x100af530
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 0x100af551
push 0xfffffffffffffff9
push ebx
mov edx, eax
mov ecx, esi
call fcn.100733c0
add esp, 8
jmp 0x100af55c
test ebx, ebx
je 0x100af55c
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0xf9
mov ecx, esi
call fcn.100ad200
mov eax, dword [esi]
mov edx, dword [esi + 0x6c]
cmp byte [eax + 0x51], 0
je 0x100af575
mov eax, 0x101fcbd8
jmp 0x100af586
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 0x100af3e0
mov edx, dword [edi + 0x18]
test edx, edx
je 0x100af782
mov ebx, dword [esp + 0xc]
mov eax, dword [ebx + 0x20]
and eax, 0x200
or eax, 0
jne 0x100af782
push eax
mov ecx, ebx
call fcn.1008a060
add esp, 4
mov edx, eax
cmp byte [ebx + 0x51], 0
mov dword [esp + 0x2c], edx
jne 0x100af777
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 0x100af647
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.10090040
mov ecx, dword [esp + 0x20]
lea ebx, [ebx - 0x14]
dec edi
add esp, 0x10
test edi, edi
jg 0x100af621
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.1008fc80
mov ecx, dword [esi + 0xc]
add esp, 0x10
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x100af673
push ebx
mov edx, esi
call fcn.10072d60
add esp, 4
jmp 0x100af67c
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.10053e80
mov edx, dword [esi + 0x6c]
add esp, 0xc
mov edi, eax
cmp dword [esi + 0x70], edx
jg 0x100af6c2
push 0
push 3
push 0
mov edx, 0x73
mov ecx, esi
call fcn.100725f0
add esp, 0xc
mov edx, eax
jmp 0x100af6f5
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 0x100af70d
push edi
mov edx, 0xfffffff9
call fcn.10073200
add esp, 4
jmp 0x100af741
test edx, edx
jns 0x100af715
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 0x100af736
push 0xfffffffffffffff9
push edi
mov edx, eax
mov ecx, esi
call fcn.100733c0
add esp, 8
jmp 0x100af741
test edi, edi
je 0x100af741
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0xf9
mov ecx, esi
call fcn.100ad200
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x4c]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x100af766
push edx
mov edx, esi
call fcn.10072d60
add esp, 4
jmp 0x100af76f
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 0x100af782
mov ecx, ebx
call fcn.1008ac80
mov bl, byte [esp + 0x43]
cmp bl, 0x71
je 0x100afde1
mov ebx, dword [edi + 8]
mov dword [esp + 0x3c], ebx
test ebx, ebx
je 0x100afddd
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 0x100afdca
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.100a0410
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 0x100af81d
push 0
push 1
push edx
mov edx, 0x52
mov ecx, esi
call fcn.100725f0
add esp, 0xc
jmp 0x100af850
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.10072c60
mov edx, dword [esi + 0x6c]
add esp, 0x10
mov ebx, eax
cmp dword [esi + 0x70], edx
jg 0x100af890
push 0
push 3
push 0
mov edx, 0x73
mov ecx, esi
call fcn.100725f0
add esp, 0xc
mov edx, eax
jmp 0x100af8c3
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 0x100af8dc
push str.row
xor edx, edx
call fcn.10073200
add esp, 4
jmp 0x100af8fe
test edx, edx
jns 0x100af8e4
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.100733c0
add esp, 8
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x100af91d
push 3
push 3
push 7
mov edx, 0x6e
mov ecx, esi
call fcn.100725f0
add esp, 0xc
jmp 0x100af950
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 0x100af971
push 0
push 4
push 0
mov edx, 0x73
mov ecx, esi
call fcn.100725f0
add esp, 0xc
mov edx, eax
jmp 0x100af9a4
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 0x100af9bd
push str._missing_from_index
xor edx, edx
call fcn.10073200
add esp, 4
jmp 0x100af9df
test edx, edx
jns 0x100af9c5
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.100733c0
add esp, 8
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x100af9fe
push 3
push 3
push 4
mov edx, 0x6e
mov ecx, esi
call fcn.100725f0
add esp, 0xc
jmp 0x100afa31
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 0x100afa60
push 0
push 4
push 0
mov edx, 0x73
mov ecx, esi
call fcn.100725f0
mov edx, eax
add esp, 0xc
mov dword [esp + 0x4c], edx
jmp 0x100afa97
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 0x100afaae
push edi
xor edx, edx
call fcn.10073200
add esp, 4
jmp 0x100afacc
test edx, edx
jns 0x100afab6
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.100733c0
add esp, 8
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x100afaeb
push 3
push 3
push 4
mov edx, 0x6e
mov ecx, esi
call fcn.100725f0
add esp, 0xc
jmp 0x100afb1e
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.100ad200
mov edx, dword [esi + 0x6c]
mov dword [esp + 0x60], eax
test ebx, ebx
jns 0x100afb33
lea ebx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
je 0x100afb42
mov eax, 0x101fcbd8
jmp 0x100afb4b
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 0x100afd65
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 0x100afbfe
mov edi, dword [esp + 0x38]
jmp 0x100afb84
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 4]
movsx eax, word [eax + ebx*2]
test eax, eax
js 0x100afba0
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 4]
cmp byte [eax + ecx*4 + 0xc], 0
jne 0x100afbf0
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x100afbc1
push 0
push edx
push edi
mov edx, 0x32
mov ecx, esi
call fcn.100725f0
mov edx, dword [esp + 0x50]
add esp, 0xc
jmp 0x100afbf0
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 0x100afb80
mov edi, dword [esi + 0x6c]
cmp dword [esi + 0x70], edi
jg 0x100afc21
push 0
push 0
push dword [esp + 0x34]
mov edx, 5
mov ecx, esi
call fcn.100725f0
add esp, 0xc
mov edi, eax
jmp 0x100afc54
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.100727d0
mov eax, dword [esi]
mov edx, dword [esi + 0x6c]
cmp byte [eax + 0x51], 0
je 0x100afc73
mov eax, 0x101fcbd8
jmp 0x100afc84
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.10072c60
mov edx, dword [esi + 0x6c]
add esp, 0x10
cmp dword [esi + 0x70], edx
jg 0x100afcc9
push 0
push 3
push 0
mov edx, 0x73
mov ecx, esi
call fcn.100725f0
add esp, 0xc
mov edx, eax
jmp 0x100afcfc
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 0x100afd15
push str.non_unique_entry_in_index
xor edx, edx
call fcn.10073200
add esp, 4
jmp 0x100afd37
test edx, edx
jns 0x100afd1d
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.100733c0
add esp, 8
mov edx, dword [esp + 0x4c]
mov ecx, esi
call fcn.100727d0
mov ecx, dword [esi + 0xc]
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x100afd5c
push ebx
mov edx, esi
call fcn.10072d60
add esp, 4
jmp 0x100afd65
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 0x100afd73
lea ecx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
je 0x100afd82
mov eax, 0x101fcbd8
jmp 0x100afd8b
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 0x100afdc2
mov edx, dword [eax + 8]
not edi
mov ecx, dword [edx + 0xc]
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x100afdb5
push edi
call fcn.10072d60
add esp, 4
jmp 0x100afdbe
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 0x100af7c0
mov bl, byte [esp + 0x43]
mov ecx, dword [esi + 0x6c]
mov edi, dword [esp + 0x18]
cmp dword [esi + 0x70], ecx
jg 0x100afe05
push 0
push edi
push dword [esp + 0x30]
mov edx, 5
mov ecx, esi
call fcn.100725f0
add esp, 0xc
jmp 0x100afe34
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 0x100afe49
mov eax, 0x101fcbe0
jmp 0x100afe5c
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 0x100b010a
mov edx, dword [esi + 0x6c]
cmp dword [esi + 0x70], edx
jg 0x100afe88
push 0
push 2
push 0
mov edx, 0x73
mov ecx, esi
call fcn.100725f0
add esp, 0xc
mov edx, eax
jmp 0x100afebb
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 0x100afed4
push str.wrong__of_entries_in_index
xor edx, edx
call fcn.10073200
add esp, 4
jmp 0x100afef6
test edx, edx
jns 0x100afedc
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.100733c0
add esp, 8
mov eax, dword [esp + 0x24]
mov ebx, dword [eax + 8]
mov dword [esp + 0x58], ebx
test ebx, ebx
je 0x100b010a
mov ecx, dword [esp + 0x20]
mov eax, 8
mov dword [esp + 0x38], eax
cmp ecx, ebx
je 0x100b00f6
mov edx, dword [esp + 0x54]
mov ecx, dword [esi + 0x6c]
add edx, 0xfffffff8
add edx, eax
cmp dword [esi + 0x70], ecx
jg 0x100aff45
push 0
push 3
push edx
mov edx, 0x5c
mov ecx, esi
call fcn.100725f0
add esp, 0xc
jmp 0x100aff74
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 0x100aff98
push 3
push 0
push edx
mov edx, 0x35
mov ecx, esi
call fcn.100725f0
add esp, 0xc
mov edi, eax
jmp 0x100affc7
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 0x100affe1
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 0x100b0001
push 0
push 4
push 0
mov edx, 0x73
mov ecx, esi
call fcn.100725f0
add esp, 0xc
mov edx, eax
jmp 0x100b0038
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 0x100b004d
push ebx
xor edx, edx
call fcn.10073200
add esp, 4
jmp 0x100b006b
test edx, edx
jns 0x100b0055
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.100733c0
add esp, 8
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x100b008a
push 3
push 2
push 4
mov edx, 0x6e
mov ecx, esi
call fcn.100725f0
add esp, 0xc
jmp 0x100b00bd
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.100ad200
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 0x100b00de
mov eax, 0x101fcbd8
jmp 0x100b00e7
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 0x100aff16
mov edi, dword [esp + 0x48]
mov edi, dword [edi]
mov dword [esp + 0x48], edi
test edi, edi
jne 0x100af180
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 0x100aee80
push ecx
push 0x101ba420
mov edx, 7
mov ecx, esi
call fcn.10072f30
mov edx, eax
add esp, 8
test edx, edx
je 0x100b0182
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], 0x101ce79c
cmovne ecx, eax
mov byte [edx + 0x65], 0xff
mov dword [edx + 0x74], ecx
mov eax, dword [esi]
mov ecx, 0x101fcbd8
mov edx, dword [esi + 0x6c]
cmp byte [eax + 0x51], 0
jne 0x100b0195
mov ecx, dword [esi + 0x68]
lea eax, [edx - 2]
mov dword [ecx + 0xc], eax
jmp 0x100b09ad
test ecx, ecx
jne 0x100b01d0
mov ebx, dword [esp + 0x10]
mov ecx, ebx
call fcn.100b1b90
test eax, eax
jne 0x100b09ad
mov eax, dword [ebx]
mov ecx, esi
movzx edx, byte [eax + 0x4e]
mov edx, dword [edx*8 + 0x101b5630]
call fcn.100ace90
jmp 0x100b09ad
mov edx, dword [esp + 0xc]
test byte [edx + 0x18], 0x40
jne 0x100b09ad
mov eax, dword [str.UTF8]
mov esi, 0x101b5630
test eax, eax
je 0x100b023a
nop dword [eax]
mov edx, eax
call fcn.10054e00
test eax, eax
je 0x100b020b
mov eax, dword [esi + 8]
add esi, 8
mov ecx, dword [esp + 0x30]
test eax, eax
jne 0x100b01f0
jmp 0x100b0236
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.1009ea00
cmp dword [esi], 0
jne 0x100b09ad
mov ecx, dword [esp + 0x30]
push ecx
push str.unsupported_encoding:__s
push dword [esp + 0x18]
call fcn.10054cd0
add esp, 0xc
jmp 0x100b09ad
mov edi, dword [ebx + 8]
mov ecx, esi
mov edx, dword [esp + 0x1c]
call fcn.100739a0
cmp dword [esp + 0x30], 0
je 0x100b02a1
test byte [ebx + 5], 8
jne 0x100b02a1
push ecx
push 0x101b7158
mov edx, 2
mov ecx, esi
call fcn.10072f30
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.10055900
mov dword [esi + 0x20], eax
jmp 0x100b09ad
push ecx
push 0x101b7a64
mov edx, 3
mov ecx, esi
call fcn.10072f30
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 0x100b09ad
mov eax, dword [esp + 0x10]
xor ebx, ebx
mov dword [eax + 0x2c], 1
nop dword [eax]
cmp ebx, 1
ja 0x100b02ee
mov edi, dword [ebx*4 + 0x101b7a5c]
jmp 0x100b02f0
xor edi, edi
inc ebx
test edi, edi
je 0x100b02c3
mov edx, dword [esi + 0x6c]
cmp dword [esi + 0x70], edx
jg 0x100b0316
push 0
push 1
push 0
mov edx, 0x73
mov ecx, esi
call fcn.100725f0
add esp, 0xc
mov edx, eax
jmp 0x100b034d
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 0x100b0362
push edi
xor edx, edx
call fcn.10073200
add esp, 4
jmp 0x100b0380
test edx, edx
jns 0x100b036a
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.100733c0
add esp, 8
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x100b03a2
push 0
push 1
push 1
mov edx, 0x50
mov ecx, esi
call fcn.100725f0
add esp, 0xc
jmp 0x100b02e0
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 0x100b02e0
mov eax, dword [esp + 0x24]
mov ebx, 0xa
cmp dword [eax], 0
cmovne ebx, dword [esp + 0x1c]
xor edi, edi
test ecx, ecx
je 0x100b0433
mov edx, str.full
call fcn.10054e00
test eax, eax
jne 0x100b0404
lea edi, [eax + 1]
jmp 0x100b0433
mov ecx, dword [esp + 0x30]
mov edx, str.restart
call fcn.10054e00
test eax, eax
jne 0x100b041b
lea edi, [eax + 2]
jmp 0x100b0433
mov ecx, dword [esp + 0x30]
mov edx, str.truncate
call fcn.10054e00
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.10072630
add esp, 0xc
mov edx, 0x50
mov ecx, esi
push 3
push 1
call fcn.10072760
jmp 0x100b09aa
test ecx, ecx
je 0x100b047c
call fcn.10055900
push eax
push dword [esp + 0x10]
call fcn.100de100
add esp, 8
mov eax, dword [esp + 0xc]
cmp dword [eax + 0xf8], 0x100ddfe0
jne 0x100adba8
mov eax, dword [eax + 0xfc]
jmp 0x100b09a0
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 0xc]
test eax, eax
je 0x100b04be
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 0x100b04cf
mov ecx, edx
call fcn.10064640
mov edx, dword [esp + 0xc]
xor edi, edi
cmp dword [edx + 0x14], edi
jle 0x100b0519
xor ebx, ebx
nop dword [eax + eax]
mov eax, dword [edx + 0x10]
mov eax, dword [eax + ebx + 4]
test eax, eax
je 0x100b0510
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 0x100b04e0
cmp byte [edx + 0x59], 0
jne 0x100b052a
mov ecx, edx
call fcn.10064690
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 0xc]
test eax, eax
je 0x100b09ad
mov esi, dword [0x101f6c90]
mov ecx, esi
push eax
call dword [0x1019a4f8]
call esi
add esp, 4
jmp 0x100b09ad
test ecx, ecx
je 0x100b0568
call fcn.10055900
mov ecx, eax
mov dword [esp + 0x18], ecx
test cl, 2
je 0x100b09ad
jmp 0x100b0570
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 0x100b0592
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jmp 0x100b05ac
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x14]
dec eax
mov dword [esp + 0x14], eax
cmp dword [esp + 0x1c], eax
jg 0x100b0852
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 0x100b0837
mov eax, dword [edi + 0x74]
mov ecx, edi
test eax, eax
cmovne ecx, eax
mov eax, dword [ecx + 0x54]
test ebx, eax
jne 0x100b05e7
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 0x100b082b
nop word [eax + eax]
mov edi, dword [edi + 8]
test dword [edi + 0x24], 0x100
je 0x100b0815
mov ax, word [edi + 0x2e]
add ax, 0x2e
movzx ebx, ax
mov eax, dword [edi + 8]
test eax, eax
je 0x100b0643
test byte [eax + 0x38], 0x80
je 0x100b06b8
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x100b0632
test bx, bx
je 0x100b06b8
mov ecx, dword [esp + 0x10]
push 0x60
push edi
push dword [esp + 0x24]
call fcn.100a6cf0
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 0x100b0689
push edx
push ebx
push dword [esp + 0x28]
mov edx, 0x22
mov ecx, esi
call fcn.100725f0
add esp, 0xc
jmp 0x100b06b8
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.10053e80
add esp, 0x10
mov edi, eax
test byte [esp + 0x18], 1
je 0x100b0771
mov edx, dword [esp + 0x10]
mov cl, byte [edx + 0x13]
test cl, cl
jne 0x100b06f6
inc dword [edx + 0x2c]
mov ebx, dword [edx + 0x2c]
jmp 0x100b0705
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.10072a10
mov ecx, dword [esi + 0x6c]
add esp, 0x14
cmp dword [esi + 0x70], ecx
jg 0x100b073d
push 0
push 1
push ebx
mov edx, 0x50
mov ecx, esi
call fcn.100725f0
add esp, 0xc
jmp 0x100b0811
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 0x100b0811
mov edx, dword [esi + 0x6c]
cmp dword [esi + 0x70], edx
jg 0x100b0792
push 0
push 0
push 0
mov edx, 0x8c
mov ecx, esi
call fcn.100725f0
add esp, 0xc
mov edx, eax
jmp 0x100b07c5
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 0x100b07dd
push edi
mov edx, 0xfffffff9
call fcn.10073200
add esp, 4
jmp 0x100b0811
test edx, edx
jns 0x100b07e5
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 0x100b0806
push 0xfffffffffffffff9
push edi
mov edx, eax
mov ecx, esi
call fcn.100733c0
add esp, 8
jmp 0x100b0811
test edi, edi
je 0x100b0811
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 0x100b0610
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 0x100b05c1
mov edx, 0x9e
mov ecx, esi
call fcn.100726a0
jmp 0x100b09ad
test ecx, ecx
je 0x100b0884
lea edx, [esp + 0x68]
call fcn.10055650
test eax, eax
jne 0x100b0884
push dword [esp + 0x6c]
push dword [esp + 0x6c]
call fcn.10051130
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.10051130
push edx
push eax
mov ecx, esi
call fcn.100acd60
add esp, 0x10
jmp 0x100b09ad
test ecx, ecx
je 0x100b08e9
lea edx, [esp + 0x68]
call fcn.10055650
test eax, eax
jne 0x100b08e9
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.10051290
mov edi, dword [esp + 0x74]
add esp, 8
mov ebx, eax
test edi, edi
jl 0x100b08e9
mov ecx, dword [esp + 0x68]
jg 0x100b08cf
test ecx, ecx
je 0x100b08e9
mov eax, ebx
or eax, edx
je 0x100b08df
cmp edx, edi
jl 0x100b08e9
jg 0x100b08df
cmp ebx, ecx
jbe 0x100b08e9
push edi
push ecx
call fcn.10051290
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.10051290
push edx
push eax
mov ecx, esi
call fcn.100acd60
add esp, 0x10
jmp 0x100b09ad
test ecx, ecx
je 0x100b0938
lea edx, [esp + 0x68]
call fcn.10055650
test eax, eax
jne 0x100b0938
cmp dword [esp + 0x6c], eax
jl 0x100b0938
mov eax, dword [esp + 0x68]
jg 0x100b0924
test eax, eax
jb 0x100b0938
and eax, 0x7fffffff
push eax
push 0xb
push dword [esp + 0x14]
call fcn.100de9c0
add esp, 0xc
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x98]
jmp 0x100b09a0
test ecx, ecx
je 0x100b0974
lea edx, [esp + 0x68]
call fcn.10055650
test eax, eax
jne 0x100b0974
cmp dword [esp + 0x6c], eax
jl 0x100b0974
mov eax, dword [esp + 0x68]
jg 0x100b0965
test eax, eax
jb 0x100b0974
mov ecx, dword [esp + 0xc]
and eax, 0x7fffffff
mov dword [ecx + 0x1d4], eax
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x1d4]
jmp 0x100b09a0
test ecx, ecx
je 0x100b0996
call fcn.10055900
push eax
push dword [esp + 0x10]
call fcn.100dd7a0
add esp, 8
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x1d8]
cdq
push edx
push eax
mov ecx, esi
call fcn.100acd60
add esp, 8
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0xc]
call fcn.10051800
mov eax, dword [esp + 0x30]
test eax, eax
je 0x100b09cd
mov ecx, dword [esp + 0xc]
mov edx, eax
call fcn.10051800
mov ecx, dword [esp + 0x8c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1015c875
mov esp, ebp
pop ebp
ret