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

Disassembly:
sub esp, 0x90
push ebx
mov ebx, dword [esp + 0x98]
push ebp
push esi
mov esi, dword [ebx]
mov ecx, ebx
mov dword [esp + 0xc], esi
call fcn.00444800
mov ebp, eax
test ebp, ebp
je 0x46c73a
call fcn.0043a520
mov eax, dword [esp + 0xa4]
push eax
mov eax, dword [esp + 0xac]
push ebx
lea ecx, [esp + 0x60]
mov dword [ebx + 0x2c], 2
call fcn.0042de20
add esp, 8
mov dword [esp + 0x2c], eax
test eax, eax
jl 0x46c73a
push edi
mov edi, dword [esi + 0x10]
mov ecx, eax
shl ecx, 4
add edi, ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x18], edi
cmp eax, 1
jne 0x469b42
mov eax, ebx
call fcn.00448490
test eax, eax
jne 0x46c739
mov eax, dword [esp + 0x5c]
push esi
call fcn.0041e6e0
add esp, 4
mov dword [esp + 0x7c], eax
test eax, eax
je 0x46c739
cmp dword [esp + 0xb4], 0
je 0x469b7c
mov ecx, dword [esp + 0xb0]
push ecx
push 0x4d1a60
call fcn.0042aec0
add esp, 8
jmp 0x469b8c
mov eax, dword [esp + 0xb0]
push esi
call fcn.0041e6e0
add esp, 4
mov edx, dword [esp + 0xac]
cmp dword [edx + 4], 0
mov dword [esp + 0x20], eax
jbe 0x469ba1
mov edi, dword [edi]
jmp 0x469ba3
xor edi, edi
push edi
push eax
mov eax, dword [esp + 0x84]
push eax
push 0x13
mov eax, ebx
mov dword [esp + 0x3c], edi
call fcn.0042dbd0
add esp, 0x10
test eax, eax
jne 0x46c71c
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0x7c]
xor ecx, ecx
mov eax, esi
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x94], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x90], edi
mov dword [eax + 0x1c8], ecx
lea ecx, [esp + 0x8c]
push ecx
push 0xe
push edx
push eax
call fcn.00449370
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x469c50
push 1
mov edi, ebp
call fcn.0041d0d0
mov eax, dword [esp + 0x90]
push 0xffffffffffffffff
push eax
push esi
push esi
mov ecx, ebp
call fcn.00428250
mov eax, dword [esp + 0xa0]
mov ecx, ebp
call fcn.004446b0
mov ecx, dword [esp + 0xa0]
push ecx
call fcn.00409f80
add esp, 0x18
jmp 0x46c71c
cmp esi, 0xc
je 0x469c88
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x469c7d
push eax
push 0x4cde78
mov edi, ebx
call fcn.0042b190
mov edx, dword [esp + 0x94]
push edx
call fcn.00409f80
add esp, 0xc
inc dword [ebx + 0x24]
mov dword [ebx + 0xc], esi
jmp 0x46c71c
push edi
call fcn.0041ecd0
mov esi, eax
add esp, 4
mov dword [esp + 0x1c], esi
test esi, esi
je 0x46c71c
test byte [esi + 5], 1
je 0x469cb6
push ebx
call fcn.0047e150
add esp, 4
test eax, eax
jne 0x46c71c
mov al, byte [esi + 5]
mov edi, dword [esp + 0x20]
test al, 2
jne 0x469cd4
test al, 4
je 0x469cc9
test edi, edi
jne 0x469cd4
push esi
mov eax, ebp
call fcn.00429500
add esp, 4
movzx eax, byte [esi + 4]
dec eax
cmp eax, 0x2a
ja case.0x469ce2.5
jmp dword [eax*4 + 0x46c744]
mov esi, dword [esp + 0x30]
mov ecx, esi
mov edx, ebp
call fcn.00411110
test edi, edi
jne 0x469d21
add dword [ebx + 0x2c], 2
push 9
mov eax, 0x4c97e8
mov ecx, ebp
call fcn.0043a540
add esp, 4
mov dword [eax + 4], esi
mov dword [eax + 0x18], esi
mov dword [eax + 0x7c], 0xfffff830
jmp 0x46c71c
mov ecx, dword [esp + 0x20]
call fcn.0041a380
call fcn.0040b800
mov edi, dword [esp + 0x30]
mov esi, eax
push 0
mov eax, ebx
call fcn.004485c0
push esi
push 3
push edi
push 0x64
push ebp
call fcn.0043a200
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0xc]
mov dword [ecx + 0x50], esi
mov edx, dword [eax + 0xc]
mov ecx, dword [edx + 0x50]
mov esi, dword [eax + 4]
push ecx
call fcn.0041c950
add esp, 0x1c
jmp 0x46c71c
mov edx, dword [esp + 0x18]
mov esi, dword [edx + 4]
test edi, edi
jne 0x469d8d
test esi, esi
je 0x469d86
mov eax, esi
call fcn.0040ffe0
jmp 0x46c70f
xor eax, eax
jmp 0x46c70f
mov ecx, edi
call fcn.0041a380
mov ecx, dword [esp + 0x10]
push 0
push 0
push eax
push esi
mov dword [ecx + 0x64], eax
call fcn.004469e0
add esp, 0x10
cmp eax, 7
jne 0x46c71c
mov edx, dword [esp + 0x10]
push edx
call fcn.00431f00
add esp, 4
jmp 0x46c71c
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 4]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x1c], 0xffffffff
test edi, edi
je 0x469e07
push str.fast
push edi
call fcn.0041a100
add esp, 8
test eax, eax
jne 0x469df7
mov dword [esp + 0x1c], 2
jmp 0x469e07
xor al, al
mov ecx, edi
call fcn.0041ec00
movzx edx, al
mov dword [esp + 0x1c], edx
mov eax, dword [esp + 0xac]
cmp dword [eax + 4], 0
jne 0x469e51
cmp dword [esp + 0x1c], 0
jl 0x469e51
mov ecx, dword [esp + 0x10]
xor edi, edi
cmp dword [ecx + 0x14], edi
jle 0x469e51
xor ebx, ebx
jmp 0x469e30
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 0x10]
mov eax, dword [esp + 0x1c]
mov esi, dword [ecx + ebx + 4]
call fcn.0041ca40
mov edx, dword [esp + 0x10]
inc edi
add ebx, 0x10
cmp edi, dword [edx + 0x14]
jl 0x469e30
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x24]
call fcn.0041ca40
jmp 0x46c70f
mov esi, dword [esp + 0x30]
xor eax, eax
push esi
mov ecx, ebx
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
call fcn.00448550
inc dword [ebx + 0x2c]
mov eax, dword [esp + 0x80]
movzx ecx, byte [eax]
mov ebx, dword [ebx + 0x2c]
add esp, 4
cmp byte [ecx + 0x4c80c8], 0x70
jne 0x469ebb
push 0xb1
push ebp
mov eax, ebx
mov ecx, esi
call fcn.0043a2b0
add esp, 8
push 0x54
push ebp
mov eax, 1
mov ecx, ebx
call fcn.0043a2b0
jmp 0x46c719
test edi, edi
je 0x469f06
mov edi, dword [esp + 0x20]
lea edx, [esp + 0x3c]
push edx
call fcn.0041a120
add esp, 4
test eax, eax
jne 0x469f06
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
xor edx, edx
cmp ecx, edx
jg 0x469efb
jl 0x469ee8
cmp eax, edx
jae 0x469ef0
xor eax, eax
mov dword [esp + 0x40], edx
jmp 0x469f0c
cmp ecx, edx
jl 0x469f0c
jg 0x469efb
cmp eax, 0xfffffffe
jbe 0x469f0c
mov eax, 0xfffffffe
mov dword [esp + 0x40], edx
jmp 0x469f0c
xor eax, eax
mov dword [esp + 0x40], eax
push eax
push ebx
mov eax, esi
push eax
push 0xb2
push ebp
call fcn.0043a200
add esp, 0x14
push 0x54
push ebp
mov eax, 1
mov ecx, ebx
call fcn.0043a2b0
jmp 0x46c719
mov esi, edi
mov dword [esp + 0x14], str.normal
call fcn.004154a0
mov ecx, dword [esp + 0xac]
mov edx, eax
mov eax, dword [ecx + 4]
test eax, eax
jne 0x469f9f
cmp edx, 0xffffffff
jne 0x469f61
mov edx, dword [esp + 0x10]
movzx eax, byte [edx + 0x59]
jmp 0x469fb2
test eax, eax
jne 0x469f9f
mov ebx, dword [esp + 0x10]
mov esi, 2
cmp dword [ebx + 0x14], esi
jle 0x469f9c
mov edi, 0x20
jmp 0x469f80
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + edi + 4]
call fcn.00410380
mov ecx, eax
call fcn.0041c060
inc esi
add edi, 0x10
cmp esi, dword [ebx + 0x14]
jl 0x469f80
mov byte [ebx + 0x59], dl
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 4]
call fcn.00410380
mov ecx, eax
call fcn.0041c060
cmp eax, 1
jne 0x469fbf
mov dword [esp + 0x14], str.exclusive
mov eax, dword [esp + 0x14]
mov ecx, ebp
call fcn.004446b0
jmp 0x46c71c
test edi, edi
jne 0x469fd8
or ebx, 0xffffffff
jmp 0x46a042
mov eax, edi
call fcn.0040a750
mov dword [esp + 0x24], eax
xor eax, eax
xor ebx, ebx
call fcn.00415550
mov esi, eax
test esi, esi
je 0x46a01c
mov edx, dword [esp + 0x24]
push edx
push esi
push edi
call fcn.0040a980
add esp, 0xc
test eax, eax
je 0x46a018
inc ebx
mov eax, ebx
call fcn.00415550
mov esi, eax
test esi, esi
jne 0x469ff2
or ebx, 0xffffffff
jmp 0x46a042
test esi, esi
jne 0x46a021
or ebx, 0xffffffff
jmp 0x46a042
cmp ebx, 2
jne 0x46a03d
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
and eax, 0x10000000
xor ecx, ecx
or eax, ecx
je 0x46a05e
or ebx, 0xffffffff
jmp 0x46a042
cmp ebx, 0xffffffff
jne 0x46a05e
mov eax, dword [esp + 0xac]
cmp dword [eax + 4], 0
jne 0x46a05e
mov dword [esp + 0x30], 0
mov dword [eax + 4], 1
mov ecx, dword [esp + 0x10]
mov edi, dword [ecx + 0x14]
sub edi, 1
js 0x46a0b1
mov esi, edi
shl esi, 4
nop
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x10]
cmp dword [eax + esi + 4], 0
je 0x46a0a9
cmp edi, dword [esp + 0x30]
je 0x46a091
mov ecx, dword [esp + 0xac]
cmp dword [ecx + 4], 0
jne 0x46a0a9
mov ecx, edi
mov edx, ebp
call fcn.00411110
push ebx
push 1
push edi
push 4
push ebp
call fcn.0043a200
add esp, 0x14
dec edi
sub esi, 0x10
test edi, edi
jge 0x46a070
mov eax, 1
push 0x54
push ebp
mov ecx, eax
call fcn.0043a2b0
jmp 0x46c719
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 4]
call fcn.00410380
mov esi, eax
or ecx, 0xffffffff
mov eax, 0xfffffffe
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ecx
test edi, edi
je 0x46a117
mov edi, dword [esp + 0x20]
lea eax, [esp + 0x3c]
push eax
call fcn.0041a120
mov ecx, dword [esp + 0x44]
add esp, 4
cmp ecx, 0xffffffff
jg 0x46a113
jl 0x46a10c
mov eax, dword [esp + 0x3c]
cmp eax, 0xffffffff
jae 0x46a117
or eax, 0xffffffff
or ecx, eax
jmp 0x46a117
mov eax, dword [esp + 0x3c]
push ecx
push eax
call fcn.0041c090
push edx
push eax
mov edi, ebp
call fcn.0043e1c0
add esp, 0x10
jmp 0x46c71c
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 4]
mov dword [esp + 0x24], eax
test edi, edi
jne 0x46a14a
mov edi, eax
call fcn.0041caf0
jmp 0x46c70f
mov esi, dword [esp + 0x20]
call fcn.0041ec20
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x24]
mov ebx, eax
push ebx
mov byte [edx + 0x5a], bl
call fcn.0041ca90
add esp, 4
test eax, eax
jne 0x46c71c
cmp ebx, 1
je 0x46a17f
cmp ebx, 2
jne 0x46c71c
mov eax, ebp
call fcn.00411010
mov esi, eax
push 5
mov eax, 0x4c9810
mov ecx, ebp
call fcn.0043a540
mov ecx, dword [esp + 0x34]
add esi, 4
dec ebx
add esp, 4
mov edx, ebp
mov dword [eax + 4], ecx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x30], esi
mov dword [eax + 0x54], ecx
mov dword [eax + 0x5c], ebx
call fcn.00411110
jmp 0x46c71c
mov dword [esp + 0x14], 0
test edi, edi
je 0x46a1e2
lea eax, [esp + 0x14]
push eax
push edi
call fcn.0041a200
add esp, 8
test eax, eax
je 0x46a1e2
mov esi, dword [esp + 0x14]
test esi, esi
jg 0x46a1e7
mov esi, SysReAllocString
mov edi, dword [esp + 0x30]
push 0
mov eax, ebx
call fcn.004485c0
push 0x47
push ebp
mov eax, 1
mov ecx, esi
call fcn.0043a2b0
push ebp
mov eax, edi
mov ecx, 0x3e
call fcn.0043a290
mov esi, eax
mov eax, 1
push ebp
lea ecx, [eax + 0x53]
call fcn.0043a290
or eax, 0xffffffff
push 0x56
push ebp
lea ecx, [eax + 2]
call fcn.0043a2b0
push 0x3b
push ebp
mov eax, esi
mov ecx, 1
call fcn.0043a2b0
push esi
mov ecx, ebp
call fcn.0041cdc0
add esp, 0x28
jmp 0x46c71c
test edi, edi
jne 0x46a260
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0x50]
jmp 0x46c70f
mov ecx, edi
call fcn.0041a380
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0xc]
mov dword [edx + 0x50], eax
mov eax, dword [ecx + 0xc]
mov edx, dword [eax + 0x50]
mov esi, dword [ecx + 4]
push edx
call fcn.0041c950
add esp, 4
jmp 0x46c71c
test edi, edi
jne 0x46a2b5
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
and eax, 0x20
xor ecx, ecx
or eax, ecx
je 0x469d86
push ecx
mov ecx, dword [esp + 0x1c]
mov esi, dword [ecx + 4]
call fcn.0041c980
add esp, 4
jmp 0x46c70f
lea edx, [esp + 0x14]
push edx
push edi
mov dword [esp + 0x1c], 1
call fcn.0041a200
mov ebx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x46a2e3
mov eax, dword [esp + 0x18]
mov esi, dword [eax + 4]
push ebx
call fcn.0041c980
add esp, 4
test ebx, ebx
setne al
mov ecx, edi
call fcn.0041ec00
test al, al
mov eax, dword [esp + 0x10]
je 0x46a30f
mov ecx, dword [eax + 0x24]
or dword [eax + 0x20], 0x20
push eax
mov dword [eax + 0x24], ecx
call fcn.0041ec80
add esp, 4
jmp 0x46c71c
mov edx, dword [eax + 0x24]
and dword [eax + 0x20], 0xffffffdf
push eax
mov dword [eax + 0x24], edx
call fcn.0041ec80
add esp, 4
jmp 0x46c71c
test edi, edi
je 0x46a3d6
mov edi, dword [esp + 0x20]
lea eax, [esp + 0x3c]
push eax
call fcn.0041a120
mov eax, dword [esp + 0x44]
add esp, 4
test eax, eax
jg 0x46a364
jl 0x46a351
cmp dword [esp + 0x3c], 0
jae 0x46a364
mov ecx, dword [0x4e32e0]
mov eax, dword [0x4e32e4]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], eax
mov edx, dword [esp + 0xac]
cmp dword [edx + 4], 0
mov ecx, dword [esp + 0x10]
jne 0x46a37f
mov edx, dword [esp + 0x3c]
mov dword [ecx + 0x30], edx
mov dword [ecx + 0x34], eax
mov edi, dword [ecx + 0x14]
sub edi, 1
js 0x46a3da
mov eax, edi
shl eax, 4
mov dword [esp + 0x14], eax
mov edx, dword [ecx + 0x10]
mov esi, dword [edx + eax + 4]
test esi, esi
je 0x46a3c8
cmp edi, dword [esp + 0x30]
je 0x46a3ae
mov edx, dword [esp + 0xac]
cmp dword [edx + 4], 0
jne 0x46a3c8
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
push eax
push ecx
call fcn.004469b0
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
add esp, 8
dec edi
sub eax, 0x10
mov dword [esp + 0x14], eax
test edi, edi
jge 0x46a390
jmp 0x46a3da
mov ecx, dword [esp + 0x10]
or eax, 0xffffffff
lea edx, [esp + 0x3c]
push edx
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x30]
push 0x12
push eax
push ecx
call fcn.00449370
add esp, 0x10
test eax, eax
jne 0x46a40d
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
push ecx
push edx
jmp 0x46c712
cmp eax, 0xc
je 0x46c71c
inc dword [ebx + 0x24]
mov dword [ebx + 0xc], eax
jmp 0x46c71c
test edi, edi
jne 0x46a432
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 0x56]
jmp 0x46c70f
mov eax, dword [esp + 0x20]
mov edi, ebx
call fcn.0045f7d0
jmp 0x46c71c
push 0xb
call fcn.00409cc0
push eax
call fcn.00409d00
add esp, 8
test edi, edi
jne 0x46a474
mov eax, dword [0x4e7e34]
mov ecx, ebp
call fcn.004446b0
push 0xb
call fcn.00409cc0
push eax
call fcn.00409d40
jmp 0x46c719
cmp byte [edi], 0
je 0x46a4b9
mov edx, dword [esp + 0x10]
mov eax, dword [edx]
push 1
push edi
lea ecx, [esp + 0x2c]
call fcn.00409ac0
add esp, 8
test eax, eax
jne 0x46a498
cmp dword [esp + 0x24], eax
jne 0x46a4b9
push str.not_a_writable_directory
mov edi, ebx
call fcn.0042b190
push 0xb
call fcn.00409cc0
push eax
call fcn.00409d40
add esp, 0xc
jmp 0x46c71c
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x56], 1
ja 0x46a4ca
mov eax, ebx
call fcn.0045f770
mov ecx, dword [0x4e7e34]
push ecx
call fcn.00409f80
add esp, 4
cmp byte [edi], 0
je 0x46a503
push edi
push 0x4cde78
call fcn.0042af50
add esp, 8
push 0xb
mov dword [0x4e7e34], eax
call fcn.00409cc0
push eax
call fcn.00409d40
jmp 0x46c719
push 0xb
mov dword [0x4e7e34], 0
call fcn.00409cc0
push eax
call fcn.00409d40
jmp 0x46c719
push 0xb
call fcn.00409cc0
push eax
call fcn.00409d00
add esp, 8
test edi, edi
jne 0x46a551
mov eax, dword [0x4e7e38]
mov ecx, ebp
call fcn.004446b0
push 0xb
call fcn.00409cc0
push eax
call fcn.00409d40
jmp 0x46c719
cmp byte [edi], 0
je 0x46a57d
mov edx, dword [esp + 0x10]
mov eax, dword [edx]
push 1
push edi
lea ecx, [esp + 0x2c]
call fcn.00409ac0
add esp, 8
test eax, eax
jne 0x46a498
cmp dword [esp + 0x24], eax
je 0x46a498
mov eax, dword [0x4e7e38]
push eax
call fcn.00409f80
add esp, 4
cmp byte [edi], 0
je 0x46a5b5
push edi
push 0x4cde78
call fcn.0042af50
add esp, 8
push 0xb
mov dword [0x4e7e38], eax
call fcn.00409cc0
push eax
call fcn.00409d40
jmp 0x46c719
push 0xb
mov dword [0x4e7e38], 0
call fcn.00409cc0
push eax
call fcn.00409d40
jmp 0x46c719
test edi, edi
jne 0x46a5e3
mov ecx, dword [esp + 0x18]
movzx eax, byte [ecx + 8]
dec eax
jmp 0x46c70f
mov edx, dword [esp + 0x10]
cmp byte [edx + 0x55], 0
jne 0x46a601
push str.Safety_level_may_not_be_changed_inside_a_transaction
mov edi, ebx
call fcn.0042b190
add esp, 4
jmp 0x46c71c
cmp dword [esp + 0x30], 1
je 0x46c71c
mov eax, dword [esp + 0x20]
push 1
push 0
push eax
call fcn.0041eb80
add esp, 0xc
inc eax
and eax, 7
jne 0x46a628
mov eax, 1
mov ecx, dword [esp + 0x18]
mov byte [ecx + 8], al
mov byte [ecx + 9], 1
mov ecx, dword [esp + 0x10]
push ecx
call fcn.0041ec80
add esp, 4
jmp 0x46c71c
test edi, edi
jne 0x46a674
push esi
mov eax, ebp
call fcn.00429500
mov eax, dword [esi + 8]
mov ecx, dword [esp + 0x14]
mov esi, dword [esi + 0xc]
and eax, dword [ecx + 0x20]
and esi, dword [ecx + 0x24]
add esp, 4
or eax, esi
je 0x469d86
lea eax, [edi + 1]
jmp 0x46c70f
mov eax, dword [esi + 0xc]
mov ebx, dword [esi + 8]
mov esi, dword [esp + 0x10]
cmp byte [esi + 0x55], 0
mov dword [esp + 0x40], eax
jne 0x46a692
and ebx, 0xffffbfff
mov dword [esp + 0x40], eax
xor al, al
mov ecx, edi
call fcn.0041ec00
test al, al
je 0x46a6ab
mov edx, dword [esp + 0x40]
or dword [esi + 0x20], ebx
or dword [esi + 0x24], edx
jmp 0x46a6f7
mov eax, dword [esp + 0x40]
mov ecx, ebx
mov edx, eax
not ecx
and dword [esi + 0x20], ecx
not edx
and dword [esi + 0x24], edx
cmp ebx, 0x80000
jne 0x46a6d7
xor ecx, ecx
cmp eax, ecx
jne 0x46a6d7
mov dword [esi + 0x208], ecx
mov dword [esi + 0x20c], ecx
and ebx, 1
xor eax, eax
or ebx, eax
je 0x46a6f7
push str.reset
push edi
call fcn.0041a100
add esp, 8
test eax, eax
jne 0x46a6f7
call fcn.0042ddb0
mov eax, 0xa6
mov ecx, ebp
call fcn.0043a270
push esi
call fcn.0041ec80
add esp, 4
jmp 0x46c71c
test edi, edi
je 0x46c71c
mov esi, dword [esp + 0x2c]
push esi
push ebx
call fcn.00448570
mov eax, dword [esp + 0x28]
push esi
push eax
push 2
push ebx
call fcn.0047e570
mov esi, eax
add esp, 0x18
mov dword [esp + 0x34], esi
test esi, esi
je 0x46c71c
xor edi, edi
mov dword [esp + 0x28], edi
call fcn.004141a0
mov dword [esp + 0x24], eax
push ebx
mov eax, esi
mov dword [ebx + 0x2c], 7
call fcn.004588d0
movsx eax, word [esi + 0x22]
mov ebx, dword [esi + 4]
add esp, 4
cmp eax, edi
mov dword [esp + 0x48], edi
jle 0x46c71c
mov edx, dword [esp + 0x1c]
jmp 0x46a780
movzx ecx, word [ebx + 0xe]
xor esi, esi
test cl, 0x62
je 0x46a7b4
mov esi, dword [edx + 8]
or esi, dword [edx + 0xc]
jne 0x46a79c
inc dword [esp + 0x28]
jmp 0x46a85a
test cl, 0x20
je 0x46a7a8
mov esi, 2
jmp 0x46a7b4
movzx esi, cl
and esi, 0x40
or esi, 0x20
shr esi, 5
test cl, 1
jne 0x46a7bd
xor edi, edi
jmp 0x46a7e2
mov ecx, dword [esp + 0x24]
mov edi, 1
test ecx, ecx
je 0x46a7e2
cmp eax, edi
jl 0x46a7e2
mov ecx, dword [ecx + 4]
movsx edx, word [ecx]
cmp edx, dword [esp + 0x48]
je 0x46a7e2
inc edi
add ecx, 2
cmp edi, eax
jle 0x46a7d1
mov eax, dword [esp + 0x34]
mov ecx, ebx
call fcn.00414120
cmp esi, 2
jge 0x46a7fb
test eax, eax
je 0x46a7fb
mov eax, dword [eax + 8]
jmp 0x46a7fd
xor eax, eax
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 8]
or edx, dword [ecx + 0xc]
mov dword [esp + 0x14], str.issisii
jne 0x46a819
mov dword [esp + 0x14], str.issisi
test byte [ebx + 4], 0xf
push esi
push edi
push eax
mov eax, 0
setne al
push eax
push 0x4c5279
mov eax, ebx
call fcn.0040a770
mov ecx, dword [ebx]
mov edx, dword [esp + 0x5c]
sub edx, dword [esp + 0x3c]
add esp, 4
push eax
mov eax, dword [esp + 0x28]
push ecx
push edx
push eax
push 1
mov eax, ebp
call fcn.00442680
mov edx, dword [esp + 0x40]
add esp, 0x24
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x48]
movsx eax, word [eax + 0x22]
inc ecx
add ebx, 0x10
cmp ecx, eax
mov dword [esp + 0x48], ecx
jl 0x46a780
jmp 0x46c71c
mov ecx, dword [esp + 0x2c]
push ecx
push ebx
mov dword [ebx + 0x2c], 6
call fcn.00448570
mov edx, dword [esp + 0x18]
add esp, 8
cmp dword [edx + 0x14], 0
mov dword [esp + 0x28], 0
jle 0x46c71c
mov dword [esp + 0x4c], 0
mov esi, edx
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x46a8d4
mov edx, dword [esp + 0x4c]
mov ecx, dword [esi + 0x10]
mov ecx, dword [ecx + edx]
push ecx
push eax
call fcn.0041a100
add esp, 8
test eax, eax
jne 0x46aa4e
mov edx, dword [esi + 0x10]
mov eax, dword [esp + 0x4c]
mov eax, dword [edx + eax + 0xc]
mov ebx, dword [eax + 0xc]
add eax, 8
test ebx, ebx
je 0x46a997
lea ecx, [ecx]
mov ecx, dword [eax + 8]
dec ebx
test ecx, ecx
je 0x46a997
lea esp, [esp]
mov edx, dword [ecx + 8]
cmp word [edx + 0x22], 0
je 0x46a915
mov ecx, dword [ecx]
test ecx, ecx
jne 0x46a900
jmp 0x46a997
mov ecx, dword [edx]
push ecx
push str.SELECTFROM__w_
call fcn.0042aec0
mov edi, eax
add esp, 8
test edi, edi
je 0x46a957
push 0
lea edx, [esp + 0x18]
push edx
push 0xffffffffffffffff
push edi
push esi
mov dword [esp + 0x28], 0
call fcn.004156b0
mov eax, dword [esp + 0x28]
push eax
call fcn.00461cd0
push edi
push esi
call fcn.0040a090
add esp, 0x20
cmp byte [esi + 0x57], 0
je 0x46a981
mov esi, dword [esp + 0x10]
mov edi, dword [esi + 0x10c]
push 0x4c6354
call fcn.0042b190
mov ecx, dword [esi + 0x10c]
add esp, 4
mov dword [ecx + 0xc], 7
mov edx, dword [esi + 0x10]
mov eax, dword [esp + 0x4c]
mov eax, dword [edx + eax + 0xc]
add eax, 8
test ebx, ebx
jne 0x46a8f0
mov eax, dword [eax + 8]
mov dword [esp + 0x14], eax
test eax, eax
je 0x46aa4e
mov ebx, dword [esp + 0x20]
lea ebx, [ebx]
mov edi, dword [eax + 8]
test ebx, ebx
je 0x46a9c7
mov ecx, dword [edi]
push ecx
push ebx
call fcn.0041a100
add esp, 8
test eax, eax
jne 0x46aa3c
mov al, byte [edi + 0x2b]
cmp al, 2
jne 0x46a9d5
mov ecx, str.view
jmp 0x46a9f3
cmp al, 1
jne 0x46a9e0
mov ecx, str.virtual
jmp 0x46a9f3
test dword [edi + 0x1c], 0x1000
mov ecx, str.shadow
jne 0x46a9f3
mov ecx, str.table
mov eax, dword [edi + 0x1c]
mov edx, eax
shr edx, 0x10
shr eax, 7
and edx, 1
push edx
and eax, 1
push eax
movsx eax, word [edi + 0x22]
mov edi, dword [edi]
push eax
push ecx
call fcn.00413f90
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 0x10]
push eax
mov eax, dword [esp + 0x60]
mov ecx, dword [edx + eax]
push ecx
push str.sssiii
push 1
mov eax, ebp
call fcn.00442680
mov esi, dword [esp + 0x30]
mov ebx, dword [esp + 0x40]
add esp, 0x20
mov edx, dword [esp + 0x14]
mov eax, dword [edx]
mov dword [esp + 0x14], eax
test eax, eax
jne 0x46a9b0
mov eax, dword [esp + 0x28]
add dword [esp + 0x4c], 0x10
inc eax
cmp eax, dword [esi + 0x14]
mov dword [esp + 0x28], eax
jl 0x46a8b0
jmp 0x46c71c
test edi, edi
je 0x46c71c
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x2c]
push eax
push ecx
mov eax, edi
call fcn.00413fe0
mov esi, eax
add esp, 8
test esi, esi
jne 0x46aac2
mov edx, dword [esp + 0x20]
push edi
push edx
push 2
push ebx
call fcn.0047e570
add esp, 0x10
test eax, eax
je 0x46c71c
test byte [eax + 0x1c], 0x80
je 0x46c71c
call fcn.004141a0
mov esi, eax
test esi, esi
je 0x46c71c
mov edx, dword [esi + 0x18]
mov ecx, dword [esp + 0x10]
call fcn.00415690
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 8]
or edx, dword [ecx + 0xc]
je 0x46aaeb
movzx ecx, word [esi + 0x34]
mov dword [esp + 0x28], ecx
mov dword [ebx + 0x2c], 6
jmp 0x46aafa
movzx edx, word [esi + 0x32]
mov dword [esp + 0x28], edx
mov dword [ebx + 0x2c], 3
mov ecx, dword [esi + 0xc]
mov dword [esp + 0x24], ecx
push eax
mov ecx, ebx
call fcn.00448550
xor edi, edi
add esp, 4
cmp dword [esp + 0x28], edi
jle 0x46c71c
jmp 0x46ab20
mov edx, dword [esi + 4]
movzx eax, word [edx + edi*2]
test ax, ax
jge 0x46ab30
xor ecx, ecx
jmp 0x46ab40
mov edx, dword [esp + 0x24]
mov edx, dword [edx + 4]
movsx ecx, ax
shl ecx, 4
mov ecx, dword [ecx + edx]
push ecx
cwde
push eax
push edi
push str.iisX
push 1
mov eax, ebp
call fcn.00442680
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 8]
add esp, 0x14
or ecx, dword [eax + 0xc]
je 0x46ab8d
movzx edx, word [esi + 0x32]
mov ecx, dword [esi + 0x20]
xor eax, eax
cmp edi, edx
mov edx, dword [ecx + edi*4]
setl al
push eax
mov eax, dword [esi + 0x1c]
movzx ecx, byte [eax + edi]
push edx
push ecx
push str.isiX
push 4
mov eax, ebp
call fcn.00442680
add esp, 0x14
mov eax, dword [ebx + 0x2c]
push 0x54
push ebp
mov ecx, 1
call fcn.0043a2b0
inc edi
add esp, 8
cmp edi, dword [esp + 0x28]
jl 0x46ab20
jmp 0x46c71c
test edi, edi
je 0x46c71c
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x10]
push edx
push eax
call fcn.00413da0
mov esi, eax
add esp, 8
test esi, esi
je 0x46c71c
mov edx, dword [esi + 0x3c]
mov ecx, edi
call fcn.00415690
push eax
mov ecx, ebx
mov dword [ebx + 0x2c], 5
call fcn.00448550
mov esi, dword [esi + 8]
add esp, 4
xor edi, edi
test esi, esi
je 0x46c71c
mov dword [esp + 0x3c], 0x4d19b8
mov dword [esp + 0x40], 0x4d19b4
mov dword [esp + 0x44], 0x4c6ac4
lea esp, [esp]
mov edx, dword [esi + 0x38]
xor ecx, ecx
cmp dword [esi + 0x24], ecx
setne cl
and edx, 3
mov eax, dword [esp + edx*4 + 0x3c]
mov edx, dword [esi]
push ecx
xor ecx, ecx
cmp byte [esi + 0x36], cl
push eax
setne cl
mov eax, ebp
push ecx
push edx
push edi
push str.isisi
push 1
call fcn.00442680
mov esi, dword [esi + 0x14]
add esp, 0x1c
inc edi
test esi, esi
jne 0x46ac20
jmp 0x46c71c
mov eax, dword [esp + 0x10]
xor esi, esi
mov dword [ebx + 0x2c], 3
cmp dword [eax + 0x14], esi
jle 0x46c71c
xor edi, edi
mov ebx, eax
lea esp, [esp]
mov ecx, dword [ebx + 0x10]
mov eax, dword [ecx + edi + 4]
lea edx, [ecx + edi]
test eax, eax
je 0x46aca9
call fcn.004104f0
mov edx, dword [edx]
push eax
push edx
push esi
push 0x4d19a8
push 1
mov eax, ebp
call fcn.00442680
add esp, 0x14
inc esi
add edi, 0x10
cmp esi, dword [ebx + 0x14]
jl 0x46ac80
jmp 0x46c71c
mov eax, dword [esp + 0x10]
mov dword [ebx + 0x2c], 2
mov esi, dword [eax + 0x1b8]
xor edi, edi
test esi, esi
je 0x46c71c
mov ecx, dword [esi + 8]
mov edx, dword [ecx]
push edx
push edi
push 0x4d19a4
push 1
mov eax, ebp
call fcn.00442680
mov esi, dword [esi]
add esp, 0x10
inc edi
test esi, esi
jne 0x46acd2
jmp 0x46c71c
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x18]
shr edi, 5
mov dword [ebx + 0x2c], 6
and edi, 1
mov ebx, 0x4e7c28
nop
mov esi, dword [ebx]
test esi, esi
je 0x46ad2b
push edi
push 1
push ebp
mov eax, esi
call fcn.004446e0
mov esi, dword [esi + 0x24]
add esp, 0xc
test esi, esi
jne 0x46ad16
add ebx, 4
cmp ebx, 0x4e7c84
jl 0x46ad10
mov ecx, dword [esp + 0x10]
mov esi, dword [ecx + 0x1a8]
test esi, esi
je 0x46c71c
mov eax, dword [esi + 8]
push edi
push 0
push ebp
call fcn.004446e0
mov esi, dword [esi]
add esp, 0xc
test esi, esi
jne 0x46ad48
jmp 0x46c71c
mov edx, dword [esp + 0x10]
mov dword [ebx + 0x2c], 1
mov edi, dword [edx + 0x18c]
test edi, edi
je 0x46c71c
jmp 0x46ad80
mov eax, dword [edi + 8]
mov ecx, dword [eax + 4]
push ecx
push 0x4ce2a8
push 1
mov eax, ebp
call fcn.00442680
mov edi, dword [edi]
add esp, 0xc
test edi, edi
jne 0x46ad80
jmp 0x46c71c
mov esi, 0x4c9388
mov edx, dword [esi]
push edx
push 0x4ce2a8
push 1
mov eax, ebp
call fcn.00442680
add esi, 0x10
add esp, 0xc
cmp esi, 0x4c97b8
jl 0x46ada8
jmp 0x46c71c
test edi, edi
je 0x46c71c
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x10]
push eax
push ecx
call fcn.00413da0
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
je 0x46c71c
cmp byte [eax + 0x2b], 0
jne 0x46c71c
mov esi, dword [eax + 0x30]
test esi, esi
je 0x46c71c
mov edx, dword [eax + 0x3c]
mov ecx, edi
call fcn.00415690
push eax
mov ecx, ebx
mov dword [esp + 0x2c], 0
mov dword [ebx + 0x2c], 8
call fcn.00448550
add esp, 4
nop
xor ebx, ebx
cmp dword [esi + 0x14], ebx
jle 0x46ae8f
lea edi, [esi + 0x24]
lea ebx, [ebx]
mov al, byte [esi + 0x19]
push str.NONE
call fcn.00415510
push eax
mov al, byte [esi + 0x1a]
call fcn.00415510
mov edx, dword [edi + 4]
mov ecx, dword [esp + 0x1c]
push eax
mov eax, dword [edi]
push edx
mov edx, dword [ecx + 4]
mov ecx, dword [esi + 8]
shl eax, 4
mov eax, dword [eax + edx]
mov edx, dword [esp + 0x38]
push eax
push ecx
push ebx
push edx
push str.iissssss
push 1
mov eax, ebp
call fcn.00442680
inc ebx
add esp, 0x28
add edi, 8
cmp ebx, dword [esi + 0x14]
jl 0x46ae40
mov esi, dword [esi + 4]
inc dword [esp + 0x28]
test esi, esi
jne 0x46ae30
jmp 0x46c71c
mov eax, dword [ebx + 0x2c]
mov edx, dword [esp + 0x10]
lea ecx, [eax + 1]
add eax, 5
mov dword [ebx + 0x2c], eax
mov dword [esp + 0x1c], eax
mov eax, dword [edx + 0x10]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x24]
mov edx, dword [eax + ecx + 0xc]
mov eax, dword [edx + 0x10]
test eax, eax
je 0x46c71c
mov edi, dword [esp + 0x20]
test edi, edi
je 0x46aeec
mov eax, dword [esp + 0x2c]
push eax
push edi
push 0
push ebx
call fcn.0047e570
add esp, 0x10
mov esi, eax
xor eax, eax
jmp 0x46aef1
mov esi, dword [eax + 8]
mov eax, dword [eax]
mov dword [esp + 0x14], eax
mov dword [esp + 0x48], esi
test esi, esi
je 0x46b246
cmp byte [esi + 0x2b], 0
jne 0x46b246
cmp dword [esi + 0x30], 0
je 0x46b246
mov edx, dword [esi + 0x3c]
mov ecx, dword [esp + 0x10]
call fcn.00415690
mov edx, dword [esp + 0x10]
mov edi, eax
mov eax, dword [edx + 0x10]
mov ecx, edi
shl ecx, 4
mov ecx, dword [ecx + eax]
mov dword [esp + 0x2c], ecx
push edi
mov ecx, ebx
mov dword [esp + 0x34], edi
call fcn.00448550
mov edx, dword [esi]
mov eax, dword [esi + 0x14]
push edx
push 0
push eax
mov ecx, edi
mov edx, ebx
call fcn.0043cf70
movsx eax, word [esi + 0x22]
add eax, dword [esp + 0x2c]
mov ecx, ebx
call fcn.004139e0
push 0x70
push 0
push ebx
mov eax, esi
mov ecx, edi
call fcn.0044d360
mov eax, dword [esi]
mov ecx, dword [esp + 0x50]
add esp, 0x1c
mov edi, ebp
call fcn.00442660
mov esi, dword [esi + 0x30]
mov dword [esp + 0x18], 1
test esi, esi
je 0x46b031
mov ecx, dword [esp + 0x2c]
mov edx, dword [esi + 8]
mov edi, dword [esp + 0x10]
push ecx
push edx
call fcn.00413da0
mov edi, eax
add esp, 8
test edi, edi
je 0x46b022
mov eax, dword [edi]
mov ecx, dword [edi + 0x14]
push eax
push 0
push ecx
mov ecx, dword [esp + 0x3c]
mov edx, ebx
mov dword [esp + 0x44], 0
call fcn.0043cf70
lea edx, [esp + 0x44]
push edx
push esi
push edi
push ebx
xor eax, eax
call fcn.0042ee00
add esp, 0x1c
test eax, eax
jne 0x46c71c
cmp dword [esp + 0x38], 0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x30]
jne 0x46b004
push 0x70
push eax
push ebx
mov eax, edi
call fcn.0044d360
add esp, 0xc
jmp 0x46b022
mov edi, dword [esp + 0x38]
mov edx, dword [edi + 0x2c]
push ecx
push edx
push eax
push 0x70
push ebp
call fcn.0043a200
add esp, 0x14
mov ecx, edi
mov eax, ebx
call fcn.0044b460
mov esi, dword [esi + 4]
inc dword [esp + 0x18]
test esi, esi
jne 0x46af94
mov eax, dword [esp + 0x18]
cmp dword [ebx + 0x28], eax
jge 0x46b03d
mov dword [ebx + 0x28], eax
xor eax, eax
push ebp
lea ecx, [eax + 0x24]
call fcn.0043a290
mov ecx, dword [esp + 0x4c]
mov ebx, dword [ecx + 0x30]
add esp, 4
mov dword [esp + 0x5c], eax
mov dword [esp + 0x18], 1
test ebx, ebx
je 0x46b21b
jmp 0x46b070
mov edx, dword [esp + 0x2c]
mov eax, dword [ebx + 8]
mov edi, dword [esp + 0x10]
push edx
push eax
call fcn.00413da0
xor ecx, ecx
add esp, 8
mov dword [esp + 0x24], eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x60], ecx
cmp eax, ecx
je 0x46b0b2
mov edx, dword [esp + 0xa4]
lea ecx, [esp + 0x38]
push ecx
push ebx
push eax
push edx
lea eax, [esp + 0x70]
call fcn.0042ee00
add esp, 0x10
mov ecx, dword [esp + 0xa4]
mov eax, ecx
call fcn.00410ed0
mov dword [esp + 0x50], eax
mov eax, dword [ebx + 0x14]
add eax, dword [esp + 0x1c]
call fcn.004139e0
xor esi, esi
cmp dword [ebx + 0x14], esi
jle 0x46b11f
mov edi, dword [esp + 0x1c]
lea eax, [ebx + 0x24]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x60]
test eax, eax
je 0x46b0ef
mov eax, dword [eax + esi*4]
jmp 0x46b0f5
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov ecx, dword [esp + 0x48]
push edi
push 0
push ebp
call fcn.00457970
mov eax, dword [esp + 0x5c]
push 0x32
push ebp
mov ecx, edi
call fcn.0043a2b0
add dword [esp + 0x3c], 8
inc esi
add esp, 0x14
inc edi
cmp esi, dword [ebx + 0x14]
jl 0x46b0e2
cmp dword [esp + 0x38], 0
je 0x46b16c
mov edx, dword [ebx + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
mov eax, dword [esp + 0x40]
call fcn.0043dea0
mov esi, dword [esp + 0x24]
mov ecx, dword [ebx + 0x14]
add esp, 4
push eax
push esi
push 0x60
xor eax, eax
mov edi, ebp
call fcn.0043a2f0
mov ecx, dword [ebx + 0x14]
mov edx, dword [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x64]
push edx
mov eax, esi
push 0x1d
mov esi, ebp
call fcn.0043a4c0
add esp, 0x1c
jmp 0x46b19e
cmp dword [esp + 0x24], 0
je 0x46b19e
mov eax, dword [esp + 0x1c]
push eax
mov eax, ebp
call fcn.00411010
mov ecx, dword [esp + 0x1c]
add eax, 2
push eax
push ecx
push 0x1e
push ebp
call fcn.0043a200
mov eax, dword [esp + 0x64]
add esp, 0x14
mov ecx, ebp
call fcn.0043a2d0
mov edx, dword [esp + 0x48]
mov esi, dword [esp + 0x34]
xor ecx, ecx
test byte [edx + 0x1c], 0x80
lea eax, [esi + 1]
jne 0x46b1b8
push 0x87
jmp 0x46b1ba
push 0x4b
push ebp
call fcn.0043a2b0
mov edi, dword [esp + 0x20]
mov ecx, dword [ebx + 8]
add esp, 8
lea eax, [edi - 1]
push eax
push ecx
lea eax, [esi + 2]
push 0x4d1994
push eax
mov eax, ebp
call fcn.00442680
push 0x54
push ebp
mov eax, 4
mov ecx, esi
call fcn.0043a2b0
mov ecx, dword [esp + 0x68]
mov edx, ebp
call fcn.00422330
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x28]
push edx
push eax
call fcn.0040a090
mov ebx, dword [ebx + 4]
inc edi
add esp, 0x20
mov dword [esp + 0x18], edi
test ebx, ebx
jne 0x46b070
mov esi, dword [esp + 0x5c]
push 0x27
lea eax, [esi + 1]
push ebp
xor ecx, ecx
call fcn.0043a2b0
push esi
mov ecx, ebp
call fcn.0041cdc0
mov ebx, dword [esp + 0xb0]
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x2c]
add esp, 0xc
test eax, eax
jne 0x46aed1
jmp 0x46c71c
test edi, edi
je 0x46c71c
mov ecx, dword [esp + 0x20]
xor al, al
call fcn.0041ec00
mov esi, dword [esp + 0x10]
movzx ecx, al
push ecx
call fcn.00444610
add esp, 4
jmp 0x46c71c
mov edx, dword [esp + 0x7c]
movzx eax, byte [edx]
mov edx, dword [esp + 0xac]
xor ecx, ecx
cmp byte [eax + 0x4c80c8], 0x71
mov dword [esp + 0x70], 0
sete cl
cmp dword [edx], 0
mov dword [esp + 0x80], ecx
jne 0x46b2b2
or esi, 0xffffffff
mov dword [esp + 0x30], esi
jmp 0x46b2b6
mov esi, dword [esp + 0x30]
mov dword [ebx + 0x2c], 6
mov dword [esp + 0x48], 0x64
test edi, edi
je 0x46b312
lea eax, [esp + 0x48]
push eax
push edi
call fcn.0041a200
add esp, 8
test eax, eax
je 0x46b2ec
cmp dword [esp + 0x48], 0
jg 0x46b312
mov dword [esp + 0x48], 0x64
jmp 0x46b312
test esi, esi
jl 0x46b2ff
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x10]
shl esi, 4
mov eax, dword [esi + edx]
jmp 0x46b301
xor eax, eax
push eax
push edi
push 0
push ebx
call fcn.0047e570
add esp, 0x10
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x48]
push 0x47
dec ecx
push ebp
mov eax, 1
call fcn.0043a2b0
mov eax, dword [esp + 0x18]
xor ebx, ebx
add esp, 8
cmp dword [eax + 0x14], ebx
mov dword [esp + 0x28], ebx
jle 0x46c11e
lea ebx, [ebx]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x34], 0
test eax, eax
jl 0x46b358
cmp ebx, eax
jne 0x46c10c
mov esi, dword [esp + 0xa4]
push ebx
mov ecx, esi
call fcn.00448550
mov ecx, dword [esp + 0x14]
mov byte [esi + 0x17], 0
mov edx, dword [ecx + 0x10]
mov eax, ebx
shl eax, 4
mov dword [esp + 0x28], eax
mov eax, dword [eax + edx + 0xc]
mov edi, dword [eax + 0x10]
add eax, 8
add esp, 4
xor edx, edx
mov dword [esp + 0x14], eax
test edi, edi
je 0x46c10c
mov esi, dword [esp + 0x70]
lea ebx, [ebx]
mov eax, dword [edi + 8]
test esi, esi
je 0x46b3ab
cmp esi, eax
jne 0x46b3d3
test byte [eax + 0x1c], 0x80
jne 0x46b3b2
inc edx
mov eax, dword [eax + 8]
xor ecx, ecx
test eax, eax
je 0x46b3c9
jmp 0x46b3c0
mov eax, dword [eax + 0x14]
inc edx
inc ecx
test eax, eax
jne 0x46b3c0
cmp ecx, dword [esp + 0x34]
jle 0x46b3d3
mov dword [esp + 0x34], ecx
mov edi, dword [edi]
test edi, edi
jne 0x46b3a0
test edx, edx
je 0x46c10c
mov ebx, dword [esp + 0x70]
test ebx, ebx
je 0x46b3ea
inc edx
mov esi, dword [esp + 0x10]
lea eax, [edx*4 + 4]
push 0
push eax
mov ecx, esi
call fcn.00419be0
mov edi, eax
add esp, 8
test edi, edi
je 0x46c11e
xor edx, edx
test ebx, ebx
je 0x46b41e
mov edx, 1
mov dword [edi + 4], 0
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x46b46b
lea esp, [esp]
mov eax, dword [ecx + 8]
test ebx, ebx
je 0x46b43b
cmp ebx, eax
jne 0x46b465
test byte [eax + 0x1c], 0x80
jne 0x46b44c
mov ebx, dword [eax + 0x14]
inc edx
mov dword [edi + edx*4], ebx
mov ebx, dword [esp + 0x70]
mov eax, dword [eax + 8]
test eax, eax
je 0x46b465
mov ebx, dword [eax + 0x2c]
inc edx
mov dword [edi + edx*4], ebx
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x46b453
mov ebx, dword [esp + 0x70]
mov ecx, dword [ecx]
test ecx, ecx
jne 0x46b430
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0xa4]
add eax, 8
mov dword [edi], edx
call fcn.004139e0
mov eax, ecx
call fcn.004139d0
push 0xfffffffffffffff2
push edi
push 2
push 0x9b
mov eax, 1
mov ecx, edx
mov edi, ebp
call fcn.0043a2f0
movzx dx, byte [esp + 0x38]
mov ecx, ebp
call fcn.00411050
mov eax, 2
push ebp
lea ecx, [eax + 0x30]
call fcn.0043a290
mov edx, dword [esi + 0x10]
add esp, 0x14
mov ebx, eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + edx]
push 0xfffffffffffffffa
push ecx
push str._in_database__s__n
call fcn.0042aec0
add esp, 8
push eax
xor eax, eax
push 0
push 0x75
lea ecx, [eax + 3]
call fcn.0043a2f0
push 3
push 3
push 2
push 0x6f
push ebp
call fcn.0043a200
mov esi, ebp
call fcn.0043e1f0
push ebx
mov ecx, ebp
call fcn.0041cdc0
mov edx, dword [esp + 0x3c]
mov eax, dword [edx + 8]
add esp, 0x28
mov dword [esp + 0x24], eax
test eax, eax
je 0x46c108
jmp 0x46b520
mov ebx, dword [eax + 8]
mov ecx, dword [esp + 0x70]
mov edi, dword [esp + 0xa4]
xor eax, eax
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], eax
mov dword [esp + 0x4c], 0xffffffff
cmp byte [ebx + 0x2b], al
jne 0x46c0f6
cmp ecx, eax
je 0x46b555
cmp ecx, ebx
jne 0x46c0f6
cmp dword [esp + 0x80], eax
jne 0x46b59b
test byte [ebx + 0x1c], 0x80
je 0x46b59b
mov eax, ebx
call fcn.004141a0
mov esi, eax
movzx edx, word [esi + 0x32]
mov eax, edi
mov dword [esp + 0x18], esi
call fcn.00413970
movzx ecx, word [esi + 0x32]
lea edx, [ecx + eax - 1]
push edx
push eax
push 1
push 0x4b
push ebp
mov dword [esp + 0x48], eax
call fcn.0043a200
add esp, 0x14
xor eax, eax
jmp 0x46b5a3
mov dword [esp + 0x18], eax
mov dword [esp + 0x34], eax
lea ecx, [esp + 0x38]
push ecx
push eax
push eax
push 0x70
push ebx
push edi
lea eax, [esp + 0x74]
mov ecx, 1
call fcn.0044d5a0
push 0x47
push ebp
mov eax, 7
xor ecx, ecx
call fcn.0043a2b0
mov esi, dword [ebx + 8]
add esp, 0x20
test esi, esi
je 0x46b5f7
mov edi, 8
lea ebx, [ebx]
push 0x47
push ebp
mov eax, edi
xor ecx, ecx
call fcn.0043a2b0
mov esi, dword [esi + 0x14]
add esp, 8
inc edi
test esi, esi
jne 0x46b5e0
mov esi, dword [esp + 0x38]
push 0x24
push ebp
xor eax, eax
mov ecx, esi
call fcn.0043a2b0
mov eax, 1
push 0x56
push ebp
lea ecx, [eax + 6]
call fcn.0043a2b0
add esp, 0x10
test byte [ebx + 0x1c], 0x80
mov dword [esp + 0x3c], eax
jne 0x46b64d
movsx edx, word [ebx + 0x22]
or ecx, 0xffffffff
test edx, edx
jle 0x46b643
mov eax, dword [ebx + 4]
add eax, 0xe
test byte [eax], 0x20
jne 0x46b63b
inc ecx
add eax, 0x10
sub edx, 1
jne 0x46b635
movsx edx, word [ebx + 0x20]
cmp ecx, edx
jne 0x46b659
jmp 0x46b658
mov eax, ebx
call fcn.004141a0
movzx ecx, word [eax + 0x34]
dec ecx
test ecx, ecx
jl 0x46b675
push 3
push ecx
push esi
push 0x5e
push ebp
call fcn.0043a200
push 3
mov ecx, ebp
call fcn.0041cda0
add esp, 0x18
cmp dword [esp + 0x80], 0
jne 0x46b758
cmp dword [esp + 0x18], 0
je 0x46b758
mov eax, dword [esp + 0x18]
movzx ecx, word [eax + 0x32]
mov edx, dword [esp + 0x38]
mov edi, dword [esp + 0x34]
push ecx
push edx
push 0x29
mov eax, edi
xor ecx, ecx
mov esi, ebp
call fcn.0043a4c0
mov dword [esp + 0x60], eax
push ebp
mov eax, edi
mov ecx, 0x32
call fcn.0043a290
mov eax, dword [ebx]
mov esi, dword [esp + 0x20]
push eax
push str.row_not_in_PRIMARY_KEY_order_for__s
call fcn.0042aec0
push 0xfffffffffffffffa
push eax
xor eax, eax
push 0
push 0x75
lea ecx, [eax + 3]
mov edi, ebp
call fcn.0043a2f0
mov esi, ebp
call fcn.0043e1f0
mov esi, dword [esp + 0x7c]
push esi
mov ecx, ebp
call fcn.0041cdc0
inc esi
push esi
mov ecx, ebp
call fcn.0041cdc0
mov edx, dword [esp + 0x48]
xor ecx, ecx
add esp, 0x30
mov dword [esp + 0x2c], 0
cmp cx, word [edx + 0x32]
jae 0x46b758
jmp 0x46b720
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0xa4]
push edx
mov edx, dword [esp + 0x1c]
lea edi, [ecx + eax]
call fcn.0045ed70
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
movzx edx, word [ecx + 0x32]
inc eax
add esp, 4
cmp eax, edx
mov dword [esp + 0x2c], eax
jl 0x46b720
movzx ecx, word [ebx + 0x1e]
mov edi, dword [esp + 0x10]
and ecx, 1
xor eax, eax
xor edx, edx
cmp dx, word [ebx + 0x22]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x2c], eax
jge 0x46bb81
mov dword [esp + 0x1c], eax
jmp 0x46b784
mov ecx, dword [esp + 0x68]
mov esi, dword [ebx + 4]
movsx edx, word [ebx + 0x20]
add esi, dword [esp + 0x1c]
mov dword [esp + 0x50], esi
cmp eax, edx
je 0x46bb6b
test ecx, ecx
je 0x46b7b5
mov ecx, dword [esi + 4]
and ecx, 0xf0
mov edx, 0x10
cmp edx, ecx
sbb ecx, ecx
neg ecx
jmp 0x46b7be
xor ecx, ecx
cmp byte [esi + 8], 0x41
setg cl
test byte [esi + 4], 0xf
mov dword [esp + 0x14], ecx
jne 0x46b7d0
test ecx, ecx
je 0x46bb6b
test byte [esi + 0xe], 0x20
mov dword [esp + 0x78], 5
je 0x46b804
mov ecx, dword [esp + 0x38]
push 3
push ecx
push ebp
mov ecx, ebx
call fcn.00457970
add esp, 0xc
or edi, 0xffffffff
mov dword [esp + 0x58], edi
mov dword [esp + 0x74], 3
jmp 0x46b890
cmp word [esi + 0xc], 0
je 0x46b84d
movzx edx, byte [esi + 8]
movzx eax, byte [edi + 0x54]
push edx
push eax
mov ecx, esi
mov eax, ebx
mov dword [esp + 0x60], 0
call fcn.00414120
push edi
lea ecx, [esp + 0x64]
call fcn.0043a0f0
mov esi, dword [esp + 0x64]
add esp, 0xc
test esi, esi
je 0x46b84d
push esi
call fcn.00411c50
add esp, 4
mov dword [esp + 0x78], eax
call fcn.00410e00
test byte [ebx + 0x1c], 0x80
mov edi, dword [esp + 0x38]
mov dword [esp + 0x58], edi
je 0x46b876
mov eax, ebx
call fcn.004141a0
mov esi, dword [esp + 0x2c]
mov edx, eax
call fcn.004141c0
movsx ecx, ax
mov dword [esp + 0x74], ecx
jmp 0x46b88c
mov eax, dword [esp + 0x2c]
mov edi, ebx
call fcn.00414220
mov edi, dword [esp + 0x58]
movsx edx, ax
mov dword [esp + 0x74], edx
mov esi, dword [esp + 0x50]
mov ecx, dword [esp + 0xa4]
mov eax, ecx
call fcn.00410ed0
mov dword [esp + 0x54], eax
mov eax, ecx
call fcn.00410ed0
test byte [esi + 4], 0xf
mov dword [esp + 0x6c], eax
je 0x46b990
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x6c]
push eax
mov eax, dword [esp + 0x78]
push edi
push 0x12
mov esi, ebp
call fcn.0043a4c0
add esp, 0xc
mov esi, eax
mov dword [esp + 0x84], esi
mov ecx, ebp
test edi, edi
jge 0x46b8f3
mov edx, 0xf
call fcn.00411050
mov dword [esp + 0x88], esi
jmp 0x46b92b
mov edx, 0xd
call fcn.00411050
mov ecx, dword [esp + 0x74]
push 3
push ecx
push edi
push 0x5e
push ebp
call fcn.0043a200
mov eax, dword [esp + 0x80]
push 0x33
push ebp
mov ecx, 3
call fcn.0043a2b0
add esp, 0x1c
mov dword [esp + 0x88], eax
mov edx, dword [esp + 0x50]
mov eax, dword [edx]
mov ecx, dword [ebx]
mov esi, dword [esp + 0x10]
push eax
push ecx
push str.NULL_value_in__s._s
call fcn.0042aec0
push 0xfffffffffffffffa
push eax
xor eax, eax
push 0
push 0x75
lea ecx, [eax + 3]
mov edi, ebp
call fcn.0043a2f0
add esp, 0x1c
cmp dword [esp + 0x14], 0
je 0x46b98c
mov eax, dword [esp + 0x54]
mov ecx, ebp
call fcn.0043a2d0
mov edx, dword [esp + 0x84]
push edx
mov ecx, ebp
call fcn.0041cdc0
mov eax, dword [esp + 0x8c]
push eax
mov ecx, ebp
call fcn.0041cdc0
add esp, 8
mov edi, dword [esp + 0x58]
cmp dword [esp + 0x68], 0
je 0x46ba25
cmp dword [esp + 0x14], 0
je 0x46bb46
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x74]
push ecx
mov ecx, dword [esp + 0x70]
push edx
push 0x12
mov esi, ebp
call fcn.0043a4c0
mov esi, dword [esp + 0x5c]
mov eax, dword [esi + 4]
shr eax, 4
and eax, 0xf
movzx dx, byte [eax + 0x4e4843]
mov ecx, ebp
call fcn.00411050
mov ecx, dword [ebx + 4]
mov edx, dword [esp + 0x28]
mov eax, dword [edx + ecx]
mov edx, dword [esi + 4]
mov ecx, dword [ebx]
mov esi, dword [esp + 0x1c]
push eax
shr edx, 4
and edx, 0xf
mov eax, dword [edx*4 + 0x4e334c]
push ecx
push eax
push str.non__s_value_in__s._s
call fcn.0042aec0
push 0xfffffffffffffffa
push eax
xor eax, eax
push 0
push 0x75
lea ecx, [eax + 3]
mov edi, ebp
call fcn.0043a2f0
add esp, 0x2c
jmp 0x46bb46
mov ecx, dword [esp + 0x50]
mov al, byte [ecx + 8]
cmp al, 0x42
jne 0x46ba8e
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x6c]
push edx
push eax
mov eax, dword [esp + 0x7c]
push 0x12
mov esi, ebp
call fcn.0043a4c0
mov edx, 0x1c
mov ecx, ebp
call fcn.00411050
mov ecx, dword [ebx + 4]
mov edx, dword [esp + 0x28]
mov eax, dword [edx + ecx]
mov ecx, dword [ebx]
mov esi, dword [esp + 0x1c]
push eax
push ecx
push str.NUMERIC_value_in__s._s
call fcn.0042aec0
push 0xfffffffffffffffa
push eax
xor eax, eax
push 0
push 0x75
lea ecx, [eax + 3]
mov edi, ebp
call fcn.0043a2f0
add esp, 0x28
jmp 0x46bb46
cmp al, 0x43
jl 0x46bb46
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x6c]
push edx
push edi
push 0x12
mov esi, ebp
call fcn.0043a4c0
add esp, 0xc
mov edx, 0x1b
mov ecx, ebp
call fcn.00411050
test edi, edi
jl 0x46bad6
mov eax, dword [esp + 0x38]
push 3
push eax
mov eax, dword [esp + 0x34]
push ebp
mov ecx, ebx
call fcn.00457970
add esp, 0xc
push 0xffffffffffffffff
push 0x4d1910
xor eax, eax
push 3
push 0x60
lea ecx, [eax + 1]
mov edi, ebp
call fcn.0043a2f0
mov ecx, dword [esp + 0x88]
push ecx
mov ecx, dword [esp + 0x80]
push 0xffffffffffffffff
push 0x12
mov eax, 3
call fcn.0043a4c0
mov edx, 0x1c
mov ecx, ebp
call fcn.00411050
mov edx, dword [ebx + 4]
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + edx]
mov edx, dword [ebx]
mov esi, dword [esp + 0x2c]
push ecx
push edx
push str.TEXT_value_in__s._s
call fcn.0042aec0
push 0xfffffffffffffffa
push eax
xor eax, eax
push 0
push 0x75
lea ecx, [eax + 3]
call fcn.0043a2f0
add esp, 0x38
mov ecx, dword [esp + 0x54]
mov edx, ebp
call fcn.00422330
mov esi, ebp
call fcn.0043e1f0
mov ecx, dword [esp + 0x6c]
mov edx, ebp
call fcn.00422330
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x10]
movsx ecx, word [ebx + 0x22]
add dword [esp + 0x1c], 0x10
inc eax
cmp eax, ecx
mov dword [esp + 0x2c], eax
jl 0x46b780
mov edx, dword [ebx + 0x10]
test edx, edx
je 0x46bc8b
mov eax, dword [edi + 0x20]
and eax, 0x200
xor ecx, ecx
or eax, ecx
jne 0x46bc8b
push eax
push edx
push edi
call fcn.0044bac0
add esp, 0xc
cmp byte [edi + 0x57], 0
mov edx, eax
mov dword [esp + 0x68], edx
jne 0x46bc81
mov ecx, dword [esp + 0xa4]
mov eax, ecx
call fcn.00410ed0
mov esi, eax
mov eax, ecx
call fcn.00410ed0
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x38]
inc eax
mov dword [ecx + 0x34], eax
mov edi, dword [edx]
dec edi
test edi, edi
jle 0x46bc14
lea ecx, [edi + edi*4]
lea edx, [edx + ecx*4 + 8]
mov dword [esp + 0x14], edx
mov edi, edi
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [esp + 0xa4]
push 0
push esi
push ecx
push edx
call fcn.00469730
sub dword [esp + 0x24], 0x14
dec edi
add esp, 0x10
test edi, edi
jg 0x46bbf0
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x68]
mov edx, dword [ecx + 8]
mov edi, dword [esp + 0xa4]
push 0x10
push eax
push edx
push edi
call fcn.004693b0
mov ecx, esi
mov edx, ebp
call fcn.00422330
mov esi, dword [esp + 0x20]
mov dword [edi + 0x34], 0
mov eax, dword [ebx]
push eax
push str.CHECK_constraint_failed_in__s
call fcn.0042aec0
push 0xfffffffffffffffa
push eax
xor eax, eax
push 0
push 0x75
lea ecx, [eax + 3]
mov edi, ebp
call fcn.0043a2f0
add esp, 0x28
mov esi, ebp
call fcn.0043e1f0
mov ecx, dword [esp + 0x54]
mov edx, ebp
call fcn.00422330
mov edx, dword [esp + 0x68]
mov edi, dword [esp + 0x10]
push edx
push edi
call fcn.004238b0
add esp, 8
cmp dword [esp + 0x80], 0
jne 0x46c001
mov ecx, dword [esp + 0x60]
mov ebx, dword [ecx + 8]
test ebx, ebx
je 0x46c001
mov ecx, dword [esp + 0x5c]
mov eax, 8
sub eax, ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x84], eax
mov edi, edi
mov eax, dword [esp + 0xa4]
call fcn.00410ed0
mov esi, eax
cmp dword [esp + 0x18], ebx
je 0x46bff2
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x38]
push edx
push eax
mov eax, dword [esp + 0xac]
push 0
push 0
push ecx
push ebx
lea ecx, [esp + 0xb4]
call fcn.0045f640
mov edx, dword [esp + 0x9c]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x64], eax
push 0x56
lea ecx, [edx + edi]
push ebp
mov eax, 1
mov dword [esp + 0x84], ebx
call fcn.0043a2b0
movzx eax, word [ebx + 0x34]
push eax
mov eax, dword [esp + 0x70]
push edi
mov ecx, esi
push 0x1d
mov esi, ebp
call fcn.0043a4c0
mov dword [esp + 0x80], eax
mov eax, str.row
mov ecx, 3
mov edi, ebp
call fcn.00442660
push 3
push 3
push 7
push 0x6f
push ebp
call fcn.0043a200
add esp, 0x40
mov eax, str._missing_from_index
mov ecx, 4
call fcn.00442660
push 3
push 3
push 4
push 0x6f
push ebp
call fcn.0043a200
mov eax, dword [ebx]
mov ecx, 4
call fcn.00442660
push 3
push 3
push 4
push 0x6f
push ebp
mov dword [esp + 0x3c], eax
call fcn.0043a200
call fcn.0043e1f0
mov ecx, dword [esp + 0x7c]
push ecx
mov ecx, ebp
mov dword [esp + 0x94], eax
call fcn.0041cdc0
mov edx, dword [esp + 0x8c]
add esp, 0x2c
test byte [edx + 0x1c], 0x80
jne 0x46be38
mov ecx, dword [esp + 0x1c]
push 0x8e
push ebp
mov eax, 3
call fcn.0043a2b0
movzx eax, word [ebx + 0x34]
mov ecx, dword [esp + 0x54]
lea edx, [eax + ecx - 1]
push edx
push 0
push 3
push 0x35
push ebp
call fcn.0043a200
mov esi, eax
mov eax, str.rowid_not_at_end_of_record_for_row
mov ecx, 3
call fcn.00442660
push 3
push 3
push 7
push 0x6f
push ebp
call fcn.0043a200
mov eax, str._of_index
mov ecx, 4
call fcn.00442660
mov eax, dword [esp + 0x44]
dec eax
mov ecx, ebp
call fcn.0043a2d0
push esi
mov ecx, ebp
call fcn.0041cdc0
add esp, 0x34
xor eax, eax
xor esi, esi
xor edi, edi
cmp ax, word [ebx + 0x32]
jae 0x46bf03
jmp 0x46be50
mov ecx, dword [ebx + 0x20]
cmp dword [ecx + edi*4], 0x4c839c
je 0x46be94
test esi, esi
jne 0x46be6e
mov eax, dword [esp + 0xa4]
call fcn.00410ed0
mov esi, eax
mov edx, dword [esp + 0x1c]
push 3
push edi
push edx
push 0x5e
push ebp
call fcn.0043a200
mov eax, dword [esp + 0x60]
lea ecx, [edi + eax]
push ecx
push esi
push 3
push 0x34
push ebp
call fcn.0043a200
add esp, 0x28
movzx edx, word [ebx + 0x32]
inc edi
cmp edi, edx
jl 0x46be50
test esi, esi
je 0x46bf03
mov eax, 9
mov ecx, ebp
call fcn.0043a270
mov ecx, esi
mov edx, ebp
mov dword [esp + 0x54], eax
call fcn.00422330
mov eax, str.row
mov ecx, 3
mov edi, ebp
call fcn.00442660
push 3
push 3
push 7
push 0x6f
push ebp
call fcn.0043a200
mov eax, str._values_differ_from_index
mov ecx, 4
call fcn.00442660
mov eax, dword [esp + 0x28]
dec eax
mov ecx, ebp
call fcn.0043a2d0
mov eax, dword [esp + 0x68]
push eax
mov ecx, ebp
call fcn.0041cdc0
add esp, 0x18
cmp byte [ebx + 0x36], 0
je 0x46bfd0
mov eax, dword [esp + 0xa4]
call fcn.00410ed0
xor ecx, ecx
mov edi, eax
xor esi, esi
mov dword [esp + 0x50], edi
cmp cx, word [ebx + 0x32]
jae 0x46bf69
lea esp, [esp]
mov edx, dword [ebx + 4]
movsx eax, word [edx + esi*2]
test eax, eax
jl 0x46bf4c
mov ecx, dword [esp + 0x60]
mov edx, dword [ecx + 4]
shl eax, 4
test byte [eax + edx + 4], 0xf
jne 0x46bf60
mov eax, dword [esp + 0x4c]
lea ecx, [esi + eax]
push 0x32
push ebp
mov eax, edi
call fcn.0043a2b0
add esp, 8
movzx ecx, word [ebx + 0x32]
inc esi
cmp esi, ecx
jl 0x46bf30
mov edi, dword [esp + 0x1c]
push ebp
mov eax, edi
mov ecx, 0x27
call fcn.0043a290
mov esi, eax
mov eax, dword [esp + 0x54]
mov ecx, ebp
call fcn.0043a2d0
push esi
mov ecx, ebp
call fcn.0041cdc0
movzx edx, word [ebx + 0x32]
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x58]
push edx
push edi
push 0x29
mov esi, ebp
call fcn.0043a4c0
add esp, 0x14
mov eax, str.non_unique_entry_in_index
mov ecx, 3
mov edi, ebp
call fcn.00442660
mov eax, dword [esp + 0x14]
mov ecx, ebp
call fcn.0043a2d0
mov ecx, dword [esp + 0x50]
mov edx, ebp
call fcn.00422330
mov eax, dword [esp + 0x68]
push eax
mov ecx, ebp
call fcn.0041cdc0
mov ecx, dword [esp + 0xa0]
mov eax, dword [esp + 0xa8]
add esp, 4
call fcn.00424330
mov ebx, dword [ebx + 0x14]
inc dword [esp + 0x1c]
test ebx, ebx
jne 0x46bcc0
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
push 0x27
push ebp
mov eax, esi
call fcn.0043a2b0
dec esi
push esi
mov ecx, ebp
call fcn.0041cdc0
add esp, 0xc
cmp dword [esp + 0x80], 0
jne 0x46c0f6
mov eax, str.wrong__of_entries_in_index
mov ecx, 2
mov edi, ebp
call fcn.00442660
mov ecx, dword [esp + 0x60]
mov ebx, dword [ecx + 8]
test ebx, ebx
je 0x46c0d3
mov esi, 8
mov dword [esp + 0x64], esi
cmp dword [esp + 0x18], ebx
je 0x46c0c7
mov edx, dword [esp + 0x5c]
push 0x62
lea ecx, [edx + esi - 8]
push ebp
mov eax, 3
call fcn.0043a2b0
push 3
push 0
push esi
push 0x35
push ebp
call fcn.0043a200
mov edx, 0x90
mov ecx, ebp
mov dword [esp + 0x58], eax
call fcn.00411050
mov eax, dword [ebx]
mov ecx, 4
mov edi, ebp
call fcn.00442660
push 3
push 2
push 4
push 0x6f
push ebp
call fcn.0043a200
mov esi, ebp
call fcn.0043e1f0
mov eax, dword [esp + 0x6c]
push eax
mov ecx, ebp
call fcn.0041cdc0
mov esi, dword [esp + 0x98]
add esp, 0x34
mov ebx, dword [ebx + 0x14]
inc esi
mov dword [esp + 0x64], esi
test ebx, ebx
jne 0x46c056
cmp dword [esp + 0x18], 0
je 0x46c0f6
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xa4]
movzx ecx, word [ecx + 0x32]
push edx
mov edx, dword [esp + 0x38]
call fcn.004139b0
add esp, 4
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
mov dword [esp + 0x24], eax
test eax, eax
jne 0x46b520
mov ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0x10]
inc ebx
cmp ebx, dword [ecx + 0x14]
mov dword [esp + 0x28], ebx
jl 0x46b340
push 7
mov eax, 0x4c9828
mov ecx, ebp
call fcn.0043a540
mov esi, eax
add esp, 4
test esi, esi
je 0x46c15d
mov edx, 1
sub edx, dword [esp + 0x48]
mov byte [esi + 0x29], 0xff
mov dword [esi + 8], edx
mov edx, 0xb
mov dword [esi + 0x38], 0x4d1830
mov byte [esi + 0x65], 0xff
call fcn.00418640
mov dword [esi + 0x74], eax
mov eax, ebp
call fcn.00411010
sub eax, 2
push eax
xor eax, eax
mov ecx, ebp
call fcn.0041cd90
add esp, 4
jmp 0x46c71c
test edi, edi
jne 0x46c1a7
push ebx
call fcn.0047e150
add esp, 4
test eax, eax
jne 0x46c71c
mov eax, dword [ebx]
movzx ecx, byte [eax + 0x54]
mov eax, dword [ecx*8 + 0x4c9850]
mov ecx, ebp
call fcn.004446b0
jmp 0x46c71c
mov edx, dword [esp + 0x10]
test byte [edx + 0x18], 0x40
jne 0x46c71c
mov eax, dword [str.UTF8]
mov edi, 0x4c9850
test eax, eax
je 0x46c202
mov esi, dword [esp + 0x20]
mov edx, esi
call fcn.0040a950
test eax, eax
je 0x46c1de
mov eax, dword [edi + 8]
add edi, 8
test eax, eax
jne 0x46c1c7
jmp 0x46c202
mov al, byte [edi + 4]
test al, al
jne 0x46c1e7
mov al, 2
mov esi, dword [esp + 0x10]
mov ecx, dword [esi + 0x10]
mov edx, dword [ecx + 0xc]
mov byte [edx + 0x4d], al
call fcn.0043d6b0
cmp dword [edi], 0
jne 0x46c71c
mov eax, dword [esp + 0x20]
push eax
push str.unsupported_encoding:__s
mov edi, ebx
call fcn.0042b190
jmp 0x46c719
mov ecx, dword [esi + 8]
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x24], ecx
mov ecx, ebx
mov edx, ebp
call fcn.00411110
test edi, edi
je 0x46c290
test byte [esi + 5], 8
jne 0x46c290
push 2
mov eax, 0x4c9898
mov ecx, ebp
call fcn.0043a540
mov esi, eax
mov dword [esi + 4], ebx
mov dword [esi + 0x18], ebx
mov ebx, dword [esp + 0x28]
add esp, 4
mov ecx, edi
mov dword [esi + 0x1c], ebx
call fcn.0041a380
mov edx, 1
mov dword [esi + 0x20], eax
mov word [esi + 0x16], dx
cmp ebx, edx
jne 0x46c71c
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
and eax, 0x10000000
xor ecx, ecx
or eax, ecx
je 0x46c71c
mov byte [esi + 0x14], 0xb8
jmp 0x46c71c
push 3
mov eax, 0x4c9844
mov ecx, ebp
call fcn.0043a540
mov ecx, dword [esp + 0x28]
mov dword [eax + 0x20], ecx
add esp, 4
mov ecx, ebp
mov dword [eax + 4], ebx
mov dword [eax + 0x18], ebx
call fcn.00410ee0
jmp 0x46c71c
xor esi, esi
push esi
mov dword [ebx + 0x2c], 1
call fcn.00418e70
add esp, 4
test eax, eax
je 0x46c2f9
mov ecx, 1
mov edi, ebp
inc esi
call fcn.00442660
mov eax, 1
push 0x54
push ebp
mov ecx, eax
call fcn.0043a2b0
push esi
call fcn.00418e70
add esp, 0xc
test eax, eax
jne 0x46c2d0
mov ecx, ebp
call fcn.00410ee0
jmp 0x46c71c
mov edx, dword [esp + 0xac]
cmp dword [edx], 0
je 0x46c31b
mov eax, dword [esp + 0x30]
mov dword [esp + 0x24], eax
jmp 0x46c323
mov dword [esp + 0x24], 0xc
xor esi, esi
test edi, edi
je 0x46c368
mov eax, str.full
mov edx, edi
call fcn.0040a950
test eax, eax
jne 0x46c33e
lea esi, [eax + 1]
jmp 0x46c368
mov eax, str.restart
mov edx, edi
call fcn.0040a950
test eax, eax
jne 0x46c353
lea esi, [eax + 2]
jmp 0x46c368
mov eax, str.truncate
mov edx, edi
call fcn.0040a950
test eax, eax
jne 0x46c368
mov esi, 3
mov ecx, dword [esp + 0x24]
push 1
push esi
push ecx
push 3
push ebp
mov dword [ebx + 0x2c], 3
call fcn.0043a200
mov eax, 3
push 0x54
push ebp
lea ecx, [eax - 2]
call fcn.0043a2b0
add esp, 0x1c
jmp 0x46c71c
test edi, edi
je 0x46c3b2
mov ecx, edi
call fcn.0041a380
mov esi, dword [esp + 0x10]
push eax
push esi
call fcn.004558c0
add esp, 8
jmp 0x46c3b6
mov esi, dword [esp + 0x10]
cmp dword [esi + 0x110], 0x455890
jne 0x469d86
mov eax, dword [esi + 0x114]
jmp 0x46c70f
mov edx, dword [esp + 0x10]
push edx
call fcn.0041fa10
add esp, 4
jmp 0x46c71c
test edi, edi
je 0x46c3fc
mov ecx, edi
call fcn.0041a380
mov dword [esp + 0x14], eax
test al, 2
je 0x46c71c
jmp 0x46c404
mov dword [esp + 0x14], 0xfffe
mov eax, dword [ebx + 0x28]
mov esi, dword [esp + 0x30]
mov dword [esp + 0x5c], eax
inc eax
cmp dword [esp + 0x2c], 0
mov dword [ebx + 0x28], eax
je 0x46c422
mov edi, esi
mov dword [esp + 0x64], edi
jmp 0x46c436
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x14]
dec edi
cmp esi, edi
mov dword [esp + 0x64], edi
jg 0x46c58c
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x28], ecx
mov edi, edi
cmp esi, 1
je 0x46c57a
push esi
mov ecx, ebx
call fcn.00448550
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x10]
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx + eax + 0xc]
mov eax, dword [edx + 0x10]
add esp, 4
mov dword [esp + 0x34], eax
test eax, eax
je 0x46c57a
jmp 0x46c480
mov edi, dword [eax + 8]
test dword [edi + 0x1c], 0x100
je 0x46c564
mov ax, word [edi + 0x26]
add ax, 0x2e
movzx esi, ax
mov eax, dword [edi + 8]
test eax, eax
je 0x46c4af
test byte [eax + 0x38], 0x80
je 0x46c4f1
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x46c4a2
test si, si
je 0x46c4f1
mov ecx, dword [esp + 0x5c]
push 0x70
push ecx
mov ecx, dword [esp + 0x38]
push ebx
mov eax, edi
call fcn.0044d360
movsx edx, si
add esp, 0xc
push edx
mov eax, ebp
call fcn.00411010
mov ecx, dword [esp + 0x18]
and ecx, 1
lea edx, [eax + ecx + 2]
mov eax, dword [esp + 0x60]
push edx
push eax
push 0x21
push ebp
call fcn.0043a200
add esp, 0x14
mov ecx, dword [edi]
mov esi, dword [esp + 0x10]
mov edx, dword [esi + 0x10]
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [eax + edx]
push ecx
push str.ANALYZE___w_.__w_
call fcn.0042aec0
add esp, 0xc
test byte [esp + 0x14], 1
mov edx, eax
je 0x46c548
mov eax, ebx
call fcn.00413930
push 0xfffffffffffffffa
push edx
mov esi, eax
push 0
push 0x75
xor eax, eax
mov ecx, esi
mov edi, ebp
call fcn.0043a2f0
push 0x54
push ebp
mov eax, 1
mov ecx, esi
call fcn.0043a2b0
add esp, 0x18
jmp 0x46c560
push 0xfffffffffffffffa
push edx
push 0
push 0x94
xor eax, eax
xor ecx, ecx
mov edi, ebp
call fcn.0043a2f0
add esp, 0x10
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
mov dword [esp + 0x34], eax
test eax, eax
jne 0x46c480
mov edi, dword [esp + 0x64]
mov esi, dword [esp + 0x30]
add dword [esp + 0x28], 0x10
inc esi
cmp esi, edi
mov dword [esp + 0x30], esi
jle 0x46c440
mov eax, 0xa6
mov ecx, ebp
call fcn.0043a270
jmp 0x46c71c
test edi, edi
je 0x46c5c8
mov edi, dword [esp + 0x20]
lea edx, [esp + 0x3c]
push edx
call fcn.0041a120
add esp, 4
test eax, eax
jne 0x46c5c8
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
push eax
push ecx
call fcn.00441550
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.00441550
push edx
push eax
mov edi, ebp
call fcn.0043e1c0
add esp, 0x10
jmp 0x46c71c
test edi, edi
je 0x46c633
mov edi, dword [esp + 0x20]
lea edx, [esp + 0x3c]
push edx
call fcn.0041a120
add esp, 4
test eax, eax
jne 0x46c633
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.00409e00
mov ecx, dword [esp + 0x48]
add esp, 8
test ecx, ecx
jl 0x46c633
mov esi, dword [esp + 0x3c]
jg 0x46c619
test esi, esi
jbe 0x46c633
mov edi, eax
or edi, edx
je 0x46c629
cmp edx, ecx
jl 0x46c633
jg 0x46c629
cmp eax, esi
jbe 0x46c633
push ecx
push esi
call fcn.00409e00
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.00409e00
push edx
push eax
mov edi, ebp
call fcn.0043e1c0
add esp, 0x10
jmp 0x46c71c
test edi, edi
je 0x46c68b
mov edi, dword [esp + 0x20]
lea eax, [esp + 0x3c]
push eax
call fcn.0041a120
add esp, 4
test eax, eax
jne 0x46c68b
cmp dword [esp + 0x40], eax
jl 0x46c68b
mov eax, dword [esp + 0x3c]
jg 0x46c676
test eax, eax
jb 0x46c68b
mov ecx, dword [esp + 0x10]
and eax, 0x7fffffff
push eax
push 0xb
push ecx
call fcn.00418ac0
add esp, 0xc
mov edx, dword [esp + 0x10]
push 0xffffffffffffffff
push 0xb
push edx
call fcn.00418ac0
cdq
push edx
push eax
mov edi, ebp
call fcn.0043e1c0
add esp, 0x14
jmp 0x46c71c
test edi, edi
je 0x46c6e0
mov edi, dword [esp + 0x20]
lea eax, [esp + 0x3c]
push eax
call fcn.0041a120
add esp, 4
test eax, eax
jne 0x46c6e0
cmp dword [esp + 0x40], eax
jl 0x46c6e0
mov eax, dword [esp + 0x3c]
jg 0x46c6d1
test eax, eax
jb 0x46c6e0
mov ecx, dword [esp + 0x10]
and eax, 0x7fffffff
mov dword [ecx + 0x1f0], eax
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x1f0]
jmp 0x46c70f
test edi, edi
je 0x46c705
mov ecx, edi
call fcn.0041a380
push eax
mov eax, dword [esp + 0x14]
push eax
call fcn.004187d0
add esp, 8
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x1f4]
cdq
push edx
push eax
mov edi, ebp
call fcn.0043e1c0
add esp, 8
mov edx, dword [esp + 0x7c]
mov esi, dword [esp + 0x10]
push edx
push esi
call fcn.0040a090
mov eax, dword [esp + 0x28]
push eax
push esi
call fcn.0040a090
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x90
ret