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

Disassembly:
sub esp, 0x70
mov eax, dword [esp + 0x74]
push ebp
push esi
mov esi, dword [eax + 8]
mov ebp, dword [eax]
mov dword [esp + 8], ebp
mov dword [esp + 0x1c], esi
test esi, esi
jne 0x692524
cmp dword [eax + 0x74], esi
jne 0x692509
test byte [ebp + 0x50], 8
jne 0x692509
mov byte [eax + 0x17], 1
push eax
call fcn.006a14e0
mov esi, eax
add esp, 4
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x1c], esi
test esi, esi
je 0x694c71
or dword [esi + 0xa0], 0x20
lea ecx, [esp + 0x50]
push ebx
mov ebx, dword [esp + 0x88]
push ecx
push ebx
push dword [esp + 0x8c]
mov dword [eax + 0x2c], 2
push eax
call fcn.0069ce80
add esp, 0x10
mov dword [esp + 0x14], eax
test eax, eax
js 0x694c70
mov ebp, dword [ebp + 0x10]
push edi
mov edi, eax
shl edi, 4
add ebp, edi
mov dword [esp + 0x44], edi
cmp eax, 1
jne 0x692587
push dword [esp + 0x84]
call fcn.0068edd0
add esp, 4
test eax, eax
jne 0x694c6f
push dword [esp + 0x58]
push dword [esp + 0x14]
call fcn.0068e770
add esp, 8
mov dword [esp + 0x34], eax
test eax, eax
je 0x694c6f
cmp dword [esp + 0x94], 0
push dword [esp + 0x90]
je 0x6925c7
push 0x6f7574
push dword [esp + 0x18]
call fcn.0068de00
add esp, 0xc
jmp 0x6925d3
push dword [esp + 0x14]
call fcn.0068e770
add esp, 8
cmp dword [ebx + 4], 0
mov dword [esp + 0x14], eax
jbe 0x6925e2
mov ebx, dword [ebp]
jmp 0x6925e4
xor ebx, ebx
push ebx
push eax
push dword [esp + 0x3c]
mov dword [esp + 0x28], ebx
push 0x13
push dword [esp + 0x94]
call fcn.0066e0d0
add esp, 0x14
test eax, eax
jne 0x694c49
mov dword [esp + 0x70], eax
lea ecx, [esp + 0x70]
mov eax, dword [esp + 0x34]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x14]
push ecx
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x14]
push 0xe
push ebx
mov dword [esp + 0x88], 0
push eax
mov dword [eax + 0x1c4], 0
call fcn.00622710
mov ebx, eax
add esp, 0x10
test ebx, ebx
jne 0x692682
push 1
push esi
call fcn.006abf10
push 0xffffffffffffffff
push dword [esp + 0x7c]
push ebx
push ebx
push esi
call fcn.006abec0
push dword [esp + 0x8c]
push esi
call fcn.00669040
push dword [esp + 0x94]
call fcn.0061f7e0
add esp, 0x28
jmp 0x694c49
cmp ebx, 0xc
je 0x6926bf
mov eax, dword [esp + 0x70]
test eax, eax
je 0x6926ad
push eax
push 0x6e57f8
push dword [esp + 0x8c]
call fcn.006798b0
push dword [esp + 0x7c]
call fcn.0061f7e0
add esp, 0x10
mov eax, dword [esp + 0x84]
inc dword [eax + 0x24]
mov dword [eax + 0xc], ebx
jmp 0x694c49
push dword [esp + 0x34]
call fcn.00663a20
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x694c49
test byte [ebx + 5], 1
je 0x6926f2
push dword [esp + 0x84]
call fcn.006955c0
add esp, 4
test eax, eax
jne 0x694c49
mov al, byte [ebx + 5]
test al, 2
jne 0x69270f
test al, 4
je 0x692705
mov edx, dword [esp + 0x14]
test edx, edx
jne 0x692713
push ebx
push esi
call fcn.0066b340
add esp, 8
mov edx, dword [esp + 0x14]
movzx eax, byte [ebx + 4]
dec eax
cmp eax, 0x2a
ja case.0x692721.5
jmp dword [eax*4 + 0x694c78]
mov ebx, dword [esp + 0x18]
push ebx
push esi
call fcn.006acad0
mov eax, dword [esp + 0x1c]
add esp, 8
test eax, eax
jne 0x69276d
mov eax, dword [esp + 0x84]
push 0
push 0x6ed38c
push 9
add dword [eax + 0x2c], 2
push esi
call fcn.006a0c80
add esp, 0x10
mov dword [eax + 4], ebx
mov dword [eax + 0x18], ebx
mov dword [eax + 0x7c], 0xfffff830
jmp 0x694c49
push eax
call fcn.0066de40
push eax
call fcn.0066b8b0
push ebx
push 0
push dword [esp + 0x94]
mov edi, eax
call fcn.0066eb90
push edi
push 3
push ebx
push 0x63
push esi
call fcn.006a0ac0
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x50], edi
mov eax, dword [ebp + 0xc]
push dword [eax + 0x50]
push dword [ebp + 4]
call fcn.006725a0
add esp, 0x30
jmp 0x694c49
mov edi, dword [ebp + 4]
test edx, edx
jne 0x6927cc
test edi, edi
je 0x692c8a
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x24]
jmp 0x694c3d
push edx
call fcn.0066de40
mov ecx, dword [esp + 0x14]
push 0
push 0
push eax
push edi
mov dword [ecx + 0x64], eax
call fcn.00672650
add esp, 0x14
cmp eax, 7
jne 0x694c49
push dword [esp + 0x10]
call fcn.0068e9a0
add esp, 4
jmp 0x694c49
mov eax, dword [ebp + 4]
or ebp, 0xffffffff
mov dword [esp + 0x58], eax
test edx, edx
je 0x692838
push str.fast
push edx
call fcn.006291e0
add esp, 8
test eax, eax
jne 0x692826
lea ebp, [eax + 2]
jmp 0x692838
mov eax, dword [esp + 0x14]
push 0
push eax
call fcn.006891b0
add esp, 8
movzx ebp, al
mov eax, dword [esp + 0x8c]
cmp dword [eax + 4], 0
jne 0x692875
test ebp, ebp
js 0x692875
mov eax, dword [esp + 0x10]
xor ebx, ebx
cmp dword [eax + 0x14], ebx
jle 0x692875
xor edi, edi
mov esi, eax
mov eax, dword [esi + 0x10]
push ebp
push dword [edi + eax + 4]
call fcn.006724c0
inc ebx
lea edi, [edi + 0x10]
add esp, 8
cmp ebx, dword [esi + 0x14]
jl 0x692858
mov esi, dword [esp + 0x24]
push ebp
push dword [esp + 0x5c]
call fcn.006724c0
cdq
push edx
push eax
push esi
call fcn.00668fb0
add esp, 0x14
jmp 0x694c49
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x84]
push ebp
push ebx
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
call fcn.00674760
mov eax, dword [esp + 0x3c]
add esp, 8
inc dword [ebx + 0x2c]
mov edi, dword [ebx + 0x2c]
movzx eax, byte [eax]
cmp byte [eax + 0x6ecbf8], 0x70
jne 0x6928ee
push edi
push ebp
push 0xb0
push esi
call fcn.006a0a60
add esp, 0x10
push 1
push edi
push 0x53
push esi
call fcn.006a0a60
add esp, 0x10
jmp 0x694c49
mov eax, dword [esp + 0x14]
test eax, eax
je 0x692934
lea ecx, [esp + 0x64]
push ecx
push eax
call fcn.006778f0
add esp, 8
test eax, eax
jne 0x692934
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x64]
test ecx, ecx
jg 0x692925
jl 0x692934
test eax, eax
jb 0x692934
test ecx, ecx
jl 0x69293a
jg 0x692925
cmp eax, 0xfffffffe
jbe 0x69293a
mov eax, 0xfffffffe
mov dword [esp + 0x68], 0
jmp 0x69293a
xor eax, eax
mov dword [esp + 0x68], eax
push eax
push edi
push ebp
push 0xb1
push esi
call fcn.006a0ac0
add esp, 0x14
push 1
push edi
push 0x53
push esi
call fcn.006a0a60
add esp, 0x10
jmp 0x694c49
push edx
mov ebx, str.normal
call fcn.00654500
mov ecx, eax
add esp, 4
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x4c], ecx
mov eax, dword [eax + 4]
test eax, eax
jne 0x6929da
cmp ecx, 0xffffffff
jne 0x69298f
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 0x59]
jmp 0x6929eb
test eax, eax
jne 0x6929da
mov eax, dword [esp + 0x10]
mov ebx, 2
cmp dword [eax + 0x14], ebx
jle 0x6929d2
mov edi, 0x20
mov esi, eax
mov eax, dword [esi + 0x10]
push ecx
mov eax, dword [edi + eax + 4]
mov eax, dword [eax + 4]
push dword [eax]
call fcn.0068fd80
mov ecx, dword [esp + 0x54]
lea edi, [edi + 0x10]
inc ebx
add esp, 8
cmp ebx, dword [esi + 0x14]
jl 0x6929a8
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
mov byte [eax + 0x59], cl
mov ebx, str.normal
mov eax, dword [ebp + 4]
push ecx
mov eax, dword [eax + 4]
push dword [eax]
call fcn.0068fd80
add esp, 8
cmp eax, 1
jne 0x6929f5
mov ebx, str.exclusive
push ebx
push esi
call fcn.00669040
add esp, 8
jmp 0x694c49
test edx, edx
je 0x692a50
push edx
call fcn.0069c1f0
add esp, 4
mov edi, eax
xor ebx, ebx
cmp ebx, 6
je 0x692a50
mov ecx, dword [ebx*4 + 0x6ed15c]
test ecx, ecx
je 0x692a50
push edi
push ecx
push dword [esp + 0x1c]
call fcn.00629260
add esp, 0xc
test eax, eax
je 0x692a3a
inc ebx
jmp 0x692a15
cmp ebx, 2
jne 0x692a6f
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
and eax, 0x10000000
or eax, 0
je 0x692a74
or ebx, 0xffffffff
mov ecx, dword [esp + 0x8c]
cmp dword [ecx + 4], 0
jne 0x692a7b
xor edx, edx
mov dword [ecx + 4], 1
mov dword [esp + 0x18], edx
jmp 0x692a7f
cmp ebx, 0xffffffff
je 0x692a53
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x14]
dec edi
js 0x692acf
mov ebp, edi
shl ebp, 4
mov edi, edi
mov eax, dword [eax + 0x10]
cmp dword [eax + ebp + 4], 0
je 0x692aba
cmp edi, edx
je 0x692aa4
cmp dword [ecx + 4], 0
jne 0x692aba
push edi
push esi
call fcn.006acad0
push ebx
push 1
push edi
push 7
push esi
call fcn.006a0ac0
add esp, 0x1c
mov ecx, dword [esp + 0x8c]
sub ebp, 0x10
dec edi
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
jns 0x692a90
push 1
push 1
push 0x53
push esi
call fcn.006a0a60
add esp, 0x10
jmp 0x694c49
mov eax, dword [ebp + 4]
or ecx, 0xffffffff
mov dword [esp + 0x68], ecx
mov eax, dword [eax + 4]
mov edi, dword [eax]
mov eax, 0xfffffffe
mov dword [esp + 0x64], eax
test edx, edx
je 0x692b2c
lea eax, [esp + 0x64]
push eax
push edx
call fcn.006778f0
mov ecx, dword [esp + 0x70]
add esp, 8
cmp ecx, 0xffffffff
jg 0x692b28
jl 0x692b21
mov eax, dword [esp + 0x64]
cmp eax, 0xffffffff
jae 0x692b2c
or eax, 0xffffffff
or ecx, eax
jmp 0x692b2c
mov eax, dword [esp + 0x64]
push ecx
push eax
push edi
call fcn.0068fcf0
push edx
push eax
push esi
call fcn.00668fb0
add esp, 0x18
jmp 0x694c49
mov edi, dword [ebp + 4]
test edx, edx
jne 0x692b62
push edi
call fcn.00670590
cdq
push edx
push eax
push esi
call fcn.00668fb0
add esp, 0x10
jmp 0x694c49
push edx
call fcn.006542f0
mov ebx, eax
mov eax, dword [esp + 0x14]
push ebx
push edi
mov byte [eax + 0x5a], bl
call fcn.00672530
add esp, 0xc
test eax, eax
jne 0x694c49
cmp ebx, 1
je 0x692b91
cmp ebx, 2
jne 0x694c49
mov edi, dword [esi + 0x74]
push 0
push 0x6ed45c
push 5
push esi
call fcn.006a0c80
mov edx, dword [esp + 0x28]
lea ecx, [edi + 4]
push edx
push esi
mov dword [eax + 0x30], ecx
lea ecx, [ebx - 1]
mov dword [eax + 4], edx
mov dword [eax + 0x18], edx
mov dword [eax + 0x54], edx
mov dword [eax + 0x5c], ecx
call fcn.006acad0
add esp, 0x18
jmp 0x694c49
test edx, edx
je 0x692be9
lea eax, [esp + 0x58]
push eax
push edx
call fcn.006892c0
add esp, 8
test eax, eax
je 0x692be9
mov edi, dword [esp + 0x58]
test edi, edi
jg 0x692bee
mov edi, closesocket
mov ebx, dword [esp + 0x18]
push ebx
push 0
push dword [esp + 0x8c]
call fcn.0066eb90
push 1
push edi
push 0x47
push esi
call fcn.006a0a60
push ebx
push 0x3d
push esi
call fcn.006a0a00
push 1
push 0x53
push esi
mov edi, eax
call fcn.006a0a00
push 0xffffffffffffffff
push 1
push 0x55
push esi
call fcn.006a0a60
add esp, 0x44
push edi
push 1
push 0x31
push esi
call fcn.006a0a60
push edi
push esi
call fcn.006a94e0
add esp, 0x18
jmp 0x694c49
test edx, edx
jne 0x692c59
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x50]
jmp 0x694c3d
push edx
call fcn.0066de40
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x50], eax
mov eax, dword [ebp + 0xc]
push dword [eax + 0x50]
push dword [ebp + 4]
call fcn.006725a0
jmp 0x694c46
test edx, edx
jne 0x692ca3
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
and eax, 0x20
or eax, edx
jne 0x692c91
xor eax, eax
jmp 0x694c3d
push 0
push dword [ebp + 4]
call fcn.00672780
add esp, 8
jmp 0x694c3d
lea eax, [esp + 0x4c]
mov dword [esp + 0x4c], 1
push eax
push edx
call fcn.006892c0
mov esi, dword [esp + 0x54]
add esp, 8
test eax, eax
je 0x692ccd
push esi
push dword [ebp + 4]
call fcn.00672780
add esp, 8
test esi, esi
setne al
movzx eax, al
push eax
push dword [esp + 0x18]
call fcn.006891b0
mov ecx, dword [esp + 0x18]
add esp, 8
test al, al
mov eax, dword [ecx + 0x24]
mov dword [ecx + 0x24], eax
je 0x692d02
or dword [ecx + 0x20], 0x20
push ecx
call fcn.0066b0e0
add esp, 4
jmp 0x694c49
and dword [ecx + 0x20], 0xffffffdf
push ecx
call fcn.0066b0e0
add esp, 4
jmp 0x694c49
test edx, edx
je 0x692dbb
lea eax, [esp + 0x64]
push eax
push edx
call fcn.006778f0
mov ebp, dword [esp + 0x70]
add esp, 8
test ebp, ebp
jg 0x692d52
jl 0x692d3c
mov edx, dword [esp + 0x64]
test edx, edx
jae 0x692d56
mov edx, dword [0x9a57c8]
mov ebp, dword [0x9a57cc]
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], ebp
jmp 0x692d56
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x10]
cmp dword [ecx + 4], 0
jne 0x692d6d
mov dword [ebx + 0x30], edx
mov dword [ebx + 0x34], ebp
mov edi, dword [ebx + 0x14]
dec edi
js 0x692dbb
mov esi, dword [esp + 0x10]
mov ebx, edi
shl ebx, 4
lea esp, [esp]
mov eax, dword [esi + 0x10]
mov eax, dword [ebx + eax + 4]
test eax, eax
je 0x692db1
cmp edi, dword [esp + 0x18]
je 0x692d97
cmp dword [ecx + 4], 0
jne 0x692db1
push ebp
push edx
push eax
call fcn.006725f0
mov ebp, dword [esp + 0x74]
add esp, 0xc
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x8c]
sub ebx, 0x10
dec edi
jns 0x692d80
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x1c]
lea eax, [esp + 0x64]
push eax
push 0x12
push ebx
push dword [esp + 0x1c]
mov dword [esp + 0x74], 0xffffffff
mov dword [esp + 0x78], 0xffffffff
call fcn.00622710
add esp, 0x10
test eax, eax
jne 0x692df4
push dword [esp + 0x68]
push dword [esp + 0x68]
jmp 0x694c40
cmp eax, 0xc
je 0x694c49
mov ecx, dword [esp + 0x84]
inc dword [ecx + 0x24]
mov dword [ecx + 0xc], eax
jmp 0x694c49
test edx, edx
jne 0x692e20
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 0x56]
jmp 0x694c3d
push edx
push dword [esp + 0x88]
call fcn.00634c50
add esp, 8
jmp 0x694c49
test edx, edx
jne 0x692e4d
push dword [0x9b3a50]
push esi
call fcn.00669040
add esp, 8
jmp 0x694c49
cmp byte [edx], 0
je 0x692e8c
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x58]
push ecx
push 1
push edx
mov eax, dword [eax]
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x692e73
cmp dword [esp + 0x58], eax
jne 0x692e8c
push str.not_a_writable_directory
push dword [esp + 0x88]
call fcn.006798b0
add esp, 8
jmp 0x694c49
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x56], 1
ja 0x692ea5
push dword [esp + 0x84]
call fcn.006567c0
add esp, 4
push dword [0x9b3a50]
call fcn.0061f7e0
mov eax, dword [esp + 0x18]
add esp, 4
cmp byte [eax], 0
je 0x692ed4
push eax
push 0x6e57f8
call fcn.0061f1d0
add esp, 8
mov dword [0x9b3a50], eax
jmp 0x694c49
mov dword [0x9b3a50], 0
jmp 0x694c49
test edx, edx
jne 0x692efb
push dword [0x9b3a54]
push esi
call fcn.00669040
add esp, 8
jmp 0x694c49
cmp byte [edx], 0
je 0x692f29
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x58]
push ecx
push 1
push edx
mov eax, dword [eax]
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x692e73
cmp dword [esp + 0x58], eax
je 0x692e73
push dword [0x9b3a54]
call fcn.0061f7e0
mov eax, dword [esp + 0x18]
add esp, 4
cmp byte [eax], 0
je 0x692f58
push eax
push 0x6e57f8
call fcn.0061f1d0
add esp, 8
mov dword [0x9b3a54], eax
jmp 0x694c49
mov dword [0x9b3a54], 0
jmp 0x694c49
test edx, edx
jne 0x692f75
movzx eax, byte [ebp + 8]
dec eax
jmp 0x694c3d
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x55], 0
jne 0x692f98
push str.Safety_level_may_not_be_changed_inside_a_transaction
push dword [esp + 0x88]
call fcn.006798b0
add esp, 8
jmp 0x694c49
cmp dword [esp + 0x18], 1
je 0x694c4d
push 1
push 0
push edx
call fcn.006553c0
inc eax
add esp, 0xc
and eax, 7
jne 0x692fbb
mov eax, 1
push dword [esp + 0x10]
mov byte [ebp + 8], al
mov byte [ebp + 9], 1
call fcn.0066b0e0
add esp, 4
jmp 0x694c49
test edx, edx
jne 0x693003
push ebx
push esi
call fcn.0066b340
mov edx, dword [esp + 0x18]
add esp, 8
mov ecx, dword [ebx + 8]
mov eax, dword [ebx + 0xc]
and ecx, dword [edx + 0x20]
and eax, dword [edx + 0x24]
or ecx, eax
je 0x692c8a
mov eax, 1
jmp 0x694c3d
mov eax, dword [esp + 0x10]
mov edi, dword [ebx + 8]
mov ebx, dword [ebx + 0xc]
cmp byte [eax + 0x55], 0
jne 0x693019
and edi, 0xffffbfff
push 0
push edx
call fcn.006891b0
add esp, 8
test al, al
je 0x693034
mov eax, dword [esp + 0x10]
or dword [eax + 0x20], edi
or dword [eax + 0x24], ebx
jmp 0x693087
mov edx, dword [esp + 0x10]
mov ecx, edi
mov eax, ebx
not ecx
not eax
and dword [edx + 0x20], ecx
and dword [edx + 0x24], eax
cmp edi, 0x80000
jne 0x69305e
test ebx, ebx
jne 0x69305e
mov dword [edx + 0x208], ebx
mov dword [edx + 0x20c], ebx
and edi, 1
or edi, 0
je 0x693087
push str.reset
push dword [esp + 0x18]
call fcn.006291e0
add esp, 8
test eax, eax
jne 0x693087
push dword [esp + 0x10]
call fcn.00696410
add esp, 4
push 0xa5
push esi
call fcn.006a09b0
push dword [esp + 0x18]
call fcn.0066b0e0
jmp 0x694c46
test edx, edx
je 0x694c49
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x84]
push ebp
push edi
call fcn.006746f0
push ebp
push dword [esp + 0x20]
push 2
push edi
call fcn.0068d8d0
mov ebp, eax
add esp, 0x18
mov dword [esp + 0x40], ebp
test ebp, ebp
je 0x694c49
push ebp
mov dword [esp + 0x48], 0
call fcn.006952c0
push ebp
push edi
mov dword [esp + 0x64], eax
mov dword [edi + 0x2c], 7
call fcn.006acbb0
mov ecx, dword [ebp + 4]
add esp, 0xc
movsx ebp, word [ebp + 0x22]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], ecx
test ebp, ebp
jle 0x694c49
mov edx, dword [esp + 0x40]
lea ebx, [ebx]
movzx ecx, word [ecx + 0xe]
xor edi, edi
test cl, 0x62
je 0x693158
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
jne 0x693140
inc dword [esp + 0x44]
mov ebp, dword [esp + 0x38]
jmp 0x6931fd
test cl, 0x20
je 0x69314c
mov edi, 2
jmp 0x693158
movzx edi, cl
and edi, 0x40
or edi, 0x20
shr edi, 5
test cl, 1
jne 0x693161
xor edx, edx
jmp 0x693186
mov eax, dword [esp + 0x58]
mov edx, 1
test eax, eax
je 0x693186
cmp ebp, edx
jl 0x693186
mov ecx, dword [eax + 4]
movsx eax, word [ecx]
cmp eax, dword [esp + 0x3c]
je 0x693186
inc edx
add ecx, 2
cmp edx, ebp
jle 0x693175
mov ebp, dword [esp + 0x38]
push ebp
push dword [esp + 0x44]
call fcn.00674a30
add esp, 8
cmp edi, 2
jge 0x6931a5
test eax, eax
je 0x6931a5
mov ecx, dword [eax + 8]
jmp 0x6931a7
xor ecx, ecx
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
mov dword [esp + 0x4c], str.issisii
jne 0x6931bf
mov dword [esp + 0x4c], str.issisi
test byte [ebp + 4], 0xf
mov eax, 0
push edi
push edx
push ecx
setne al
push eax
push 0x6d4463
push ebp
call fcn.00674c50
add esp, 8
push eax
push dword [ebp]
mov eax, dword [esp + 0x54]
sub eax, dword [esp + 0x5c]
push eax
push dword [esp + 0x68]
push 1
push esi
call fcn.006ab020
mov edx, dword [esp + 0x68]
add esp, 0x28
mov eax, dword [esp + 0x3c]
add ebp, 0x10
mov dword [esp + 0x38], ebp
inc eax
movsx ebp, word [edx + 0x22]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x3c], eax
cmp eax, ebp
jl 0x693120
jmp 0x694c49
mov eax, dword [esp + 0x84]
mov ebx, dword [esp + 0x1c]
push ebx
push eax
mov dword [eax + 0x2c], 6
call fcn.006746f0
mov eax, dword [esp + 0x18]
add esp, 8
mov dword [esp + 0x48], 0
cmp dword [eax + 0x14], 0
jle 0x694c4d
xor ebp, ebp
test ebx, ebx
je 0x693271
mov eax, dword [eax + 0x10]
push dword [eax + ebp]
push ebx
call fcn.006291e0
add esp, 8
test eax, eax
jne 0x6933d2
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0x10]
mov edx, dword [eax + ebp + 0xc]
add edx, 8
mov ebx, dword [edx + 4]
test ebx, ebx
je 0x693333
mov esi, dword [esp + 0x10]
mov edi, edi
mov eax, dword [edx + 8]
dec ebx
test eax, eax
je 0x69332f
lea esp, [esp]
mov ecx, dword [eax + 8]
cmp word [ecx + 0x22], 0
je 0x6932b2
mov eax, dword [eax]
test eax, eax
jne 0x6932a0
jmp 0x69332f
push dword [ecx]
push str.SELECTFROM__w_
push esi
call fcn.0068de00
mov edi, eax
add esp, 0xc
test edi, edi
je 0x6932f7
push 0
lea eax, [esp + 0x50]
mov dword [esp + 0x50], 0
push eax
push 0
push 0
push 0xffffffffffffffff
push edi
push esi
call fcn.0068da60
push dword [esp + 0x68]
call fcn.0062acb0
push edi
push esi
call fcn.00677490
add esp, 0x28
cmp byte [esi + 0x57], 0
je 0x69331d
push 0x6d5a2c
push dword [esi + 0x10c]
call fcn.006798b0
mov eax, dword [esi + 0x10c]
add esp, 8
mov dword [eax + 0xc], 7
mov eax, dword [esi + 0x10]
mov edx, dword [eax + ebp + 0xc]
add edx, 8
test ebx, ebx
jne 0x693290
mov esi, dword [esp + 0x24]
mov ebx, dword [edx + 8]
test ebx, ebx
je 0x6933ce
mov edi, edi
mov eax, dword [esp + 0x14]
mov edi, dword [ebx + 8]
test eax, eax
je 0x69335a
push dword [edi]
push eax
call fcn.006291e0
add esp, 8
test eax, eax
jne 0x6933c4
mov al, byte [edi + 0x2b]
cmp al, 2
jne 0x693368
mov edx, str.view
jmp 0x693386
cmp al, 1
jne 0x693373
mov edx, str.virtual
jmp 0x693386
test dword [edi + 0x1c], 0x1000
mov edx, str.shadow
jne 0x693386
mov edx, str.table
mov ecx, dword [edi + 0x1c]
mov eax, ecx
shr eax, 0x10
and eax, 1
shr ecx, 7
push eax
movsx eax, word [edi + 0x22]
and ecx, 1
push ecx
push eax
push edx
push dword [edi]
call fcn.00694d70
add esp, 4
push eax
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x10]
push dword [eax + ebp]
push str.sssiii
push 1
push esi
call fcn.006ab020
add esp, 0x24
mov ebx, dword [ebx]
test ebx, ebx
jne 0x693340
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
add ebp, 0x10
mov eax, dword [esp + 0x48]
inc eax
mov dword [esp + 0x48], eax
cmp eax, dword [ecx + 0x14]
mov eax, ecx
jl 0x693256
jmp 0x694c4d
test edx, edx
je 0x694c49
mov edi, dword [esp + 0x1c]
push edi
push edx
push dword [esp + 0x18]
call fcn.0067f900
mov ebp, eax
add esp, 0xc
test ebp, ebp
jne 0x693450
push edi
push dword [esp + 0x18]
mov edi, dword [esp + 0x8c]
push 2
push edi
call fcn.0068d8d0
add esp, 0x10
test eax, eax
je 0x694c49
test byte [eax + 0x1c], 0x80
je 0x694c49
push eax
call fcn.006952c0
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x694c49
jmp 0x693457
mov edi, dword [esp + 0x84]
push dword [ebp + 0x18]
push dword [esp + 0x14]
call fcn.00697de0
mov ecx, dword [ebx + 8]
add esp, 8
or ecx, dword [ebx + 0xc]
mov edx, eax
je 0x69347d
movzx eax, word [ebp + 0x34]
mov dword [edi + 0x2c], 6
jmp 0x693488
movzx eax, word [ebp + 0x32]
mov dword [edi + 0x2c], 3
push edx
mov dword [esp + 0x48], eax
mov eax, dword [ebp + 0xc]
push edi
mov dword [esp + 0x60], eax
call fcn.00674760
xor edi, edi
add esp, 8
cmp dword [esp + 0x44], edi
jle 0x694c49
lea esp, [esp]
mov eax, dword [ebp + 4]
movzx edx, word [eax + edi*2]
test dx, dx
jns 0x6934c0
xor eax, eax
jmp 0x6934cf
mov eax, dword [esp + 0x58]
movsx ecx, dx
add ecx, ecx
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*8]
push eax
movsx eax, dx
push eax
push edi
push str.iisX
push 1
push esi
call fcn.006ab020
mov eax, dword [ebx + 8]
add esp, 0x18
or eax, dword [ebx + 0xc]
je 0x693517
movzx eax, word [ebp + 0x32]
xor ecx, ecx
cmp edi, eax
mov eax, dword [ebp + 0x20]
setl cl
push ecx
push dword [eax + edi*4]
mov eax, dword [ebp + 0x1c]
movzx eax, byte [eax + edi]
push eax
push str.isiX
push 4
push esi
call fcn.006ab020
add esp, 0x18
mov eax, dword [esp + 0x84]
push dword [eax + 0x2c]
push 1
push 0x53
push esi
call fcn.006a0a60
inc edi
add esp, 0x10
cmp edi, dword [esp + 0x44]
jl 0x6934b0
jmp 0x694c49
test edx, edx
je 0x694c49
mov ebx, dword [esp + 0x1c]
push ebx
push edx
push dword [esp + 0x18]
call fcn.0067f9d0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x694c49
push dword [edi + 0x3c]
push dword [esp + 0x14]
call fcn.00697de0
mov ecx, dword [esp + 0x8c]
push eax
push ecx
mov dword [ecx + 0x2c], 5
call fcn.00674760
mov edi, dword [edi + 8]
add esp, 0x10
xor ebx, ebx
test edi, edi
je 0x694c49
mov dword [esp + 0x64], 0x6f761c
mov dword [esp + 0x68], 0x6f7620
mov dword [esp + 0x6c], 0x6ec0a4
jmp 0x6935b0
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 + 0x68]
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.006ab020
mov edi, dword [edi + 0x14]
add esp, 0x20
inc ebx
test edi, edi
jne 0x6935b0
jmp 0x694c49
mov eax, dword [esp + 0x84]
xor edi, edi
mov dword [eax + 0x2c], 3
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x14], edi
jle 0x694c4d
xor ebx, ebx
jmp 0x693610
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx + ebx + 4]
test eax, eax
je 0x693636
push eax
call fcn.006705e0
push eax
push dword [ecx + ebx]
push edi
push 0x6f762c
push 1
push esi
call fcn.006ab020
add esp, 0x1c
mov eax, dword [esp + 0x10]
inc edi
add ebx, 0x10
cmp edi, dword [eax + 0x14]
jl 0x693610
jmp 0x694c4d
mov eax, dword [esp + 0x84]
xor ebx, ebx
mov edi, dword [esp + 0x10]
mov dword [eax + 0x2c], 2
mov edi, dword [edi + 0x1b4]
test edi, edi
je 0x694c49
lea ebx, [ebx]
mov eax, dword [edi + 8]
push dword [eax]
push ebx
push 0x6f7630
push 1
push esi
call fcn.006ab020
mov edi, dword [edi]
add esp, 0x14
inc ebx
test edi, edi
jne 0x693670
jmp 0x694c49
mov eax, dword [esp + 0x10]
mov ebp, 0x9b3b08
mov ebx, dword [eax + 0x18]
mov eax, dword [esp + 0x84]
shr ebx, 5
and ebx, 1
mov dword [eax + 0x2c], 6
mov edi, dword [ebp]
test edi, edi
je 0x6936d4
lea esp, [esp]
push ebx
push 1
push edi
push esi
call fcn.00663990
mov edi, dword [edi + 0x24]
add esp, 0x10
test edi, edi
jne 0x6936c0
add ebp, 4
cmp ebp, 0x9b3b64
jl 0x6936b2
mov edi, dword [esp + 0x10]
mov edi, dword [edi + 0x1a4]
test edi, edi
je 0x694c49
push ebx
push 0
push dword [edi + 8]
push esi
call fcn.00663990
mov edi, dword [edi]
add esp, 0x10
test edi, edi
jne 0x6936f1
jmp 0x694c49
mov eax, dword [esp + 0x84]
mov edi, dword [esp + 0x10]
mov dword [eax + 0x2c], 1
mov edi, dword [edi + 0x188]
test edi, edi
je 0x694c49
jmp 0x693730
mov eax, dword [edi + 8]
push dword [eax + 4]
push 0x6f5604
push 1
push esi
call fcn.006ab020
mov edi, dword [edi]
add esp, 0x10
test edi, edi
jne 0x693730
jmp 0x694c49
mov edi, 0x6ec210
push dword [edi]
push 0x6f5604
push 1
push esi
call fcn.006ab020
add edi, 0x10
add esp, 0x10
cmp edi, 0x6ec640
jl 0x693756
jmp 0x694c49
test edx, edx
je 0x694c49
mov ebx, dword [esp + 0x1c]
push ebx
push edx
push dword [esp + 0x18]
call fcn.0067f9d0
add esp, 0xc
mov dword [esp + 0x58], eax
test eax, eax
je 0x694c49
cmp byte [eax + 0x2b], 0
jne 0x694c49
mov edi, dword [eax + 0x30]
test edi, edi
je 0x694c49
push dword [eax + 0x3c]
push dword [esp + 0x14]
call fcn.00697de0
mov ecx, dword [esp + 0x8c]
xor ebp, ebp
push eax
push ecx
mov dword [esp + 0x54], ebp
mov dword [ecx + 0x2c], 8
call fcn.00674760
add esp, 0x10
lea ecx, [ecx]
xor ebx, ebx
cmp dword [edi + 0x14], ebx
jle 0x693848
lea ebp, [edi + 0x24]
lea ebx, [ebx]
movzx eax, byte [edi + 0x19]
push str.NONE
push eax
call fcn.0062e340
add esp, 4
push eax
movzx eax, byte [edi + 0x1a]
push eax
call fcn.0062e340
mov ecx, dword [ebp]
add esp, 4
add ecx, ecx
push eax
push dword [ebp + 4]
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 4]
push dword [eax + ecx*8]
push dword [edi + 8]
push ebx
push dword [esp + 0x60]
push str.iissssss
push 1
push esi
call fcn.006ab020
inc ebx
lea ebp, [ebp + 8]
add esp, 0x2c
cmp ebx, dword [edi + 0x14]
jl 0x6937f0
mov ebp, dword [esp + 0x44]
mov edi, dword [edi + 4]
inc ebp
mov dword [esp + 0x44], ebp
test edi, edi
jne 0x6937e0
jmp 0x694c49
mov edx, dword [esp + 0x84]
mov eax, dword [edx + 0x2c]
lea ecx, [eax + 1]
lea ebp, [eax + 6]
mov dword [esp + 0x30], ecx
lea ecx, [eax + 5]
mov dword [edx + 0x2c], ebp
mov eax, dword [esp + 0x10]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x24], ebp
mov eax, dword [eax + 0x10]
mov eax, dword [edi + eax + 0xc]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x694c49
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x6938b0
push ebx
push ecx
push 0
push edx
call fcn.0068d8d0
add esp, 0x10
mov edi, eax
xor eax, eax
jmp 0x6938b5
mov edi, dword [eax + 8]
mov eax, dword [eax]
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], edi
test edi, edi
je 0x693c1b
cmp byte [edi + 0x2b], 0
jne 0x693c1b
cmp dword [edi + 0x30], 0
je 0x693c1b
push dword [edi + 0x3c]
push dword [esp + 0x14]
call fcn.00697de0
mov ebx, eax
mov eax, dword [esp + 0x18]
mov edx, ebx
mov dword [esp + 0x4c], ebx
add edx, edx
push ebx
mov ecx, dword [eax + 0x10]
push dword [esp + 0x90]
mov eax, dword [ecx + edx*8]
mov dword [esp + 0x2c], eax
call fcn.00674760
push dword [edi]
push 0
push dword [edi + 0x14]
push ebx
push dword [esp + 0xa4]
call fcn.0069c520
mov ecx, dword [esp + 0xa8]
add esp, 0x24
movsx eax, word [edi + 0x22]
add eax, ebp
cmp eax, dword [ecx + 0x2c]
jle 0x693936
mov dword [ecx + 0x2c], eax
push 0x65
push edi
push ebx
push 0
push ecx
call fcn.0068ea90
push dword [edi]
push dword [esp + 0x48]
push esi
call fcn.006a97c0
mov ebx, dword [edi + 0x30]
add esp, 0x20
mov ebp, 1
test ebx, ebx
je 0x693a11
push dword [esp + 0x1c]
push dword [ebx + 8]
push dword [esp + 0x18]
call fcn.0067f9d0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x693a01
push dword [edi]
mov dword [esp + 0x30], 0
push 0
push dword [edi + 0x14]
push dword [esp + 0x50]
push dword [esp + 0x94]
call fcn.0069c520
push 0
lea eax, [esp + 0x44]
push eax
push ebx
push edi
push dword [esp + 0xa8]
call fcn.00681190
add esp, 0x28
test eax, eax
jne 0x694c49
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x6939de
push 0x65
push edi
push dword [esp + 0x4c]
push ebp
push dword [esp + 0x94]
call fcn.0068ea90
add esp, 0x14
jmp 0x693a01
push dword [esp + 0x44]
push dword [eax + 0x2c]
push ebp
push 0x65
push esi
call fcn.006a0ac0
push dword [esp + 0x40]
push dword [esp + 0x9c]
call fcn.006abf80
add esp, 0x1c
mov ebx, dword [ebx + 4]
inc ebp
test ebx, ebx
jne 0x693961
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x84]
cmp dword [eax + 0x28], ebp
jge 0x693a20
mov dword [eax + 0x28], ebp
push 0
push 0x26
push esi
call fcn.006a0a00
mov ebx, dword [edi + 0x30]
add esp, 0xc
mov dword [esp + 0x28], 1
mov ebp, eax
mov dword [esp + 0x50], ebp
test ebx, ebx
je 0x693bf7
jmp 0x693a50
push dword [esp + 0x1c]
push dword [ebx + 8]
push dword [esp + 0x18]
call fcn.0067f9d0
mov edi, dword [esp + 0x90]
xor ecx, ecx
add esp, 0xc
mov dword [esp + 0x54], eax
mov dword [esp + 0x2c], 0
mov dword [esp + 0x38], ecx
test eax, eax
je 0x693a99
lea ecx, [esp + 0x38]
push ecx
lea ecx, [esp + 0x30]
push ecx
push ebx
push eax
push edi
call fcn.00681190
mov ecx, dword [esp + 0x4c]
add esp, 0x14
dec dword [edi + 0x38]
mov eax, dword [ebx + 0x14]
mov edx, dword [esp + 0x24]
add eax, edx
mov ebp, dword [edi + 0x38]
mov dword [esp + 0x48], ebp
cmp eax, dword [edi + 0x2c]
jle 0x693ab4
mov dword [edi + 0x2c], eax
xor edi, edi
cmp dword [ebx + 0x14], edi
jle 0x693b0b
lea eax, [ebx + 0x24]
mov ebp, edx
mov dword [esp + 0x4c], eax
test ecx, ecx
je 0x693acd
mov eax, dword [ecx + edi*4]
jmp 0x693acf
mov eax, dword [eax]
push ebp
push eax
push 0
push dword [esp + 0x48]
push esi
call fcn.0067aa50
push dword [esp + 0x5c]
push ebp
push 0x32
push esi
call fcn.006a0a60
mov eax, dword [esp + 0x70]
inc edi
mov ecx, dword [esp + 0x5c]
add eax, 8
add esp, 0x24
mov dword [esp + 0x4c], eax
inc ebp
cmp edi, dword [ebx + 0x14]
jl 0x693ac4
mov ebp, dword [esp + 0x48]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x693b4e
push dword [ebx + 0x14]
push eax
push dword [esp + 0x18]
call fcn.0068a6f0
mov edi, dword [esp + 0x64]
add esp, 8
push eax
push edi
push dword [ebx + 0x14]
push dword [esp + 0x34]
push 0x60
push esi
call fcn.006a0b20
push 0
push edi
mov edi, dword [esp + 0x4c]
push ebp
push edi
push 0x1f
push esi
call fcn.006a0bf0
add esp, 0x34
jmp 0x693b74
cmp dword [esp + 0x54], 0
mov edi, dword [esp + 0x28]
je 0x693b74
mov eax, dword [esi + 0x74]
push edx
add eax, 2
push eax
push edi
push 0x20
push esi
call fcn.006a0ac0
push ebp
push esi
call fcn.006a8df0
add esp, 0x1c
mov eax, dword [esp + 0x3c]
test byte [eax + 0x1c], 0x80
mov eax, dword [esp + 0x30]
jne 0x693b8d
inc eax
push eax
push 0
push 0x86
jmp 0x693b93
inc eax
push eax
push 0
push 0x4a
push esi
call fcn.006a0a60
add esp, 0x10
lea eax, [edi - 1]
push eax
push dword [ebx + 8]
mov eax, dword [esp + 0x38]
push 0x6f7648
add eax, 2
push eax
push esi
call fcn.006ab020
push 4
push dword [esp + 0x48]
push 0x53
push esi
call fcn.006a0a60
push ebp
push esi
call fcn.006abc00
mov eax, dword [esp + 0x64]
add esp, 0x2c
test eax, eax
je 0x693be3
push eax
push dword [esp + 0x14]
call fcn.00677490
add esp, 8
mov ebx, dword [ebx + 4]
inc edi
mov dword [esp + 0x28], edi
test ebx, ebx
jne 0x693a50
mov ebp, dword [esp + 0x50]
lea eax, [ebp + 1]
push eax
push 0
push 5
push esi
call fcn.006a0a60
push ebp
push esi
call fcn.006a94e0
mov ebp, dword [esp + 0x3c]
add esp, 0x18
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x84]
test eax, eax
jne 0x693895
jmp 0x694c49
test edx, edx
je 0x694c49
push 0
push edx
call fcn.006891b0
movzx eax, al
push eax
push dword [esp + 0x1c]
call fcn.00695d70
add esp, 0x10
jmp 0x694c49
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x34]
movzx eax, byte [eax]
cmp byte [eax + 0x6ecbf8], 0x71
mov eax, dword [esp + 0x8c]
sete cl
mov dword [esp + 0x4c], ecx
cmp dword [eax], 0
jne 0x693c86
or edi, 0xffffffff
mov dword [esp + 0x18], edi
jmp 0x693c8a
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x84]
mov ebp, 0x64
mov dword [esp + 0x44], ebp
mov dword [esp + 0x40], ebp
mov dword [ebx + 0x2c], 6
test edx, edx
je 0x693d00
lea eax, [esp + 0x40]
push eax
push edx
call fcn.006892c0
add esp, 8
test eax, eax
je 0x693cce
mov ebp, dword [esp + 0x40]
mov dword [esp + 0x44], ebp
test ebp, ebp
jg 0x693d00
mov ebp, 0x64
jmp 0x693cfc
test edi, edi
js 0x693ce2
mov eax, dword [esp + 0x10]
mov ecx, edi
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8]
jmp 0x693ce4
xor eax, eax
push eax
push dword [esp + 0x18]
push 0
push ebx
call fcn.0068d8d0
mov ebp, dword [esp + 0x50]
add esp, 0x10
mov dword [esp + 0x20], eax
mov dword [esp + 0x44], ebp
push 1
lea ecx, [ebp - 1]
push ecx
push 0x47
push esi
call fcn.006a0a60
mov eax, dword [esp + 0x20]
xor ecx, ecx
add esp, 0x10
mov dword [esp + 0x2c], ecx
cmp dword [eax + 0x14], ecx
jle 0x694661
xor ebp, ebp
test edi, edi
js 0x693d32
cmp ecx, edi
jne 0x69464f
push ecx
push ebx
call fcn.00674760
mov eax, dword [esp + 0x18]
add esp, 8
mov ecx, dword [esp + 0x2c]
xor edx, edx
shl ecx, 4
mov dword [esp + 0x58], ecx
mov eax, dword [eax + 0x10]
mov ebx, dword [eax + ecx + 0xc]
add ebx, 8
mov dword [esp + 0x50], ebx
mov edi, dword [ebx + 8]
test edi, edi
je 0x69463c
mov ecx, dword [esp + 0x20]
lea ebx, [ebx]
mov eax, dword [edi + 8]
test ecx, ecx
je 0x693d7b
cmp ecx, eax
jne 0x693da3
test byte [eax + 0x1c], 0x80
jne 0x693d82
inc edx
mov eax, dword [eax + 8]
xor ecx, ecx
test eax, eax
je 0x693d99
jmp 0x693d90
mov eax, dword [eax + 0x14]
inc edx
inc ecx
test eax, eax
jne 0x693d90
cmp ecx, ebp
jle 0x693d9f
mov ebp, ecx
mov ecx, dword [esp + 0x20]
mov edi, dword [edi]
test edi, edi
jne 0x693d70
test edx, edx
je 0x69463c
test ecx, ecx
je 0x693db6
inc edx
lea eax, [edx*4 + 4]
push 0
push eax
push dword [esp + 0x18]
call fcn.00677570
mov edi, eax
add esp, 0xc
test edi, edi
je 0x69465d
mov eax, dword [esp + 0x20]
xor edx, edx
test eax, eax
je 0x693dec
mov edx, 1
mov dword [edi + 4], 0
mov ebx, dword [ebx + 8]
test ebx, ebx
je 0x693e2e
mov esi, dword [esp + 0x20]
mov ecx, dword [ebx + 8]
test esi, esi
je 0x693e02
cmp esi, ecx
jne 0x693e24
test byte [ecx + 0x1c], 0x80
jne 0x693e0f
mov eax, dword [ecx + 0x14]
inc edx
mov dword [edi + edx*4], eax
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x693e24
mov eax, dword [ecx + 0x2c]
inc edx
mov dword [edi + edx*4], eax
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x693e16
mov ebx, dword [ebx]
test ebx, ebx
jne 0x693df7
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x84]
lea ecx, [ebp + 8]
mov dword [edi], edx
mov eax, dword [eax + 0x2c]
cmp eax, ecx
jg 0x693e43
mov eax, ecx
mov ebp, dword [esp + 0x84]
push 0xfffffffffffffff1
push edi
push 1
push edx
push 2
push 0x9a
push esi
mov dword [ebp + 0x2c], eax
mov byte [ebp + 0x13], 0
mov dword [ebp + 0x1c], 0
call fcn.006a0b20
mov eax, dword [esp + 0x48]
movzx eax, al
push eax
push esi
call fcn.006a1060
push 2
push 0x32
push esi
call fcn.006a0a00
mov edx, dword [esp + 0x40]
add esp, 0x30
mov edi, eax
mov eax, dword [esp + 0x58]
mov ecx, dword [edx + 0x10]
push 0xfffffffffffffff9
push dword [ecx + eax]
push str._in_database__s__n
push edx
call fcn.0068de00
add esp, 0xc
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.006a0b20
push 3
push 3
push 2
push 0x6f
push esi
call fcn.006a0ac0
push esi
call fcn.00656650
push edi
push esi
call fcn.006a94e0
mov eax, dword [esp + 0x8c]
add esp, 0x3c
mov ebx, dword [eax + 8]
mov dword [esp + 0x58], ebx
test ebx, ebx
je 0x6946c2
lea esp, [esp]
mov ebx, dword [ebx + 8]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x50], 0
mov dword [esp + 0x38], 0xffffffff
cmp byte [ebx + 0x2b], 0
jne 0x69462a
mov eax, dword [esp + 0x20]
test eax, eax
je 0x693f21
cmp eax, ebx
jne 0x69462a
test byte [ebx + 0x1c], 0x80
jne 0x693f31
mov dword [esp + 0x28], 0
jmp 0x693f3e
push ebx
call fcn.006952c0
add esp, 4
mov dword [esp + 0x28], eax
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x40]
push eax
push 0
push 1
push 0
push 0x65
push ebx
push ebp
call fcn.0068ebb0
push 7
push 0
push 0x47
push esi
call fcn.006a0a60
mov edi, dword [ebx + 8]
add esp, 0x30
test edi, edi
je 0x693f8c
mov ebx, 8
push ebx
push 0
push 0x47
push esi
call fcn.006a0a60
mov edi, dword [edi + 0x14]
add esp, 0x10
inc ebx
test edi, edi
jne 0x693f72
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x3c]
push 0
push ebp
push 0x26
push esi
call fcn.006a0a60
push 1
push 7
push 0x55
push esi
call fcn.006a0a60
add esp, 0x20
mov dword [esp + 0x64], eax
cmp dword [esp + 0x4c], 0
jne 0x693fd4
movsx ecx, word [ebx + 0x24]
push 3
dec ecx
push ecx
push ebp
push 0x5d
push esi
call fcn.006a0ac0
push pe_nt_image_headers32
push esi
call fcn.006a1060
add esp, 0x1c
movzx ecx, word [ebx + 0x1e]
xor eax, eax
and ecx, 1
xor ebp, ebp
mov dword [esp + 0x30], ecx
cmp ax, word [ebx + 0x22]
jge 0x69418f
mov dword [esp + 0x40], eax
mov edx, dword [esp + 0x1c]
mov ebx, dword [ebx + 4]
add ebx, eax
movsx eax, word [edx + 0x20]
cmp ebp, eax
je 0x694175
test byte [ebx + 4], 0xf
jne 0x694027
test ecx, ecx
je 0x694175
mov eax, dword [esp + 0x84]
dec dword [eax + 0x38]
mov edi, dword [eax + 0x38]
mov dword [esp + 0x48], edi
jmp 0x694046
test ecx, ecx
je 0x69403e
mov eax, dword [esp + 0x84]
dec dword [eax + 0x38]
mov edi, dword [eax + 0x38]
mov dword [esp + 0x48], edi
jmp 0x694046
mov dword [esp + 0x48], 0
push 3
push ebp
push dword [esp + 0x44]
push edx
push esi
call fcn.0067aa50
push 0xffffffffffffffff
push esi
call fcn.006a8dc0
add esp, 0x1c
cmp byte [eax], 0x5d
jne 0x694072
push pe_nt_image_headers32
push esi
call fcn.006a1060
add esp, 8
test byte [ebx + 4], 0xf
je 0x6940e0
push 3
push 0x33
push esi
call fcn.006a0a00
push dword [ebx]
mov edi, eax
mov eax, dword [esp + 0x2c]
push dword [eax]
push str.NULL_value_in__s._s
push dword [esp + 0x28]
call fcn.0068de00
push 0xfffffffffffffff9
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.006a0b20
add esp, 0x38
cmp dword [esp + 0x30], 0
je 0x6940cd
mov eax, dword [ebx + 4]
and al, 0xf0
cmp al, 0x10
je 0x6940cd
push dword [esp + 0x48]
push esi
call fcn.006a8df0
add esp, 8
jmp 0x6940d6
push esi
call fcn.00656650
add esp, 4
push edi
push esi
call fcn.006a94e0
add esp, 8
mov eax, dword [esp + 0x1c]
test dword [eax + 0x1c], 0x10000
je 0x694171
mov eax, dword [ebx + 4]
shr eax, 4
and eax, 0xf
cmp eax, 1
je 0x694171
movsx eax, byte [eax + 0x6ecfa7]
push eax
push 0
push 3
push 0x15
push esi
call fcn.006a0ac0
mov edx, dword [esp + 0x30]
mov edi, eax
mov eax, dword [esp + 0x54]
mov ecx, dword [edx + 4]
push dword [ecx + eax]
mov ecx, dword [ebx + 4]
push dword [edx]
shr ecx, 4
and ecx, 0xf
push dword [ecx*4 + 0x9a5834]
push str.non__s_value_in__s._s
push dword [esp + 0x34]
call fcn.0068de00
push 0xfffffffffffffff9
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.006a0b20
add esp, 0x44
push dword [esp + 0x48]
push esi
call fcn.006abc00
push esi
call fcn.00656650
push edi
push esi
call fcn.006a94e0
add esp, 0x14
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 0x1c]
inc ebp
add dword [esp + 0x40], 0x10
movsx eax, word [ebx + 0x22]
cmp ebp, eax
mov eax, dword [esp + 0x40]
jl 0x693ff1
mov ecx, dword [ebx + 0x10]
test ecx, ecx
je 0x69428c
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0x20]
and eax, 0x200
or eax, 0
jne 0x69428c
push eax
push ecx
push edi
call fcn.0067e560
add esp, 0xc
mov ebx, eax
cmp byte [edi + 0x57], 0
mov dword [esp + 0x48], ebx
jne 0x69427a
mov edx, dword [esp + 0x84]
mov ebp, dword [edx + 0x38]
dec ebp
lea eax, [ebp - 1]
mov dword [edx + 0x38], eax
mov eax, dword [esp + 0x3c]
inc eax
mov dword [edx + 0x34], eax
mov edi, dword [ebx]
dec edi
test edi, edi
jle 0x69421a
lea eax, [edi + edi*4]
mov esi, edx
lea ebx, [ebx + eax*4]
add ebx, 8
push 0
push ebp
push dword [ebx]
push esi
call fcn.0067d620
dec edi
lea ebx, [ebx - 0x14]
add esp, 0x10
test edi, edi
jg 0x6941f5
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x48]
mov edx, dword [esp + 0x84]
push 0x10
lea edi, [ebp - 1]
push edi
push dword [ebx + 8]
push edx
call fcn.0067da50
push ebp
push esi
call fcn.006abc00
mov eax, dword [esp + 0x9c]
mov dword [eax + 0x34], 0
mov eax, dword [esp + 0x34]
push dword [eax]
push str.CHECK_constraint_failed_in__s
push dword [esp + 0x30]
call fcn.0068de00
push 0xfffffffffffffff9
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.006a0b20
add esp, 0x40
push esi
call fcn.00656650
push edi
push esi
call fcn.006abc00
mov edi, dword [esp + 0x1c]
add esp, 0xc
test ebx, ebx
je 0x694288
push ebx
push edi
call fcn.0063ec50
add esp, 8
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x4c]
test ebp, ebp
jne 0x69450a
mov ebx, dword [ebx + 8]
test ebx, ebx
je 0x69450a
mov ecx, dword [esp + 0x54]
mov eax, 8
mov ebp, dword [esp + 0x84]
sub eax, ecx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x30], ecx
mov edi, dword [ebp + 0x38]
dec edi
mov dword [ebp + 0x38], edi
cmp eax, ebx
je 0x6944f7
push dword [esp + 0x38]
lea eax, [esp + 0x64]
push dword [esp + 0x54]
push eax
push 0
push 0
push dword [esp + 0x50]
push ebx
push ebp
call fcn.00688a40
mov ecx, dword [esp + 0x50]
add ecx, dword [esp + 0x68]
push 1
push ecx
push 0x55
push esi
mov dword [esp + 0x68], eax
mov dword [esp + 0x80], ebx
call fcn.006a0a60
movzx ecx, word [ebx + 0x34]
push ecx
push dword [esp + 0x6c]
push edi
push dword [esp + 0x6c]
push 0x1f
push esi
call fcn.006a0bf0
add esp, 0x48
mov edi, eax
push 0
push str.row
push 0
push 3
push 0
push 0x75
push esi
call fcn.006a0b20
push 3
push 3
push 7
push 0x6f
push esi
call fcn.006a0ac0
push 0
push str._missing_from_index
push 0
push 4
push 0
push 0x75
push esi
call fcn.006a0b20
add esp, 0x4c
push 3
push 3
push 4
push 0x6f
push esi
call fcn.006a0ac0
push 0
push dword [ebx]
push 0
push 4
push 0
push 0x75
push esi
call fcn.006a0b20
push 3
push 3
push 4
push 0x6f
push esi
mov dword [esp + 0x84], eax
call fcn.006a0ac0
add esp, 0x44
push esi
call fcn.00656650
push edi
push esi
mov dword [esp + 0x68], eax
call fcn.006a94e0
add esp, 0xc
cmp byte [ebx + 0x36], 0
je 0x69449c
dec dword [ebp + 0x38]
xor eax, eax
mov ebp, dword [ebp + 0x38]
xor edi, edi
cmp ax, word [ebx + 0x32]
jae 0x6943fd
mov eax, dword [ebx + 4]
movsx ecx, word [eax + edi*2]
test ecx, ecx
js 0x6943e1
mov eax, dword [esp + 0x1c]
add ecx, ecx
mov eax, dword [eax + 4]
test byte [eax + ecx*8 + 4], 0xf
jne 0x6943f4
mov eax, dword [esp + 0x38]
push ebp
add eax, edi
push eax
push 0x32
push esi
call fcn.006a0a60
add esp, 0x10
movzx eax, word [ebx + 0x32]
inc edi
cmp edi, eax
jl 0x6943c6
push dword [esp + 0x30]
push 5
push esi
call fcn.006a0a00
push ebp
push esi
mov edi, eax
call fcn.006a8df0
mov edx, dword [esi + 0x74]
add esp, 0x14
test edi, edi
jns 0x69441f
lea edi, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x69442e
mov eax, 0x9b3e04
jmp 0x694437
mov eax, dword [esi + 0x70]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
movzx eax, word [ebx + 0x32]
push eax
push dword [esp + 0x3c]
push ebp
push dword [esp + 0x3c]
push 0x28
push esi
call fcn.006a0bf0
push 0
push str.non_unique_entry_in_index
push 0
push 3
push 0
push 0x75
push esi
call fcn.006a0b20
push dword [esp + 0x74]
push esi
call fcn.006a8df0
mov ecx, dword [esi + 0xc]
add esp, 0x3c
not ebp
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x69448c
push ebp
push esi
push ecx
call fcn.00667600
add esp, 0xc
jmp 0x694495
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x74]
mov dword [ecx + ebp*4], eax
mov ebp, dword [esp + 0x84]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esi + 0x74]
test ecx, ecx
jns 0x6944aa
lea ecx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x6944b9
mov eax, 0x9b3e04
jmp 0x6944c2
mov eax, dword [esi + 0x70]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x60]
test edx, edx
je 0x6944f3
mov edi, dword [ebp + 8]
not edx
mov ecx, dword [edi + 0xc]
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x6944ea
push edx
push edi
push ecx
call fcn.00667600
add esp, 0xc
jmp 0x6944f3
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi + 0x74]
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 0x28]
mov ebx, dword [ebx + 0x14]
inc dword [esp + 0x30]
test ebx, ebx
jne 0x6942c1
mov ebp, dword [esp + 0x4c]
mov edi, dword [esp + 0x64]
push edi
push dword [esp + 0x40]
push 5
push esi
call fcn.006a0a60
mov edx, dword [esi + 0x74]
lea ecx, [edi - 1]
add esp, 0x10
test ecx, ecx
jns 0x69452b
lea ecx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x69453a
mov eax, 0x9b3e04
jmp 0x694543
mov eax, dword [esi + 0x70]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
test ebp, ebp
jne 0x694623
push ebp
push str.wrong__of_entries_in_index
push ebp
push 2
push ebp
push 0x75
push esi
call fcn.006a0b20
mov eax, dword [esp + 0x38]
add esp, 0x1c
mov edi, dword [eax + 8]
test edi, edi
je 0x694623
mov eax, dword [esp + 0x28]
mov ebp, 8
jmp 0x694580
cmp eax, edi
je 0x694617
mov eax, dword [esp + 0x54]
add eax, 0xfffffff8
push 3
add eax, ebp
push eax
push 0x61
push esi
call fcn.006a0a60
push 3
push 0
push ebp
push 0x35
push esi
call fcn.006a0ac0
mov ebx, eax
add esp, 0x24
mov eax, dword [esi + 0x74]
test eax, eax
jle 0x6945c5
mov ecx, dword [esi + 0x70]
lea edx, [eax + eax*4]
mov eax, 0x90
mov word [ecx + edx*4 - 0x12], ax
push 0
push dword [edi]
push 0
push 4
push 0
push 0x75
push esi
call fcn.006a0b20
push 3
push 2
push 4
push 0x6f
push esi
call fcn.006a0ac0
push esi
call fcn.00656650
mov edx, dword [esi + 0x74]
add esp, 0x34
test ebx, ebx
jns 0x6945f8
lea ebx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x694607
mov eax, 0x9b3e04
jmp 0x694610
mov eax, dword [esi + 0x70]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x28]
mov edi, dword [edi + 0x14]
inc ebp
test edi, edi
jne 0x694580
mov ebp, dword [esp + 0x84]
mov ebx, dword [esp + 0x58]
mov ebx, dword [ebx]
mov dword [esp + 0x58], ebx
test ebx, ebx
jne 0x693ef0
mov ebx, dword [esp + 0x84]
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x2c], ecx
cmp ecx, dword [eax + 0x14]
jl 0x693d24
mov ebp, dword [esp + 0x44]
push 0
push 0x6ef824
push 7
push esi
call fcn.006a0c80
add esp, 0x10
test eax, eax
je 0x6946a4
mov edx, dword [str.database_disk_image_is_malformed]
mov ecx, 1
sub ecx, ebp
mov byte [eax + 0x29], 0xff
mov dword [eax + 8], ecx
mov ecx, str.unknown_error
mov dword [eax + 0x38], 0x6f770c
mov byte [eax + 0x65], 0xff
test edx, edx
je 0x6946a1
mov ecx, edx
mov dword [eax + 0x74], ecx
mov eax, dword [esi]
mov ecx, 0x9b3e04
mov edx, dword [esi + 0x74]
cmp byte [eax + 0x57], 0
jne 0x6946b7
mov ecx, dword [esi + 0x70]
lea eax, [edx - 2]
mov dword [ecx + 0xc], eax
jmp 0x694c49
mov ebx, ebp
jmp 0x694643
test edx, edx
jne 0x694700
mov ebx, dword [esp + 0x84]
push ebx
call fcn.006955c0
add esp, 4
test eax, eax
jne 0x694c49
mov eax, dword [ebx]
movzx eax, byte [eax + 0x54]
push dword [eax*8 + 0x6f17c8]
push esi
call fcn.00669040
add esp, 8
jmp 0x694c49
mov eax, dword [esp + 0x10]
test byte [eax + 0x18], 0x40
jne 0x694c4d
mov eax, dword [str.UTF8]
mov esi, 0x6f17c8
test eax, eax
je 0x694772
lea esp, [esp]
push eax
push edx
call fcn.0069c160
add esp, 8
test eax, eax
je 0x69473e
mov eax, dword [esi + 8]
add esi, 8
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x694720
jmp 0x69476e
mov cl, byte [esi + 4]
test cl, cl
jne 0x694747
mov cl, 2
mov edx, dword [esp + 0x10]
mov byte [esp + 0x58], cl
push dword [esp + 0x58]
mov eax, dword [edx + 0x10]
push edx
mov eax, dword [eax + 0xc]
mov byte [eax + 0x4d], cl
call fcn.0069ae00
add esp, 8
cmp dword [esi], 0
jne 0x694c49
mov edx, dword [esp + 0x14]
push edx
push str.unsupported_encoding:__s
push dword [esp + 0x8c]
call fcn.006798b0
jmp 0x694c46
mov ebp, dword [esp + 0x18]
mov edi, dword [ebx + 8]
push ebp
push esi
call fcn.006acad0
add esp, 8
cmp dword [esp + 0x14], 0
je 0x6947de
test byte [ebx + 5], 8
jne 0x6947de
push 0
push 0x6f1858
push 2
push esi
call fcn.006a0c80
push dword [esp + 0x24]
mov esi, eax
mov dword [esi + 4], ebp
mov dword [esi + 0x18], ebp
mov dword [esi + 0x1c], edi
call fcn.0066de40
mov dword [esi + 0x20], eax
add esp, 0x14
mov eax, 1
mov word [esi + 0x16], ax
jmp 0x694c49
push 0
push 0x6f1860
push 3
push esi
call fcn.006a0c80
add esp, 0x10
mov dword [eax + 4], ebp
mov dword [eax + 0x18], ebp
mov dword [eax + 0x20], edi
and dword [esi + 0xa0], 0xffffffdf
jmp 0x694c49
mov eax, dword [esp + 0x84]
xor edi, edi
push edi
mov dword [eax + 0x2c], 1
call fcn.0061a540
add esp, 4
test eax, eax
je 0x694845
push eax
push 1
push esi
inc edi
call fcn.006a97c0
push 1
push 1
push 0x53
push esi
call fcn.006a0a60
push edi
call fcn.0061a540
add esp, 0x20
test eax, eax
jne 0x694822
and dword [esi + 0xa0], 0xffffffdf
jmp 0x694c49
mov eax, dword [esp + 0x8c]
mov ebx, dword [esp + 0x18]
cmp dword [eax], 0
jne 0x694866
mov ebx, 0xc
xor edi, edi
test edx, edx
je 0x6948b5
push str.full
push edx
call fcn.0069c160
add esp, 8
test eax, eax
jne 0x694883
lea edi, [eax + 1]
jmp 0x6948b5
mov ebp, dword [esp + 0x14]
push str.restart
push ebp
call fcn.0069c160
add esp, 8
test eax, eax
jne 0x69489e
lea edi, [eax + 2]
jmp 0x6948b5
push str.truncate
push ebp
call fcn.0069c160
add esp, 8
test eax, eax
jne 0x6948b5
mov edi, 3
mov eax, dword [esp + 0x84]
push 1
push edi
push ebx
push 6
push esi
mov dword [eax + 0x2c], 3
call fcn.006a0ac0
push 3
push 1
push 0x53
push esi
call fcn.006a0a60
add esp, 0x24
jmp 0x694c49
test edx, edx
je 0x6948fa
push edx
call fcn.0066de40
push eax
push dword [esp + 0x18]
call fcn.0062a260
add esp, 0xc
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x110], 0x6ae450
jne 0x692c8a
mov eax, dword [eax + 0x114]
jmp 0x694c3d
push dword [esp + 0x10]
call fcn.0061c630
add esp, 4
jmp 0x694c49
test edx, edx
je 0x694948
push edx
call fcn.0066de40
mov ecx, eax
add esp, 4
mov dword [esp + 0x4c], ecx
test cl, 2
je 0x694c49
jmp 0x694950
mov dword [esp + 0x4c], 0xfffe
mov ecx, dword [esp + 0x84]
mov ebp, dword [esp + 0x18]
mov eax, dword [ecx + 0x28]
mov dword [esp + 0x58], eax
inc eax
cmp dword [esp + 0x1c], 0
mov dword [ecx + 0x28], eax
je 0x694975
mov eax, ebp
mov dword [esp + 0x48], eax
jmp 0x694990
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
dec eax
mov dword [esp + 0x48], eax
cmp ebp, eax
jg 0x694ab6
lea esp, [esp]
cmp ebp, 1
je 0x694aa2
push ebp
push ecx
call fcn.00674760
mov ecx, dword [esp + 0x18]
add esp, 8
mov eax, dword [ecx + 0x10]
mov eax, dword [eax + edi + 0xc]
mov ebx, dword [eax + 0x10]
test ebx, ebx
je 0x694a97
lea esp, [esp]
mov edi, dword [ebx + 8]
test dword [edi + 0x1c], 0x100
je 0x694a85
mov ax, word [edi + 0x26]
add ax, 0x2e
movzx ebp, ax
mov eax, dword [edi + 8]
test eax, eax
je 0x6949ef
test byte [eax + 0x38], 0x80
je 0x694a32
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x6949e2
test bp, bp
je 0x694a32
push 0x65
push edi
push dword [esp + 0x20]
push dword [esp + 0x64]
push dword [esp + 0x94]
call fcn.0068ea90
mov ecx, dword [esp + 0x60]
movsx eax, bp
and ecx, 1
push eax
mov eax, dword [esi + 0x74]
add ecx, 2
add eax, ecx
push eax
push dword [esp + 0x74]
push 0x23
push esi
call fcn.006a0ac0
mov ecx, dword [esp + 0x38]
add esp, 0x28
push dword [edi]
mov eax, dword [ecx + 0x10]
mov edi, dword [esp + 0x48]
push dword [eax + edi]
push str.ANALYZE___w_.__w_
push ecx
call fcn.0068de00
add esp, 0x10
mov edx, eax
test byte [esp + 0x4c], 1
je 0x694ac9
push dword [esp + 0x84]
call fcn.006894a0
push 0xfffffffffffffff9
push edx
push 0
mov edi, eax
push edi
push 0
push 0x75
push esi
call fcn.006a0b20
push 1
push edi
push 0x53
push esi
call fcn.006a0a60
mov ecx, dword [esp + 0x40]
add esp, 0x30
mov edi, dword [esp + 0x44]
mov ebx, dword [ebx]
test ebx, ebx
jne 0x6949c0
mov ebp, dword [esp + 0x18]
mov ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x48]
inc ebp
add edi, 0x10
mov dword [esp + 0x18], ebp
mov dword [esp + 0x44], edi
cmp ebp, eax
jle 0x694990
push 0xa5
push esi
call fcn.006a09b0
add esp, 8
jmp 0x694c49
push 0xfffffffffffffff9
push edx
push 0
push 0
push 0
push 0x93
push esi
call fcn.006a0b20
mov ecx, dword [esp + 0x2c]
add esp, 0x1c
jmp 0x694a89
test edx, edx
je 0x694b0c
lea eax, [esp + 0x64]
push eax
push edx
call fcn.006778f0
add esp, 8
test eax, eax
jne 0x694b0c
push dword [esp + 0x68]
push dword [esp + 0x68]
call fcn.0061c710
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0061c710
push edx
push eax
push esi
call fcn.00668fb0
add esp, 0x14
jmp 0x694c49
test edx, edx
je 0x694b75
lea eax, [esp + 0x64]
push eax
push edx
call fcn.006778f0
add esp, 8
test eax, eax
jne 0x694b75
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0061c820
mov edi, dword [esp + 0x70]
add esp, 8
mov ebx, eax
test edi, edi
jl 0x694b75
mov ecx, dword [esp + 0x64]
jg 0x694b5b
test ecx, ecx
je 0x694b75
mov eax, ebx
or eax, edx
je 0x694b6b
cmp edx, edi
jl 0x694b75
jg 0x694b6b
cmp ebx, ecx
jbe 0x694b75
push edi
push ecx
call fcn.0061c820
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0061c820
push edx
push eax
push esi
call fcn.00668fb0
add esp, 0x14
jmp 0x694c49
test edx, edx
je 0x694bcf
lea eax, [esp + 0x64]
push eax
push edx
call fcn.006778f0
add esp, 8
test eax, eax
jne 0x694bcf
cmp dword [esp + 0x68], eax
jl 0x694bcf
mov eax, dword [esp + 0x64]
jg 0x694bb4
test eax, eax
jb 0x694bcf
and eax, 0x7fffffff
jl 0x694bcf
cmp eax, 8
jle 0x694bc5
mov eax, 8
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0xa4], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xa4]
jmp 0x694c3d
test edx, edx
je 0x694c10
lea eax, [esp + 0x64]
push eax
push edx
call fcn.006778f0
add esp, 8
test eax, eax
jne 0x694c10
cmp dword [esp + 0x68], eax
jl 0x694c10
mov eax, dword [esp + 0x64]
jg 0x694c01
test eax, eax
jb 0x694c10
mov ecx, dword [esp + 0x10]
and eax, 0x7fffffff
mov dword [ecx + 0x1ec], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x1ec]
jmp 0x694c3d
test edx, edx
je 0x694c33
push edx
call fcn.0066de40
push eax
push dword [esp + 0x18]
call fcn.0061ed90
add esp, 0xc
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x1f0]
cdq
push edx
push eax
push esi
call fcn.00668fb0
add esp, 0xc
mov eax, dword [esp + 0x10]
push dword [esp + 0x34]
push eax
call fcn.00677490
mov eax, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x694c6f
push eax
push dword [esp + 0x14]
call fcn.00677490
add esp, 8
pop edi
pop ebx
pop esi
pop ebp
add esp, 0x70
ret