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

Disassembly:
sub esp, 0x88
mov eax, dword [0x100ff008]
xor eax, esp
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x90]
push ebx
mov ebx, dword [esp + 0x90]
push ebp
push esi
mov ebp, ecx
mov dword [esp + 0x1c], ebx
push edi
mov ecx, 0x10103106
mov dword [esp + 0x40], ebp
mov edi, edx
mov dword [esp + 0x14], eax
call fcn.100d96c4
mov eax, dword [ebp]
mov ecx, ebp
mov dword [esp + 0x10], eax
call fcn.100973d0
mov esi, eax
mov dword [esp + 0x50], esi
test esi, esi
je 0x1009070f
or dword [esi + 0x98], 0x40
lea eax, [esp + 0x60]
push eax
push ebx
mov edx, edi
mov dword [ebp + 0x2c], 2
mov ecx, ebp
call fcn.1007f220
mov edx, eax
add esp, 8
mov dword [esp + 0x1c], edx
test edx, edx
js 0x1009070f
mov ecx, dword [esp + 0x10]
shl eax, 4
mov dword [esp + 0x18], eax
mov edi, dword [ecx + 0x10]
add edi, eax
cmp edx, 1
jne 0x100905a2
mov ecx, ebp
call fcn.10083e90
test eax, eax
jne 0x1009070f
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x60]
test edx, edx
je 0x1009070f
push 0
push dword [edx + 4]
mov edx, dword [edx]
call fcn.1003f0c0
add esp, 8
mov dword [esp + 0x54], eax
mov ecx, eax
call fcn.10042110
cmp dword [esp + 0x54], 0
je 0x1009070f
cmp dword [esp + 0xa4], 0
je 0x100905f4
push dword [esp + 0x14]
push 0x100ed518
push dword [esp + 0x18]
call fcn.10041380
add esp, 0xc
jmp 0x10090622
mov eax, dword [esp + 0x14]
test eax, eax
je 0x10090620
mov edx, dword [eax]
mov ecx, dword [esp + 0x10]
push 0
push dword [eax + 4]
call fcn.1003f0c0
add esp, 8
mov dword [esp + 0x2c], eax
mov ecx, eax
call fcn.10042110
mov eax, dword [esp + 0x2c]
jmp 0x10090626
xor eax, eax
mov dword [esp + 0x2c], eax
cmp dword [ebx + 4], 0
jbe 0x10090630
mov ebx, dword [edi]
jmp 0x10090632
xor ebx, ebx
push ebx
push eax
push dword [esp + 0x5c]
mov edx, 0x13
mov dword [esp + 0x44], ebx
mov ecx, ebp
call fcn.1007dfa0
add esp, 0xc
test eax, eax
jne 0x100906ed
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x8c], ecx
lea ecx, [esp + 0x84]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x54]
push ecx
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x14]
push 0xe
push ebx
mov dword [esp + 0x9c], 0
push eax
mov dword [eax + 0x19c], 0
call fcn.100bab90
mov ebx, eax
add esp, 0x10
test ebx, ebx
jne 0x10090728
lea edx, [eax + 1]
mov ecx, esi
call fcn.10060520
mov eax, dword [esi]
cmp byte [eax + 0x51], bl
jne 0x100906d0
mov edx, dword [esp + 0x84]
mov ecx, dword [esi + 0x74]
push 0xffffffffffffffff
push 1
push 0xffffffffffffffff
call fcn.1005d8d0
add esp, 0xc
mov edx, dword [esp + 0x84]
mov ecx, esi
call fcn.10090310
push dword [esp + 0x84]
call fcn.1003ea80
add esp, 4
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x54]
mov ecx, ebx
call fcn.1003eb40
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x1009070f
mov ecx, dword [esp + 0x10]
mov edx, eax
call fcn.1003eb40
mov ecx, dword [esp + 0x94]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.100d8362
add esp, 0x88
ret
cmp ebx, 0xc
je 0x1009075e
mov eax, dword [esp + 0x84]
test eax, eax
je 0x10090756
push eax
push 0x100f1c04
push ebp
call fcn.100420b0
add esp, 0xc
push dword [esp + 0x84]
call fcn.1003ea80
add esp, 4
inc dword [ebp + 0x24]
mov dword [ebp + 0xc], ebx
jmp 0x100906ed
mov ecx, dword [esp + 0x54]
call fcn.100903d0
mov ebx, eax
test ebx, ebx
je 0x100906ed
test byte [ebx + 5], 1
je 0x10090782
mov ecx, ebp
call fcn.10093c20
test eax, eax
jne 0x100906ed
mov al, byte [ebx + 5]
test al, 2
jne 0x1009079e
test al, 4
je 0x10090795
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jne 0x100907a2
mov edx, ebx
mov ecx, esi
call fcn.10090200
mov ecx, dword [esp + 0x2c]
movzx eax, byte [ebx + 4]
cmp eax, 0x27
ja case.0x100907af.3
jmp dword [eax*4 + 0x10092bcc]
mov ebx, dword [esp + 0x1c]
mov ecx, esi
mov edx, ebx
call fcn.1005f660
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x100907f4
add dword [ebp + 0x2c], 2
lea edx, [eax + 9]
push eax
push 0x100e4070
mov ecx, esi
call fcn.1005ec60
add esp, 8
mov dword [eax + 4], ebx
mov dword [eax + 0x18], ebx
mov dword [eax + 0x7c], 0xfffff830
jmp 0x100906ed
lea edx, [esp + 0x14]
mov dword [esp + 0x14], 0
mov ecx, eax
call fcn.10042bb0
mov ebx, dword [esp + 0x14]
test ebx, ebx
jns 0x10090820
cmp ebx, 0x80000000
jne 0x1009081e
mov ebx, 0x7fffffff
jmp 0x10090820
neg ebx
push dword [esp + 0x1c]
xor edx, edx
mov ecx, ebp
call fcn.10083ff0
add esp, 4
mov edx, 0x5f
mov ecx, esi
push ebx
push 3
push dword [esp + 0x24]
call fcn.1005e520
mov eax, dword [edi + 0xc]
add esp, 0xc
mov dword [eax + 0x50], ebx
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 4]
mov edx, dword [edx + 0x50]
call fcn.100531a0
jmp 0x100906ed
mov edi, dword [edi + 4]
test ecx, ecx
jne 0x10090896
test edi, edi
je 0x10090882
mov eax, dword [edi + 4]
mov ecx, esi
mov eax, dword [eax + 0x20]
cdq
push edx
push eax
call fcn.100902a0
add esp, 8
jmp 0x100906ed
xor eax, eax
mov ecx, esi
cdq
push edx
push eax
call fcn.100902a0
add esp, 8
jmp 0x100906ed
lea edx, [esp + 0x14]
mov dword [esp + 0x14], 0
call fcn.10042bb0
mov eax, dword [esp + 0x10]
mov ecx, edi
mov edx, dword [esp + 0x14]
push 0
push 0xffffffffffffffff
mov dword [eax + 0x5c], edx
call fcn.100533f0
add esp, 8
cmp eax, 7
jne 0x100906ed
mov ecx, dword [esp + 0x10]
call fcn.1003f1e0
jmp 0x100906ed
mov ebp, dword [edi + 4]
or edx, 0xffffffff
mov dword [esp + 0x28], edx
test ecx, ecx
je 0x10090916
mov edx, str.fast
call fcn.10042210
test eax, eax
jne 0x100908f8
lea edx, [eax + 2]
jmp 0x10090912
mov ecx, dword [esp + 0x2c]
mov edx, 1
push 0
call fcn.10090020
xor edx, edx
add esp, 4
test al, al
setne dl
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x20]
cmp dword [eax + 4], 0
jne 0x10090950
test edx, edx
js 0x10090950
mov eax, dword [esp + 0x10]
xor ebx, ebx
cmp dword [eax + 0x14], ebx
jle 0x10090950
xor edi, edi
mov esi, eax
mov ecx, dword [esi + 0x10]
mov ecx, dword [ecx + edi + 4]
call fcn.10053520
mov edx, dword [esp + 0x28]
lea edi, [edi + 0x10]
inc ebx
cmp ebx, dword [esi + 0x14]
jl 0x10090933
mov esi, dword [esp + 0x50]
mov edx, dword [esp + 0x28]
mov ecx, ebp
call fcn.10053520
cdq
mov ecx, esi
push edx
push eax
call fcn.100902a0
add esp, 8
jmp 0x100906ed
mov ebx, dword [esp + 0x1c]
mov ecx, ebp
mov edx, ebx
call fcn.10083f30
mov eax, dword [esp + 0x54]
inc dword [ebp + 0x2c]
mov edi, dword [ebp + 0x2c]
movzx eax, byte [eax]
cmp byte [eax + 0x100e4a00], 0x70
jne 0x10090999
push 0
mov edx, 0xa6
jmp 0x100909ce
mov ecx, dword [esp + 0x2c]
xor eax, eax
mov dword [esp + 0x14], eax
test ecx, ecx
je 0x100909c8
lea edx, [esp + 0x14]
call fcn.10042bb0
mov eax, dword [esp + 0x14]
test eax, eax
jns 0x100909c8
cmp eax, 0x80000000
jne 0x100909c6
mov eax, 0x7fffffff
jmp 0x100909c8
neg eax
push eax
mov edx, 0xa7
push edi
push ebx
mov ecx, esi
call fcn.1005e520
add esp, 0xc
mov edx, 0x51
mov ecx, esi
push 0
push 1
push edi
call fcn.1005e520
add esp, 0xc
jmp 0x100906ed
mov ebx, str.normal
mov ebp, str.exclusive
test ecx, ecx
je 0x10090a24
mov edx, ebp
call fcn.10042210
test eax, eax
jne 0x10090a11
lea edx, [eax + 1]
jmp 0x10090a27
mov ecx, dword [esp + 0x2c]
mov edx, ebx
call fcn.10042210
test eax, eax
jne 0x10090a24
xor edx, edx
jmp 0x10090a27
or edx, 0xffffffff
mov eax, dword [esp + 0x20]
mov dword [esp + 0x28], edx
cmp dword [eax + 4], 0
jne 0x10090aa3
mov eax, dword [esp + 0x10]
cmp edx, 0xffffffff
jne 0x10090a56
movzx eax, byte [eax + 0x53]
mov ecx, esi
cmp eax, 1
cmove ebx, ebp
mov edx, ebx
call fcn.10090310
jmp 0x100906ed
mov ebp, 2
cmp dword [eax + 0x14], ebp
jle 0x10090a9b
mov ebx, 0x20
mov esi, eax
nop word [eax + eax]
mov eax, dword [esi + 0x10]
mov eax, dword [eax + ebx + 4]
mov ecx, dword [eax + 4]
mov ecx, dword [ecx]
call fcn.1004da60
mov edx, dword [esp + 0x28]
lea ebx, [ebx + 0x10]
inc ebp
cmp ebp, dword [esi + 0x14]
jl 0x10090a70
mov esi, dword [esp + 0x50]
mov ebx, str.normal
mov eax, dword [esp + 0x10]
mov byte [eax + 0x53], dl
mov ebp, str.exclusive
mov eax, dword [edi + 4]
mov eax, dword [eax + 4]
mov ecx, dword [eax]
call fcn.1004da60
cmp eax, 1
mov ecx, esi
cmove ebx, ebp
mov edx, ebx
call fcn.10090310
jmp 0x100906ed
test ecx, ecx
je 0x10090b1c
mov edi, ecx
lea ecx, [edi + 1]
nop dword [eax]
mov al, byte [edi]
inc edi
test al, al
jne 0x10090ad0
sub edi, ecx
and edi, 0x3fffffff
xor ebx, ebx
cmp ebx, 6
je 0x10090b1c
mov eax, dword [ebx*4 + 0x100e3950]
test eax, eax
je 0x10090b1c
push edi
push eax
push dword [esp + 0x34]
call fcn.10042250
add esp, 0xc
test eax, eax
je 0x10090b06
inc ebx
jmp 0x10090ae1
cmp ebx, 2
jne 0x10090b38
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
and eax, 0x10000000
or eax, 0
je 0x10090b3d
or ebx, 0xffffffff
mov ecx, dword [esp + 0x20]
cmp dword [ecx + 4], 0
jne 0x10090b41
xor edx, edx
mov dword [ecx + 4], 1
mov dword [esp + 0x1c], edx
jmp 0x10090b45
cmp ebx, 0xffffffff
je 0x10090b1f
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x14]
sub edi, 1
js 0x10090b9a
mov ebp, edi
shl ebp, 4
mov eax, dword [eax + 0x10]
cmp dword [eax + ebp + 4], 0
je 0x10090b86
cmp edi, edx
je 0x10090b6a
cmp dword [ecx + 4], 0
jne 0x10090b86
mov edx, edi
mov ecx, esi
call fcn.1005f660
push ebx
push 1
push edi
mov edx, 7
mov ecx, esi
call fcn.1005e520
add esp, 0xc
mov ecx, dword [esp + 0x20]
sub ebp, 0x10
sub edi, 1
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
jns 0x10090b56
push 0
push 1
push 1
mov edx, 0x51
mov ecx, esi
call fcn.1005e520
add esp, 0xc
jmp 0x100906ed
mov eax, dword [edi + 4]
or edx, 0xffffffff
mov ecx, 0xfffffffe
mov eax, dword [eax + 4]
mov edi, dword [eax]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], edx
test eax, eax
je 0x10090c06
lea edx, [esp + 0x70]
mov ecx, eax
call fcn.10042a90
mov edx, dword [esp + 0x74]
cmp edx, 0xffffffff
jg 0x10090c02
jl 0x10090bf3
mov ecx, dword [esp + 0x70]
cmp ecx, 0xffffffff
jae 0x10090c06
or ecx, 0xffffffff
or edx, ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], edx
jmp 0x10090c06
mov ecx, dword [esp + 0x70]
cmp edx, 0xffffffff
jl 0x10090c32
jg 0x10090c12
cmp ecx, 0xffffffff
jb 0x10090c32
mov dword [edi + 0xa0], ecx
mov eax, dword [esp + 0x74]
mov dword [edi + 0xa4], eax
mov eax, dword [edi + 0xd8]
test eax, eax
je 0x10090c32
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
mov ecx, dword [edi + 0xa0]
mov dword [esp + 0x70], ecx
mov eax, dword [edi + 0xa4]
push eax
push ecx
mov ecx, esi
mov dword [esp + 0x7c], eax
call fcn.100902a0
add esp, 8
jmp 0x100906ed
mov edi, dword [edi + 4]
test ecx, ecx
jne 0x10090c77
mov ecx, edi
call fcn.10053620
cdq
mov ecx, esi
push edx
push eax
call fcn.100902a0
add esp, 8
jmp 0x100906ed
call fcn.100900e0
mov ebx, eax
mov ecx, edi
mov eax, dword [esp + 0x10]
mov edx, ebx
mov byte [eax + 0x54], bl
call fcn.100535a0
test eax, eax
jne 0x100906ed
cmp ebx, 1
je 0x10090ca4
cmp ebx, 2
jne 0x100906ed
mov edi, dword [esi + 0x6c]
mov edx, 5
push 0
push 0x100e7554
mov ecx, esi
call fcn.1005ec60
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.1005f660
jmp 0x100906ed
test ecx, ecx
je 0x10090cfa
lea edx, [esp + 0x14]
call fcn.10042bb0
test eax, eax
je 0x10090cfa
cmp dword [esp + 0x14], 0
jg 0x10090d02
mov dword [esp + 0x14], 0x7fffffff
mov ebx, dword [esp + 0x1c]
xor edx, edx
push ebx
mov ecx, ebp
call fcn.10083ff0
add esp, 4
mov edx, 0x46
mov ecx, esi
push 0
push 1
push dword [esp + 0x1c]
call fcn.1005e520
add esp, 0xc
mov edx, 0x3b
mov ecx, esi
push 0
push 0
push ebx
call fcn.1005e520
add esp, 0xc
mov edx, 0x51
mov ecx, esi
mov edi, eax
push 0
push 0
push 1
call fcn.1005e520
add esp, 0xc
mov edx, 0x53
mov ecx, esi
push 0
push 0xffffffffffffffff
push 1
call fcn.1005e520
add esp, 0xc
mov edx, 0x2f
mov ecx, esi
push 0
push edi
push 1
call fcn.1005e520
add esp, 0xc
mov edx, edi
mov ecx, esi
call fcn.1005ee10
jmp 0x100906ed
test ecx, ecx
jne 0x10090da8
mov eax, dword [edi + 0xc]
mov ecx, esi
mov eax, dword [eax + 0x50]
cdq
push edx
push eax
call fcn.100902a0
add esp, 8
jmp 0x100906ed
lea edx, [esp + 0x14]
mov dword [esp + 0x14], 0
call fcn.10042bb0
mov ecx, dword [edi + 0xc]
mov eax, dword [esp + 0x14]
mov dword [ecx + 0x50], eax
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 4]
mov edx, dword [edx + 0x50]
call fcn.100531a0
jmp 0x100906ed
test ecx, ecx
jne 0x10090e16
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
and eax, 0x20
or eax, ecx
jne 0x10090dfa
cdq
mov ecx, esi
push edx
push eax
call fcn.100902a0
add esp, 8
jmp 0x100906ed
mov ecx, dword [edi + 4]
xor edx, edx
call fcn.10053220
cdq
mov ecx, esi
push edx
push eax
call fcn.100902a0
add esp, 8
jmp 0x100906ed
lea edx, [esp + 0x14]
mov dword [esp + 0x14], 1
call fcn.10042bb0
test eax, eax
je 0x10090e37
mov edx, dword [esp + 0x14]
mov ecx, dword [edi + 4]
call fcn.10053220
cmp dword [esp + 0x14], 0
mov edx, 1
mov ecx, dword [esp + 0x2c]
setne al
movzx eax, al
push eax
call fcn.10090020
mov edx, dword [esp + 0x14]
add esp, 4
mov ecx, dword [edx + 0x20]
mov edx, dword [edx + 0x24]
test al, al
je 0x10090e67
or ecx, 0x20
jmp 0x10090e6a
and ecx, 0xffffffdf
mov eax, dword [esp + 0x10]
mov dword [eax + 0x20], ecx
mov ecx, eax
mov dword [eax + 0x24], edx
call fcn.10090360
jmp 0x100906ed
test ecx, ecx
je 0x10090f1b
lea edx, [esp + 0x70]
call fcn.10042a90
mov eax, dword [esp + 0x74]
test eax, eax
jg 0x10090eb8
jl 0x10090ea3
mov edx, dword [esp + 0x70]
test edx, edx
jae 0x10090ebc
mov edx, dword [0x100ff100]
mov eax, dword [0x100ff104]
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], eax
jmp 0x10090ebc
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x10]
cmp dword [ecx + 4], 0
jne 0x10090ed0
mov dword [edi + 0x30], edx
mov dword [edi + 0x34], eax
mov edi, dword [edi + 0x14]
sub edi, 1
js 0x10090f1b
mov esi, dword [esp + 0x10]
mov ebx, edi
shl ebx, 4
mov eax, dword [esi + 0x10]
mov eax, dword [eax + ebx + 4]
test eax, eax
je 0x10090f0f
cmp edi, dword [esp + 0x1c]
je 0x10090ef8
cmp dword [ecx + 4], 0
jne 0x10090f0f
push dword [esp + 0x74]
mov ecx, eax
push edx
call fcn.100532c0
mov edx, dword [esp + 0x78]
add esp, 8
mov ecx, dword [esp + 0x20]
sub ebx, 0x10
sub edi, 1
jns 0x10090ee1
mov esi, dword [esp + 0x50]
lea eax, [esp + 0x70]
mov dword [esp + 0x70], 0xffffffff
push eax
push 0x12
push dword [esp + 0x40]
mov dword [esp + 0x80], 0xffffffff
push dword [esp + 0x1c]
call fcn.100bab90
add esp, 0x10
test eax, eax
jne 0x10090f60
push dword [esp + 0x74]
mov ecx, esi
push dword [esp + 0x74]
call fcn.100902a0
add esp, 8
jmp 0x100906ed
mov ebx, dword [esp + 0x10]
cmp eax, 0xc
je 0x100906f1
inc dword [ebp + 0x24]
mov dword [ebp + 0xc], eax
jmp 0x100906f1
test ecx, ecx
jne 0x10090f96
mov eax, dword [esp + 0x10]
mov ecx, esi
movzx eax, byte [eax + 0x50]
cdq
push edx
push eax
call fcn.100902a0
add esp, 8
jmp 0x100906ed
call fcn.10090150
mov esi, dword [ebp]
mov ebx, eax
movzx ecx, byte [esi + 0x50]
cmp ecx, ebx
je 0x100906ed
mov ecx, ebp
call fcn.100901a0
test eax, eax
jne 0x100906ed
mov byte [esi + 0x50], bl
jmp 0x100906ed
test ecx, ecx
jne 0x10090fd9
mov edx, dword [0x10101248]
mov ecx, esi
call fcn.10090310
jmp 0x100906ed
cmp byte [ecx], 0
je 0x10091012
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x24]
push edx
push 1
push ecx
mov eax, dword [eax]
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x10090fff
cmp dword [esp + 0x24], eax
jne 0x10091012
push str.not_a_writable_directory
push ebp
call fcn.100420b0
add esp, 8
jmp 0x100906ed
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x50], 1
ja 0x10091023
mov ecx, ebp
call fcn.100901a0
push dword [0x10101248]
call fcn.1003ea80
mov eax, dword [esp + 0x30]
add esp, 4
cmp byte [eax], 0
je 0x10091052
push eax
push 0x100f1c04
call fcn.10041480
add esp, 8
mov dword [0x10101248], eax
jmp 0x100906ed
mov dword [0x10101248], 0
jmp 0x100906ed
test ecx, ecx
jne 0x10091077
mov edx, dword [0x10101244]
mov ecx, esi
call fcn.10090310
jmp 0x100906ed
cmp byte [ecx], 0
je 0x100910b0
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x24]
push edx
push 1
push ecx
mov eax, dword [eax]
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x1009109d
cmp dword [esp + 0x24], eax
jne 0x100910b0
push str.not_a_writable_directory
push ebp
call fcn.100420b0
add esp, 8
jmp 0x100906ed
push dword [0x10101244]
call fcn.1003ea80
mov eax, dword [esp + 0x30]
add esp, 4
cmp byte [eax], 0
je 0x100910df
push eax
push 0x100f1c04
call fcn.10041480
add esp, 8
mov dword [0x10101244], eax
jmp 0x100906ed
mov dword [0x10101244], 0
jmp 0x100906ed
test ecx, ecx
jne 0x1009110d
movzx eax, byte [edi + 8]
cdq
sub eax, 1
sbb edx, ecx
mov ecx, esi
push edx
push eax
call fcn.100902a0
add esp, 8
jmp 0x100906ed
mov ebx, dword [esp + 0x10]
cmp byte [ebx + 0x4f], 0
jne 0x1009112a
push str.Safety_level_may_not_be_changed_inside_a_transaction
push ebp
call fcn.100420b0
add esp, 8
jmp 0x100906f1
cmp dword [esp + 0x1c], 1
je 0x100906f1
push 1
xor edx, edx
call fcn.10090020
inc eax
add esp, 4
and eax, 7
mov ecx, 1
mov byte [edi + 9], cl
cmove eax, ecx
mov ecx, ebx
mov byte [edi + 8], al
call fcn.10090360
jmp 0x100906f1
test ecx, ecx
jne 0x100911ba
mov edx, ebx
mov ecx, esi
call fcn.10090200
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
and ecx, dword [ebx + 8]
and eax, dword [ebx + 0xc]
or ecx, eax
je 0x10091198
xor ecx, ecx
mov eax, 1
push ecx
push eax
mov ecx, esi
call fcn.100902a0
add esp, 8
jmp 0x100906ed
xorps xmm0, xmm0
movlpd qword [esp + 0x70], xmm0
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
push ecx
push eax
mov ecx, esi
call fcn.100902a0
add esp, 8
jmp 0x100906ed
mov eax, dword [esp + 0x10]
mov ebp, dword [ebx + 8]
mov edi, dword [ebx + 0xc]
cmp byte [eax + 0x4f], 0
jne 0x100911d0
and ebp, 0xffffbfff
push 0
mov edx, 1
call fcn.10090020
mov ecx, dword [esp + 0x14]
add esp, 4
mov edx, dword [ecx + 0x20]
mov ebx, dword [ecx + 0x24]
test al, al
je 0x100911f9
or edx, ebp
or ebx, edi
mov dword [ecx + 0x20], edx
mov dword [ecx + 0x24], ebx
jmp 0x10091227
mov ecx, ebp
mov eax, edi
not ecx
not eax
and ecx, edx
and eax, ebx
mov edx, dword [esp + 0x10]
mov dword [edx + 0x20], ecx
mov dword [edx + 0x24], eax
cmp ebp, 0x80000
jne 0x10091227
test edi, edi
jne 0x10091227
mov dword [edx + 0x1e0], edi
mov dword [edx + 0x1e4], edi
push 0
push 0
push 0
mov edx, 0x9e
mov ecx, esi
call fcn.1005e520
mov ecx, dword [esp + 0x1c]
add esp, 0xc
call fcn.10090360
jmp 0x100906ed
test ecx, ecx
je 0x100906ed
push dword [esp + 0x38]
mov edx, 2
push ecx
mov ecx, ebp
call fcn.1007e740
mov edi, eax
add esp, 8
mov dword [esp + 0x3c], edi
test edi, edi
je 0x100906ed
mov ecx, dword [edi + 0x48]
mov edx, 0xfff0bdc0
test ecx, ecx
je 0x10091298
mov eax, dword [esp + 0x10]
xor edx, edx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], ecx
je 0x10091298
lea eax, [eax + 0x10]
inc edx
cmp dword [eax], ecx
jne 0x10091290
mov ecx, dword [edi + 8]
mov dword [esp + 0x14], 0
mov dword [esp + 0x48], ecx
test ecx, ecx
je 0x100912c4
nop dword [eax + eax]
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x100912c0
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x100912b0
mov dword [esp + 0x48], ecx
mov ecx, ebp
mov dword [ebp + 0x2c], 7
call fcn.10083f30
mov edx, edi
mov ecx, ebp
call fcn.100812e0
mov eax, dword [esp + 0x3c]
xor ecx, ecx
xor edi, edi
mov ebp, dword [eax + 4]
movzx eax, word [eax + 0x2a]
mov dword [esp + 0x34], ebp
cmp cx, ax
jge 0x100906ed
mov ecx, eax
nop dword [eax]
mov dl, byte [ebp + 0xf]
movzx eax, dl
shr eax, 1
and eax, 1
mov byte [esp + 0x33], dl
mov dword [esp + 0x5c], eax
je 0x10091329
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
jne 0x10091329
inc dword [esp + 0x14]
movzx eax, cx
jmp 0x100913f4
test dl, 1
jne 0x10091332
xor edx, edx
jmp 0x10091363
mov eax, dword [esp + 0x48]
mov edx, 1
test eax, eax
je 0x10091363
movsx ebp, cx
cmp ebp, edx
jl 0x1009135f
mov ecx, dword [eax + 4]
nop dword [eax]
movsx eax, word [ecx]
cmp eax, edi
je 0x1009135f
inc edx
add ecx, 2
cmp edx, ebp
jle 0x10091350
mov ebp, dword [esp + 0x34]
mov eax, dword [ebp + 4]
test eax, eax
je 0x10091373
mov ecx, dword [eax + 8]
mov dword [esp + 0x34], ecx
jmp 0x1009137b
mov dword [esp + 0x34], 0
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
mov dword [esp + 0x28], str.issisii
jne 0x10091393
mov dword [esp + 0x28], str.issisi
test byte [esp + 0x33], 4
mov eax, dword [ebp]
jne 0x100913a4
mov ecx, 0x100eac98
jmp 0x100913bf
mov ecx, eax
lea eax, [ecx + 1]
mov dword [esp + 0x24], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100913b0
sub ecx, dword [esp + 0x24]
inc ecx
add ecx, dword [ebp]
push dword [esp + 0x5c]
xor eax, eax
cmp byte [ebp + 0xc], al
push edx
push dword [esp + 0x3c]
setne al
push eax
mov eax, dword [ebp]
push ecx
push eax
mov eax, edi
sub eax, dword [esp + 0x2c]
push eax
push dword [esp + 0x44]
push 1
push esi
call fcn.1005e770
mov eax, dword [esp + 0x64]
add esp, 0x28
movzx eax, word [eax + 0x2a]
movzx ecx, ax
inc edi
add ebp, 0x10
cwde
mov dword [esp + 0x34], ebp
cmp edi, eax
jl 0x10091300
jmp 0x100906ed
test ecx, ecx
je 0x100906ed
push dword [esp + 0x38]
mov edx, ecx
mov ecx, dword [esp + 0x14]
call fcn.1007ea80
mov ecx, eax
add esp, 4
mov dword [esp + 0x34], ecx
test ecx, ecx
je 0x100906ed
mov edi, dword [ecx + 0x18]
mov edx, 0xfff0bdc0
test edi, edi
je 0x10091459
mov eax, dword [esp + 0x10]
xor edx, edx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], edi
je 0x10091459
lea eax, [eax + 0x10]
inc edx
cmp dword [eax], edi
jne 0x10091451
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
je 0x1009146c
movzx eax, word [ecx + 0x34]
mov edi, 6
jmp 0x10091475
movzx eax, word [ecx + 0x32]
mov edi, 3
mov dword [esp + 0x14], eax
mov dword [ebp + 0x2c], edi
mov eax, dword [ecx + 0xc]
mov ecx, ebp
mov dword [esp + 0x24], eax
call fcn.10083f30
xor edi, edi
cmp word [esp + 0x14], di
je 0x100906ed
nop word [eax + eax]
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 4]
movzx eax, word [eax + edi*2]
movsx edx, ax
test ax, ax
jns 0x100914b7
xor eax, eax
jmp 0x100914c5
mov eax, dword [esp + 0x24]
mov ecx, edx
add ecx, ecx
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*8]
push eax
push edx
push edi
push str.iisX
push 1
push esi
call fcn.1005e770
mov eax, dword [ebx + 8]
add esp, 0x18
or eax, dword [ebx + 0xc]
je 0x1009150e
mov edx, dword [esp + 0x34]
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.1005e770
add esp, 0x18
push 0
push dword [ebp + 0x2c]
mov edx, 0x51
mov ecx, esi
push 1
call fcn.1005e520
mov ecx, dword [esp + 0x20]
inc edi
movzx eax, cx
add esp, 0xc
cmp edi, eax
jl 0x100914a0
jmp 0x100906ed
test ecx, ecx
je 0x100906ed
push dword [esp + 0x38]
mov edx, ecx
mov ecx, dword [esp + 0x14]
call fcn.1007e630
mov edi, eax
add esp, 4
test edi, edi
je 0x100906ed
mov ecx, dword [edi + 0x48]
mov edx, 0xfff0bdc0
test ecx, ecx
je 0x10091588
mov eax, dword [esp + 0x10]
xor edx, edx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], ecx
je 0x10091588
nop dword [eax]
lea eax, [eax + 0x10]
inc edx
cmp dword [eax], ecx
jne 0x10091580
mov ecx, ebp
mov dword [ebp + 0x2c], 5
call fcn.10083f30
mov edi, dword [edi + 8]
xor ebx, ebx
test edi, edi
je 0x100906ed
mov dword [esp + 0x70], 0x100ed550
mov dword [esp + 0x74], 0x100ed554
mov dword [esp + 0x78], 0x100ecf38
nop dword [eax + eax]
xor eax, eax
cmp dword [edi + 0x24], eax
setne al
push eax
mov eax, dword [edi + 0x38]
and eax, 3
push dword [esp + eax*4 + 0x74]
xor eax, eax
cmp byte [edi + 0x36], al
setne al
push eax
push dword [edi]
push ebx
push str.isisi
push 1
push esi
call fcn.1005e770
mov edi, dword [edi + 0x14]
add esp, 0x20
inc ebx
test edi, edi
jne 0x100915c0
jmp 0x100906ed
mov edx, dword [esp + 0x10]
xor edi, edi
mov dword [ebp + 0x2c], 3
cmp dword [edx + 0x14], edi
jle 0x10092bc2
xor ebx, ebx
mov ecx, dword [edx + 0x10]
mov eax, dword [ecx + ebx + 4]
test eax, eax
je 0x10091650
mov eax, dword [eax + 4]
mov eax, dword [eax]
cmp byte [eax + 0xf], 0
je 0x10091631
mov eax, 0x100eac98
jmp 0x10091637
mov eax, dword [eax + 0xa8]
push eax
push dword [ecx + ebx]
push edi
push 0x100ed54c
push 1
push esi
call fcn.1005e770
mov edx, dword [esp + 0x28]
add esp, 0x18
inc edi
add ebx, 0x10
cmp edi, dword [edx + 0x14]
jl 0x10091614
jmp 0x100906ed
mov edx, dword [esp + 0x10]
xor ebx, ebx
mov dword [ebp + 0x2c], 2
mov edi, dword [edx + 0x18c]
test edi, edi
je 0x10092bc2
nop dword [eax]
mov eax, dword [edi + 8]
push dword [eax]
push ebx
push 0x100ed568
push 1
push esi
call fcn.1005e770
mov edi, dword [edi]
add esp, 0x14
inc ebx
test edi, edi
jne 0x10091680
jmp 0x100906ed
test ecx, ecx
je 0x100906ed
push dword [esp + 0x38]
mov edx, ecx
mov ecx, dword [esp + 0x14]
call fcn.1007e630
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
je 0x100906ed
mov edi, dword [eax + 0x10]
test edi, edi
je 0x100906ed
mov ecx, dword [eax + 0x48]
mov edx, 0xfff0bdc0
test ecx, ecx
je 0x100916f8
mov eax, dword [esp + 0x10]
xor edx, edx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], ecx
je 0x100916f8
nop
lea eax, [eax + 0x10]
inc edx
cmp dword [eax], ecx
jne 0x100916f0
mov ecx, ebp
mov dword [esp + 0x14], 0
mov dword [ebp + 0x2c], 8
call fcn.10083f30
xor eax, eax
xor ebx, ebx
cmp dword [edi + 0x14], ebx
jle 0x100917ca
lea ebp, [edi + 0x24]
nop
movzx eax, byte [edi + 0x19]
add eax, 0xfffffff9
cmp eax, 3
ja case.default.0x1009172c
jmp dword [eax*4 + 0x10092c6c]
mov ecx, str.SET_NULL
jmp 0x10091754
mov ecx, str.SET_DEFAULT
jmp 0x10091754
mov ecx, str.CASCADE
jmp 0x10091754
mov ecx, str.RESTRICT
jmp 0x10091754
mov ecx, str.NO_ACTION
movzx eax, byte [edi + 0x1a]
add eax, 0xfffffff9
cmp eax, 3
ja case.default.0x10091760
jmp dword [eax*4 + 0x10092c7c]
mov eax, str.SET_NULL
jmp 0x10091788
mov eax, str.SET_DEFAULT
jmp 0x10091788
mov eax, str.CASCADE
jmp 0x10091788
mov eax, str.RESTRICT
jmp 0x10091788
mov eax, str.NO_ACTION
push str.NONE
push ecx
mov ecx, dword [ebp]
push eax
push dword [ebp + 4]
mov eax, dword [esp + 0x34]
add ecx, ecx
mov eax, dword [eax + 4]
push dword [eax + ecx*8]
push dword [edi + 8]
push ebx
push dword [esp + 0x30]
push str.iissssss
push 1
push esi
call fcn.1005e770
inc ebx
add esp, 0x2c
add ebp, 8
cmp ebx, dword [edi + 0x14]
jl 0x10091720
mov eax, dword [esp + 0x14]
mov edi, dword [edi + 4]
inc eax
mov dword [esp + 0x14], eax
test edi, edi
jne 0x10091710
jmp 0x100906ed
mov eax, dword [ebp + 0x2c]
mov edx, dword [esp + 0x10]
lea ecx, [eax + 1]
add eax, 5
mov dword [esp + 0x44], eax
inc eax
mov dword [ebp + 0x2c], eax
mov eax, dword [edx + 0x10]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + eax + 0xc]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x10092bc2
nop
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x10091833
push dword [esp + 0x38]
xor edx, edx
push ecx
mov ecx, ebp
call fcn.1007e740
mov edx, dword [esp + 0x18]
add esp, 8
mov edi, eax
xor eax, eax
jmp 0x10091838
mov edi, dword [eax + 8]
mov eax, dword [eax]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x18], edi
test edi, edi
je 0x10091c38
cmp dword [edi + 0x10], 0
je 0x10091c38
mov ecx, dword [edi + 0x48]
mov ebx, 0xfff0bdc0
test ecx, ecx
je 0x10091878
mov eax, dword [edx + 0x10]
xor ebx, ebx
add eax, 0xc
cmp dword [eax], ecx
je 0x10091878
nop word [eax + eax]
lea eax, [eax + 0x10]
inc ebx
cmp dword [eax], ecx
jne 0x10091870
mov edx, ebx
mov ecx, ebp
call fcn.10083f30
push dword [edi]
mov edx, ebx
mov ecx, ebp
push 0
push dword [edi + 0x1c]
call fcn.1007e060
mov ecx, dword [esp + 0x50]
add esp, 0xc
movsx eax, word [edi + 0x2a]
inc ecx
add eax, ecx
cmp eax, dword [ebp + 0x2c]
jle 0x100918a7
mov dword [ebp + 0x2c], eax
push 0x6c
push edi
push ebx
xor edx, edx
mov ecx, ebp
call fcn.1008bcc0
mov edi, dword [edi]
add esp, 0xc
mov edx, 0x6e
mov ecx, esi
push 0
push dword [esp + 0x40]
push 0
call fcn.1005e520
add esp, 0xc
mov edx, eax
mov ecx, esi
push 0
push edi
call fcn.1005f170
mov edi, dword [esp + 0x20]
add esp, 8
mov ecx, 1
mov dword [esp + 0x28], ecx
mov eax, dword [edi + 0x10]
mov dword [esp + 0x14], eax
test eax, eax
je 0x100919ca
nop dword [eax + eax]
push dword [esp + 0x38]
mov edx, dword [eax + 8]
mov ecx, dword [esp + 0x14]
call fcn.1007e630
mov edi, eax
add esp, 4
test edi, edi
je 0x100919aa
mov dword [esp + 0x20], 0
mov edx, ebx
push dword [edi]
mov ecx, ebp
push 0
push dword [edi + 0x1c]
call fcn.1007e060
add esp, 0xc
lea eax, [esp + 0x20]
mov edx, edi
mov ecx, ebp
push 0
push eax
push dword [esp + 0x1c]
call fcn.10089cd0
add esp, 0xc
test eax, eax
jne 0x100906ed
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x10091973
mov edx, dword [esp + 0x28]
mov ecx, ebp
push 0x6c
push edi
push ebx
call fcn.1008bcc0
add esp, 0xc
jmp 0x100919aa
push ebx
push dword [eax + 0x2c]
mov edx, 0x6c
mov ecx, esi
push dword [esp + 0x30]
call fcn.1005e520
mov edx, dword [esp + 0x2c]
add esp, 0xc
mov edi, dword [ebp + 8]
mov ecx, ebp
call fcn.10084630
test eax, eax
je 0x100919aa
push 0xfffffffffffffff7
mov edx, eax
mov ecx, edi
call fcn.1005f210
add esp, 4
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
inc ecx
mov dword [esp + 0x28], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x14], eax
test eax, eax
jne 0x10091900
mov edi, dword [esp + 0x18]
cmp dword [ebp + 0x28], ecx
jge 0x100919d2
mov dword [ebp + 0x28], ecx
push 0
push 0
push 0
mov edx, 0x24
mov ecx, esi
call fcn.1005e520
mov ebx, dword [edi + 0x10]
add esp, 0xc
mov dword [esp + 0x58], eax
mov dword [esp + 0x1c], 1
mov dword [esp + 0x48], ebx
test ebx, ebx
je 0x10091c14
push dword [esp + 0x38]
mov edx, dword [ebx + 8]
mov ecx, dword [esp + 0x14]
call fcn.1007e630
xor edx, edx
mov dword [esp + 0x28], eax
xor ecx, ecx
mov dword [esp + 0x24], edx
add esp, 4
mov dword [esp + 0x50], ecx
test eax, eax
je 0x10091a48
lea ecx, [esp + 0x50]
mov edx, eax
push ecx
lea ecx, [esp + 0x24]
push ecx
push ebx
mov ecx, ebp
call fcn.10089cd0
mov edx, dword [esp + 0x2c]
add esp, 0xc
mov ecx, dword [esp + 0x50]
dec dword [ebp + 0x38]
xor edi, edi
mov eax, dword [ebp + 0x38]
mov dword [esp + 0x28], eax
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x34], eax
test eax, eax
jle 0x10091ad1
mov ebx, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
inc ebx
add edx, 0x24
mov dword [esp + 0x14], edx
nop
lea eax, [ecx + edi*4]
test ecx, ecx
jne 0x10091a79
mov eax, edx
mov eax, dword [eax]
mov ecx, esi
mov edx, dword [esp + 0x18]
push ebx
push eax
push 0
call fcn.10076df0
add esp, 0xc
mov edx, 0x32
mov ecx, esi
push 0
push dword [esp + 0x2c]
push ebx
call fcn.1005e520
mov eax, dword [esp + 0x54]
inc edi
mov edx, dword [esp + 0x20]
add esp, 0xc
add edx, 8
inc ebx
mov dword [esp + 0x14], edx
mov ebp, dword [eax + 0x14]
mov dword [esp + 0x34], ebp
cmp edi, ebp
jge 0x10091ac5
mov ecx, dword [esp + 0x50]
jmp 0x10091a70
mov edx, dword [esp + 0x20]
mov ebp, dword [esp + 0x40]
mov ebx, dword [esp + 0x48]
test edx, edx
je 0x10091b41
mov ecx, dword [esp + 0x10]
call fcn.1008bda0
mov ecx, dword [esp + 0x44]
mov edi, eax
push ecx
push dword [ebx + 0x14]
mov edx, 0x5c
lea eax, [ecx + 1]
mov ecx, esi
push eax
call fcn.1005e520
add esp, 0xc
mov edx, eax
mov ecx, esi
push dword [esp + 0x34]
push edi
call fcn.1005f170
push dword [esp + 0x4c]
mov edx, 0x1d
mov ecx, esi
push dword [esp + 0x34]
push dword [esp + 0x2c]
call fcn.1005e520
mov ecx, dword [esi]
add esp, 0x14
cmp byte [ecx + 0x51], 0
jne 0x10091b7f
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x10091b7f
cmp dword [esp + 0x24], 0
je 0x10091b7f
mov eax, dword [esp + 0x44]
mov edx, 0x1e
inc eax
mov ecx, esi
push eax
mov eax, dword [esi + 0x6c]
add eax, 2
push eax
push dword [esp + 0x24]
call fcn.1005e520
add esp, 0xc
mov edx, 0xb
mov ecx, esi
push 0
push dword [esp + 0x2c]
push 0
call fcn.1005e520
add esp, 0xc
mov edi, dword [esp + 0x18]
mov edx, 0x80
mov eax, dword [esp + 0x3c]
mov ecx, esi
inc eax
push 0
test byte [edi + 0x24], 0x20
push eax
mov eax, 0x49
push 0
cmovne edx, eax
call fcn.1005e520
mov edi, dword [esp + 0x28]
add esp, 0xc
lea eax, [edi - 1]
push eax
push dword [ebx + 8]
mov eax, dword [esp + 0x44]
push 0x100ed564
add eax, 2
push eax
push esi
call fcn.1005e770
add esp, 0x14
mov edx, 0x51
mov ecx, esi
push 0
push 4
push dword [esp + 0x44]
call fcn.1005e520
mov edx, dword [esp + 0x34]
add esp, 0xc
mov ecx, esi
call fcn.1005eaf0
mov edx, dword [esp + 0x50]
test edx, edx
je 0x10091bfc
mov ecx, dword [esp + 0x10]
call fcn.1003eb40
mov ebx, dword [ebx + 4]
inc edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x48], ebx
test ebx, ebx
jne 0x10091a02
mov eax, dword [esp + 0x58]
push 0
inc eax
mov edx, 5
push eax
push 0
mov ecx, esi
call fcn.1005e520
mov edx, dword [esp + 0x64]
add esp, 0xc
mov ecx, esi
call fcn.1005ee10
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x100906ed
mov edx, dword [esp + 0x10]
jmp 0x10091810
test ecx, ecx
je 0x100906ed
push 0
mov edx, 1
call fcn.10090020
mov ecx, dword [esp + 0x14]
xor edx, edx
add esp, 4
test al, al
setne dl
call fcn.10089ab0
jmp 0x100906ed
mov eax, dword [esp + 0x54]
or edx, 0xffffffff
mov edi, dword [esp + 0x1c]
movzx eax, byte [eax]
mov al, byte [eax + 0x100e4a00]
mov byte [esp + 0x33], al
mov eax, dword [esp + 0x20]
cmp dword [eax], 0
mov eax, 0x64
mov dword [ebp + 0x2c], 6
cmove edi, edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], edi
test ecx, ecx
je 0x10091cca
lea edx, [esp + 0x14]
call fcn.10042bb0
mov eax, dword [esp + 0x14]
mov ecx, 0x64
test eax, eax
cmovle eax, ecx
mov dword [esp + 0x14], eax
push 0
dec eax
mov edx, 0x46
push 1
push eax
mov ecx, esi
call fcn.1005e520
mov ebx, dword [esp + 0x1c]
xor eax, eax
add esp, 0xc
mov dword [esp + 0x34], eax
cmp dword [ebx + 0x14], eax
jle 0x1009262b
xor ecx, ecx
mov dword [esp + 0x28], ecx
nop dword [eax + eax]
mov dword [esp + 0x18], 0
test edi, edi
js 0x10091d14
cmp eax, edi
jne 0x10092610
mov edx, eax
mov ecx, ebp
call fcn.10083f30
mov eax, dword [esp + 0x10]
xor edx, edx
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 0x10]
mov eax, dword [ecx + eax + 0xc]
mov dword [esp + 0x4c], eax
mov ebx, dword [eax + 0x10]
test ebx, ebx
je 0x10091d7c
mov esi, edx
nop dword [eax + eax]
mov ecx, dword [ebx + 8]
lea eax, [edx + 1]
test byte [ecx + 0x24], 0x20
cmovne eax, edx
xor edi, edi
mov edx, eax
mov eax, dword [ecx + 8]
test eax, eax
je 0x10091d61
mov eax, dword [eax + 0x14]
inc edx
inc edi
test eax, eax
jne 0x10091d58
mov ebx, dword [ebx]
cmp edi, esi
cmovle edi, esi
mov esi, edi
test ebx, ebx
jne 0x10091d40
mov dword [esp + 0x18], esi
mov eax, edi
mov esi, dword [esp + 0x50]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x10]
lea eax, [edx*4 + 4]
push 0
push eax
call fcn.1003ee80
mov edi, eax
add esp, 8
test edi, edi
je 0x10092627
mov ebx, dword [esp + 0x4c]
xor edx, edx
mov ebx, dword [ebx + 0x10]
test ebx, ebx
je 0x10091ddb
nop dword [eax]
mov ecx, dword [ebx + 8]
test byte [ecx + 0x24], 0x20
jne 0x10091dc0
mov eax, dword [ecx + 0x1c]
inc edx
mov dword [edi + edx*4], eax
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x10091dd5
mov eax, dword [ecx + 0x2c]
inc edx
mov dword [edi + edx*4], eax
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x10091dc7
mov ebx, dword [ebx]
test ebx, ebx
jne 0x10091db0
mov eax, dword [esp + 0x18]
mov dword [edi], edx
add eax, 8
mov ecx, dword [ebp + 0x2c]
cmp ecx, eax
push 1
cmovle ecx, eax
mov byte [ebp + 0x13], 0
push edx
mov dword [ebp + 0x2c], ecx
mov edx, 0x93
push 2
mov ecx, esi
mov dword [ebp + 0x1c], 0
call fcn.1005e520
add esp, 0xc
mov edx, eax
mov ecx, esi
push 0xfffffffffffffff1
push edi
call fcn.1005f170
mov eax, dword [esi + 0x6c]
add esp, 8
test eax, eax
jle 0x10091e36
mov ecx, dword [esp + 0x34]
movzx edx, cl
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
push 0
push 0
push 2
mov edx, 0x32
mov ecx, esi
call fcn.1005e520
mov edx, dword [esp + 0x34]
mov ebx, eax
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov ecx, dword [eax + 0x10]
push dword [edx + ecx]
push str._in_database__s__n
push eax
call fcn.10041380
add esp, 0xc
mov edx, 0x6e
mov ecx, esi
mov edi, eax
push 0
push 3
push 0
call fcn.1005e520
add esp, 0xc
mov edx, eax
mov ecx, esi
push 0xfffffffffffffff9
push edi
call fcn.1005f170
push 3
push 3
push 2
mov edx, 0x69
mov ecx, esi
call fcn.1005e520
add esp, 0x14
mov ecx, esi
call fcn.10090450
mov edx, ebx
mov ecx, esi
call fcn.1005ee10
mov eax, dword [esp + 0x4c]
mov edi, dword [eax + 0x10]
mov dword [esp + 0x24], edi
test edi, edi
je 0x10092600
nop dword [eax]
nop dword [eax + eax]
mov edi, dword [edi + 8]
mov dword [esp + 0x20], edi
mov dword [esp + 0x5c], 0
mov dword [esp + 0x3c], 0xffffffff
cmp dword [edi + 0x1c], 1
jl 0x100925ee
test byte [edi + 0x24], 0x20
jne 0x10091f01
mov dword [esp + 0x38], 0
jmp 0x10091f24
mov ecx, dword [edi + 8]
mov dword [esp + 0x38], ecx
test ecx, ecx
je 0x10091f24
nop dword [eax]
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x10091f20
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x10091f10
mov dword [esp + 0x38], ecx
lea eax, [esp + 0x48]
mov edx, edi
push eax
lea eax, [esp + 0x48]
mov ecx, ebp
push eax
push 0
push 1
push 0
push 0x6c
call fcn.1008ea90
push 0
push 7
push 0
mov edx, 0x46
mov ecx, esi
call fcn.1005e520
mov ebx, dword [edi + 8]
add esp, 0x24
test ebx, ebx
je 0x10091f7c
mov ebp, 8
push 0
push ebp
push 0
mov edx, 0x46
mov ecx, esi
call fcn.1005e520
mov ebx, dword [ebx + 0x14]
add esp, 0xc
inc ebp
test ebx, ebx
jne 0x10091f60
push 0
push 0
push dword [esp + 0x4c]
mov edx, 0x24
mov ecx, esi
call fcn.1005e520
add esp, 0xc
mov edx, 0x53
mov ecx, esi
push 0
push 1
push 7
call fcn.1005e520
add esp, 0xc
mov dword [esp + 0x70], eax
cmp byte [esp + 0x33], 0x71
je 0x10091fe7
movsx ecx, word [edi + 0x2a]
mov edx, 0x5a
dec ecx
push 3
push ecx
push dword [esp + 0x4c]
mov ecx, esi
call fcn.1005e520
mov eax, dword [esi + 0x6c]
add esp, 0xc
mov ebx, 0x80
test eax, eax
jle 0x10091fec
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], bx
jmp 0x10091fec
mov ebx, 0x80
xor eax, eax
xor ebp, ebp
cmp ax, word [edi + 0x2a]
jge 0x100920c7
xor ecx, ecx
mov dword [esp + 0x18], ecx
movsx eax, word [edi + 0x28]
cmp ebp, eax
je 0x100920ae
mov eax, dword [edi + 4]
cmp byte [ecx + eax + 0xc], 0
je 0x100920ae
push 3
push ebp
push dword [esp + 0x4c]
mov edx, edi
mov ecx, esi
call fcn.10076df0
mov eax, dword [esi + 0x6c]
add esp, 0xc
test eax, eax
jle 0x1009203f
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], bx
push 0
push 0
push 3
mov edx, 0x33
mov ecx, esi
call fcn.1005e520
mov ecx, dword [edi + 4]
add esp, 0xc
mov ebx, eax
mov eax, dword [esp + 0x18]
push dword [eax + ecx]
push dword [edi]
push str.NULL_value_in__s._s
push dword [esp + 0x1c]
call fcn.10041380
push 0
push 3
push 0
mov edx, 0x6e
mov ecx, esi
mov edi, eax
call fcn.1005e520
add esp, 0x1c
mov edx, eax
mov ecx, esi
push 0xfffffffffffffff9
push edi
call fcn.1005f170
add esp, 8
mov ecx, esi
call fcn.10090450
mov edx, ebx
mov ecx, esi
call fcn.1005ee10
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
movsx eax, word [edi + 0x2a]
inc ebp
add ecx, 0x10
mov ebx, 0x80
mov dword [esp + 0x18], ecx
cmp ebp, eax
jl 0x10092000
mov edx, dword [edi + 0x18]
test edx, edx
je 0x100921e9
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0x20]
and eax, 0x200
or eax, 0
jne 0x100921e9
push eax
mov ecx, ebx
call fcn.10073d70
add esp, 4
mov edx, eax
cmp byte [ebx + 0x51], 0
mov dword [esp + 0x58], edx
jne 0x100921de
mov ebp, dword [esp + 0x40]
mov eax, dword [ebp + 0x38]
dec eax
mov dword [esp + 0x4c], eax
dec eax
mov dword [ebp + 0x38], eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x44]
inc eax
mov dword [ebp + 0x34], eax
mov ebx, dword [edx]
dec ebx
test ebx, ebx
jle 0x10092167
mov edi, dword [esp + 0x40]
lea eax, [ebx + ebx*2]
mov esi, dword [esp + 0x4c]
lea ebp, [eax*8 + 4]
add ebp, edx
nop dword [eax]
push 0
push esi
push dword [ebp]
push edi
call fcn.10078950
dec ebx
lea ebp, [ebp - 0x18]
add esp, 0x10
test ebx, ebx
jg 0x10092140
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x20]
mov ebp, dword [esp + 0x40]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0x18]
push 0x10
push ebx
push dword [edx + 4]
push ebp
call fcn.10078560
mov edx, dword [esp + 0x5c]
mov ecx, esi
call fcn.1005eaf0
mov dword [ebp + 0x34], 0
push dword [edi]
push str.CHECK_constraint_failed_in__s
push dword [esp + 0x28]
call fcn.10041380
add esp, 0x1c
mov edx, 0x6e
mov ecx, esi
mov edi, eax
push 0
push 3
push 0
call fcn.1005e520
add esp, 0xc
mov edx, eax
mov ecx, esi
push 0xfffffffffffffff9
push edi
call fcn.1005f170
add esp, 8
mov ecx, esi
call fcn.10090450
mov edx, ebx
mov ecx, esi
call fcn.1005eaf0
mov edi, dword [esp + 0x20]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0x10]
test edx, edx
je 0x100921e9
mov ecx, ebx
call fcn.10074900
cmp byte [esp + 0x33], 0x71
mov ebp, dword [esp + 0x20]
je 0x100924cc
mov ebx, dword [edi + 8]
mov dword [esp + 0x18], 0
test ebx, ebx
je 0x100924cc
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x38]
mov edi, dword [eax + 0x38]
dec edi
mov dword [eax + 0x38], edi
cmp ecx, ebx
je 0x100924bd
push dword [esp + 0x3c]
lea ecx, [esp + 0x70]
mov edx, ebx
push dword [esp + 0x60]
push ecx
push 0
push 0
push dword [esp + 0x58]
mov ecx, eax
call fcn.10086140
mov ecx, dword [esp + 0x30]
mov edx, 0x53
push 0
add ecx, 8
mov dword [esp + 0x58], eax
push 1
push ecx
mov ecx, esi
mov dword [esp + 0x80], ebx
call fcn.1005e520
movzx eax, word [ebx + 0x34]
add esp, 0x24
mov dword [esp + 0x4c], eax
mov edx, 0x1d
mov eax, dword [esp + 0x48]
mov ecx, esi
add eax, dword [esp + 0x18]
push dword [esp + 0x3c]
push edi
push eax
call fcn.1005e520
mov ecx, dword [esi]
add esp, 0xc
mov dword [esp + 0x58], eax
cmp byte [ecx + 0x51], 0
jne 0x100922aa
mov ecx, dword [esi + 0x68]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x4c]
mov byte [ecx + edx*4 + 1], 0xfd
mov dword [ecx + edx*4 + 0x10], eax
push 0
push 3
push 0
mov edx, 0x6e
mov ecx, esi
call fcn.1005e520
add esp, 0xc
mov edx, eax
mov ecx, esi
push 0
push str.row
call fcn.1005f170
push 3
push 3
push 7
mov edx, 0x69
mov ecx, esi
call fcn.1005e520
add esp, 0x14
mov edx, 0x6e
mov ecx, esi
push 0
push 4
push 0
call fcn.1005e520
add esp, 0xc
mov edx, eax
mov ecx, esi
push 0
push str._missing_from_index
call fcn.1005f170
push 3
push 3
push 4
mov edx, 0x69
mov ecx, esi
call fcn.1005e520
mov edi, dword [ebx]
add esp, 0x14
mov edx, 0x6e
mov ecx, esi
push 0
push 4
push 0
call fcn.1005e520
add esp, 0xc
mov dword [esp + 0x64], eax
mov edx, eax
mov ecx, esi
push 0
push edi
call fcn.1005f170
push 3
push 3
push 4
mov edx, 0x69
mov ecx, esi
call fcn.1005e520
add esp, 0x14
mov ecx, esi
call fcn.10090450
mov edx, dword [esp + 0x58]
mov ecx, esi
mov dword [esp + 0x68], eax
call fcn.1005ee10
cmp byte [ebx + 0x36], 0
je 0x10092496
mov eax, dword [esp + 0x40]
xor edi, edi
dec dword [eax + 0x38]
mov edx, dword [eax + 0x38]
xor eax, eax
mov dword [esp + 0x20], edx
cmp ax, word [ebx + 0x32]
jae 0x100923cf
mov eax, dword [ebx + 4]
movsx ecx, word [eax + edi*2]
test ecx, ecx
js 0x100923a9
mov eax, dword [ebp + 4]
add ecx, ecx
cmp byte [eax + ecx*8 + 0xc], 0
jne 0x100923c6
mov eax, dword [esp + 0x3c]
mov ecx, esi
push 0
push edx
add eax, edi
mov edx, 0x32
push eax
call fcn.1005e520
mov edx, dword [esp + 0x2c]
add esp, 0xc
movzx eax, word [ebx + 0x32]
inc edi
cmp edi, eax
jl 0x10092392
mov eax, dword [esp + 0x48]
mov edx, 5
add eax, dword [esp + 0x18]
mov ecx, esi
push 0
push 0
push eax
call fcn.1005e520
add esp, 0xc
mov edx, 0xb
mov ecx, esi
mov edi, eax
push 0
push dword [esp + 0x24]
push 0
call fcn.1005e520
add esp, 0xc
mov edx, edi
mov ecx, esi
call fcn.1005ee10
movzx eax, word [ebx + 0x32]
mov edx, 0x26
push dword [esp + 0x3c]
mov edi, dword [esp + 0x24]
mov ecx, esi
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x4c]
add eax, dword [esp + 0x1c]
push edi
push eax
call fcn.1005e520
mov ecx, dword [esi]
add esp, 0xc
cmp byte [ecx + 0x51], 0
jne 0x10092451
mov edx, dword [esp + 0x4c]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edx
push 0
push 3
push 0
mov edx, 0x6e
mov ecx, esi
call fcn.1005e520
add esp, 0xc
mov edx, eax
mov ecx, esi
push 0
push str.non_unique_entry_in_index
call fcn.1005f170
push 0
push dword [esp + 0x70]
mov edx, 0xb
mov ecx, esi
push 0
call fcn.1005e520
add esp, 0x14
mov edx, edi
mov ecx, esi
call fcn.1005eaf0
mov edx, dword [esp + 0x68]
mov ecx, esi
call fcn.1005ee10
mov edx, dword [esp + 0x6c]
test edx, edx
je 0x100924b5
mov ecx, dword [esp + 0x40]
mov ecx, dword [ecx + 8]
call fcn.1005eaf0
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x40]
mov ebx, dword [ebx + 0x14]
inc dword [esp + 0x18]
test ebx, ebx
jne 0x10092213
mov edi, dword [esp + 0x70]
mov edx, 5
push 0
push edi
push dword [esp + 0x4c]
mov ecx, esi
call fcn.1005e520
add esp, 0xc
lea edx, [edi - 1]
mov ecx, esi
call fcn.1005ee10
cmp byte [esp + 0x33], 0x71
je 0x100925ea
push 0
push 2
push 0
mov edx, 0x6e
mov ecx, esi
call fcn.1005e520
add esp, 0xc
mov edx, eax
mov ecx, esi
push 0
push str.wrong__of_entries_in_index
call fcn.1005f170
mov ebx, dword [ebp + 8]
xor edi, edi
add esp, 8
mov dword [esp + 0x5c], edi
test ebx, ebx
je 0x100925ea
mov eax, dword [esp + 0x38]
cmp eax, ebx
je 0x100925da
mov eax, dword [esp + 0x48]
mov edx, 0x5d
push 0
add eax, edi
mov ecx, esi
push 3
push eax
call fcn.1005e520
add esp, 0xc
lea eax, [edi + 8]
mov edx, 0x35
mov ecx, esi
push 3
push 0
push eax
call fcn.1005e520
mov ecx, dword [esi + 0x6c]
add esp, 0xc
mov ebp, eax
test ecx, ecx
jle 0x1009258a
lea edx, [ecx + ecx*4]
mov eax, 0x90
mov ecx, dword [esi + 0x68]
mov word [ecx + edx*4 - 0x12], ax
mov edi, dword [ebx]
mov edx, 0x6e
push 0
push 4
push 0
mov ecx, esi
call fcn.1005e520
add esp, 0xc
mov edx, eax
mov ecx, esi
push 0
push edi
call fcn.1005f170
push 3
push 2
push 4
mov edx, 0x69
mov ecx, esi
call fcn.1005e520
add esp, 0x14
mov ecx, esi
call fcn.10090450
mov edx, ebp
mov ecx, esi
call fcn.1005ee10
mov edi, dword [esp + 0x5c]
mov eax, dword [esp + 0x38]
mov ebx, dword [ebx + 0x14]
inc edi
mov dword [esp + 0x5c], edi
test ebx, ebx
jne 0x10092538
mov ebp, dword [esp + 0x40]
mov edi, dword [esp + 0x24]
mov edi, dword [edi]
mov dword [esp + 0x24], edi
test edi, edi
jne 0x10091ed0
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
inc eax
add ecx, 0x10
mov dword [esp + 0x34], eax
mov dword [esp + 0x28], ecx
cmp eax, dword [ebx + 0x14]
jl 0x10091d00
jmp 0x1009262b
mov ebx, dword [esp + 0x10]
push 0
push 0x100e411c
mov edx, 7
mov ecx, esi
call fcn.1005ec60
mov edi, eax
add esp, 8
test edi, edi
je 0x1009266f
mov edx, 1
mov ecx, 0xb
sub edx, dword [esp + 0x14]
mov dword [edi + 8], edx
mov byte [edi + 0x29], 0xff
mov dword [edi + 0x38], 0x100ed5e8
mov byte [edi + 0x65], 0xff
call fcn.100b83e0
mov dword [edi + 0x74], eax
mov eax, dword [esi]
mov ecx, 0x10101774
mov edx, dword [esi + 0x6c]
cmp byte [eax + 0x51], 0
jne 0x10092682
mov ecx, dword [esi + 0x68]
lea eax, [edx - 2]
mov dword [ecx + 0xc], eax
jmp 0x100906f1
test ecx, ecx
jne 0x100926ba
mov ecx, ebp
call fcn.10093c20
test eax, eax
jne 0x100906ed
mov eax, dword [ebp]
mov ecx, esi
movzx edx, byte [eax + 0x4e]
mov edx, dword [edx*8 + 0x100e3528]
call fcn.10090310
jmp 0x100906ed
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x4e]
and al, 5
cmp al, 1
je 0x100906ed
mov eax, dword [str.UTF8]
mov esi, 0x100e3528
test eax, eax
je 0x10092728
nop
mov edx, eax
call fcn.10042210
test eax, eax
je 0x100926fb
mov eax, dword [esi + 8]
add esi, 8
mov ecx, dword [esp + 0x2c]
test eax, eax
jne 0x100926e0
jmp 0x10092724
mov cl, byte [esi + 4]
mov edx, 2
test cl, cl
movzx eax, cl
cmovne edx, eax
mov eax, dword [esp + 0x10]
mov byte [eax + 0x4e], dl
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
mov byte [eax + 0x4d], dl
cmp dword [esi], 0
jne 0x100906ed
mov ecx, dword [esp + 0x2c]
push ecx
push str.unsupported_encoding:__s
push ebp
call fcn.100420b0
add esp, 0xc
jmp 0x100906ed
mov ebp, dword [esp + 0x1c]
mov ecx, esi
mov edi, dword [ebx + 8]
mov edx, ebp
call fcn.1005f660
cmp dword [esp + 0x2c], 0
je 0x1009279b
test byte [ebx + 5], 8
jne 0x1009279b
push 0
push 0x100e4114
mov edx, 2
mov ecx, esi
call fcn.1005ec60
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0x2c]
mov esi, eax
mov dword [esp + 0x2c], 0
add esp, 8
mov dword [esi + 4], ebp
mov dword [esi + 0x18], ebp
mov dword [esi + 0x1c], edi
call fcn.10042bb0
mov ecx, dword [esp + 0x24]
mov dword [esi + 0x20], ecx
jmp 0x100906ed
push 0
push 0x100e294c
mov edx, 3
mov ecx, esi
call fcn.1005ec60
add esp, 8
mov dword [eax + 4], ebp
mov dword [eax + 0x18], ebp
mov dword [eax + 0x20], edi
and dword [esi + 0x98], 0xffffffbf
jmp 0x100906ed
xor edi, edi
mov dword [ebp + 0x2c], 1
nop
cmp edi, 5
ja 0x100927de
mov ebx, dword [edi*4 + 0x100e6424]
jmp 0x100927e0
xor ebx, ebx
inc edi
test ebx, ebx
je 0x100927ba
push 0
push 1
push 0
mov edx, 0x6e
mov ecx, esi
call fcn.1005e520
add esp, 0xc
mov edx, eax
mov ecx, esi
push 0
push ebx
call fcn.1005f170
push 0
push 1
push 1
mov edx, 0x51
mov ecx, esi
call fcn.1005e520
add esp, 0x14
jmp 0x100927d0
mov eax, dword [esp + 0x20]
mov ebx, 0xa
cmp dword [eax], 0
cmovne ebx, dword [esp + 0x1c]
xor edi, edi
test ecx, ecx
je 0x10092876
mov edx, str.full
call fcn.10042210
test eax, eax
jne 0x10092847
lea edi, [eax + 1]
jmp 0x10092876
mov ecx, dword [esp + 0x2c]
mov edx, str.restart
call fcn.10042210
test eax, eax
jne 0x1009285e
lea edi, [eax + 2]
jmp 0x10092876
mov ecx, dword [esp + 0x2c]
mov edx, str.truncate
call fcn.10042210
test eax, eax
mov ecx, 3
cmove edi, ecx
push 1
push edi
push ebx
mov edx, 6
mov dword [ebp + 0x2c], 3
mov ecx, esi
call fcn.1005e520
add esp, 0xc
push 0
push 3
jmp 0x10090b9e
test ecx, ecx
je 0x100928ce
lea edx, [esp + 0x24]
mov dword [esp + 0x24], 0
call fcn.10042bb0
mov eax, dword [esp + 0x24]
test eax, eax
jle 0x100928be
push eax
push 0x100b8db0
jmp 0x100928c2
push 0
push 0
push dword [esp + 0x18]
call fcn.100b8f20
add esp, 0xc
mov eax, dword [esp + 0x10]
cmp dword [eax + 0xf4], 0x100b8db0
jne 0x10090882
mov eax, dword [eax + 0xf8]
mov ecx, esi
cdq
push edx
push eax
call fcn.100902a0
add esp, 8
jmp 0x100906ed
push dword [esp + 0x10]
call fcn.100b7780
jmp 0x100906ea
test ecx, ecx
je 0x10092930
lea edx, [esp + 0x24]
mov dword [esp + 0x24], 0
call fcn.10042bb0
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x34], ecx
test cl, 2
je 0x100906ed
jmp 0x10092938
mov dword [esp + 0x34], 0xfffe
mov eax, dword [ebp + 0x28]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
inc eax
cmp dword [esp + 0x38], 0
mov dword [ebp + 0x28], eax
je 0x10092954
mov dword [esp + 0x14], edi
jmp 0x10092968
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
dec eax
mov dword [esp + 0x14], eax
cmp edi, eax
jg 0x10092ad5
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
cmp edi, 1
je 0x10092ac1
mov edx, edi
mov ecx, ebp
call fcn.10083f30
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov eax, dword [edx + 0x10]
mov eax, dword [eax + ecx + 0xc]
mov ebx, dword [eax + 0x10]
test ebx, ebx
je 0x10092ab9
nop dword [eax]
mov edi, dword [ebx + 8]
test dword [edi + 0x24], 0x100
je 0x10092aab
mov ax, word [edi + 0x2c]
add ax, 0x2e
movzx ecx, ax
mov eax, dword [edi + 8]
mov dword [esp + 0x70], ecx
test eax, eax
je 0x100929d3
test byte [eax + 0x38], 0x80
je 0x10092a1a
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x100929c6
test cx, cx
je 0x10092a1a
mov edx, dword [esp + 0x24]
mov ecx, ebp
push 0x6c
push edi
push dword [esp + 0x24]
call fcn.1008bcc0
mov eax, dword [esp + 0x7c]
add esp, 0xc
mov ecx, dword [esp + 0x34]
mov edx, 0x21
cwde
and ecx, 1
add ecx, 2
push eax
mov eax, dword [esi + 0x6c]
add eax, ecx
mov ecx, esi
push eax
push dword [esp + 0x2c]
call fcn.1005e520
mov edx, dword [esp + 0x1c]
add esp, 0xc
push dword [edi]
mov eax, dword [edx + 0x10]
mov ecx, dword [esp + 0x1c]
push dword [eax + ecx]
push str.ANALYZE___w_.__w_
push edx
call fcn.10041380
add esp, 0x10
mov edi, eax
test byte [esp + 0x34], 1
mov dword [esp + 0x70], edi
je 0x10092a83
mov ecx, ebp
call fcn.100799b0
mov edi, eax
mov edx, 0x6e
push 0
push edi
push 0
mov ecx, esi
call fcn.1005e520
add esp, 0xc
mov edx, eax
mov ecx, esi
push 0xfffffffffffffff9
push dword [esp + 0x74]
call fcn.1005f170
push 0
push 1
push edi
mov edx, 0x51
mov ecx, esi
call fcn.1005e520
add esp, 0x14
jmp 0x10092aa7
push 0
push 0
push 0
mov edx, 0x8c
mov ecx, esi
call fcn.1005e520
add esp, 0xc
mov edx, eax
mov ecx, esi
push 0xfffffffffffffff9
push edi
call fcn.1005f170
add esp, 8
mov edx, dword [esp + 0x10]
mov ebx, dword [ebx]
test ebx, ebx
jne 0x100929a0
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
inc edi
add eax, 0x10
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], eax
cmp edi, ecx
jle 0x10092970
push 0
push 0
push 0
mov edx, 0x9e
mov ecx, esi
call fcn.1005e520
add esp, 0xc
jmp 0x100906ed
test ecx, ecx
je 0x10092b10
lea edx, [esp + 0x70]
call fcn.10042a90
test eax, eax
jne 0x10092b10
push dword [esp + 0x74]
push dword [esp + 0x74]
call fcn.1003e620
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.1003e620
push edx
push eax
mov ecx, esi
call fcn.100902a0
add esp, 0x10
jmp 0x100906ed
test ecx, ecx
je 0x10092b5f
lea edx, [esp + 0x70]
call fcn.10042a90
test eax, eax
jne 0x10092b5f
cmp dword [esp + 0x74], eax
jl 0x10092b5f
mov eax, dword [esp + 0x70]
jg 0x10092b4b
test eax, eax
jb 0x10092b5f
and eax, 0x7fffffff
push eax
push 0xb
push dword [esp + 0x18]
call fcn.100b9800
add esp, 0xc
push 0xffffffffffffffff
push 0xb
push dword [esp + 0x18]
call fcn.100b9800
add esp, 0xc
cdq
mov ecx, esi
push edx
push eax
call fcn.100902a0
add esp, 8
jmp 0x100906ed
test ecx, ecx
je 0x10092ba6
lea edx, [esp + 0x24]
mov dword [esp + 0x24], 0
call fcn.10042bb0
push dword [esp + 0x24]
push dword [esp + 0x14]
call fcn.100b8580
add esp, 8
mov eax, dword [esp + 0x10]
mov ecx, esi
mov eax, dword [eax + 0x1c8]
cdq
push edx
push eax
call fcn.100902a0
add esp, 8
jmp 0x100906ed
mov ebx, edx
jmp 0x100906f1