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

Disassembly:
sub esp, 0x68
push ebx
mov ebx, dword [esp + 0x70]
push ebp
mov ebp, dword [ebx + 8]
push edi
mov edi, dword [ebx]
mov dword [esp + 0xc], edi
test ebp, ebp
jne 0x47ec19
cmp dword [ebx + 0x78], ebp
jne 0x47ec06
test byte [edi + 0x44], 8
jne 0x47ec06
mov byte [ebx + 0x17], 1
push ebx
call fcn.00438450
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x480cf8
mov eax, dword [esp + 0x7c]
or dword [ebp + 0x94], 0x20
push eax
mov eax, dword [esp + 0x84]
push ebx
lea ecx, [esp + 0x54]
mov dword [ebx + 0x2c], 2
call fcn.00442d70
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jl 0x480cf8
mov edx, dword [edi + 0x10]
mov ecx, eax
shl ecx, 4
add edx, ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x14], edx
cmp eax, 1
jne 0x47ec72
mov eax, ebx
call fcn.0046e820
test eax, eax
jne 0x480cf8
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x480cf8
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push esi
push 0
push ecx
push edx
push edi
call fcn.0042a630
mov esi, eax
add esp, 0x10
mov dword [esp + 0x28], esi
call fcn.0041d540
test esi, esi
je 0x480cf7
cmp dword [esp + 0x8c], 0
mov eax, dword [esp + 0x88]
je 0x47eccb
push eax
push 0x4be5d8
call fcn.0043dfc0
mov esi, eax
add esp, 8
mov dword [esp + 0x24], esi
jmp 0x47ecda
push edi
call fcn.0042fdb0
add esp, 4
mov dword [esp + 0x24], eax
mov esi, eax
mov ecx, dword [esp + 0x84]
cmp dword [ecx + 4], 0
jbe 0x47ecef
mov edx, dword [esp + 0x18]
mov eax, dword [edx]
jmp 0x47ecf1
xor eax, eax
push eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x2c]
push esi
push eax
push 0x13
mov eax, ebx
call fcn.00442c20
add esp, 0x10
test eax, eax
jne 0x480cdd
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x10]
lea edx, [esp + 0x68]
push edx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], esi
mov dword [edi + 0x18c], eax
mov eax, dword [esp + 0x20]
push 0xe
push eax
push edi
call fcn.00437ce0
add esp, 0x10
mov dword [esp + 0x40], eax
test eax, eax
jne 0x47ed88
push 1
push ebp
call fcn.0042de80
mov ecx, dword [esp + 0x70]
push 0xffffffffffffffff
push ecx
push 0
push 0
mov ecx, ebp
call fcn.0043a820
mov eax, dword [esp + 0x80]
mov ecx, ebp
call fcn.00439890
mov edx, dword [esp + 0x80]
push edx
call fcn.0041d0e0
add esp, 0x1c
jmp 0x480cdd
cmp dword [esp + 0x40], 0xc
je 0x47edc0
mov eax, dword [esp + 0x68]
test eax, eax
je 0x47edb1
push eax
push 0x4b5b98
mov esi, ebx
call fcn.0043e2f0
mov eax, dword [esp + 0x70]
push eax
call fcn.0041d0e0
add esp, 0xc
mov ecx, dword [esp + 0x40]
inc dword [ebx + 0x24]
mov dword [ebx + 0xc], ecx
jmp 0x480cdd
mov edx, dword [esp + 0x28]
push edx
call fcn.00430790
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
je 0x480cdd
mov ecx, eax
test byte [ecx + 5], 1
je 0x47edf8
mov edi, ebx
call fcn.004272e0
test eax, eax
jne 0x480cdd
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
mov al, byte [ecx + 5]
test al, 2
jne 0x47ee18
test al, 4
je 0x47ee07
test esi, esi
jne 0x47ee18
mov eax, dword [esp + 0x20]
push ebp
call fcn.0043c440
mov ecx, dword [esp + 0x24]
add esp, 4
movzx eax, byte [ecx + 4]
cmp eax, 0x27
ja case.0x47ee25.3
jmp dword [eax*4 + 0x480d00]
mov edi, dword [esp + 0x14]
mov ecx, edi
mov eax, ebp
call fcn.00422f70
test esi, esi
jne 0x47ee68
add dword [ebx + 0x2c], 2
push 9
mov eax, 0x4b8ae8
mov edi, ebp
call fcn.00433100
mov ecx, dword [esp + 0x18]
add esp, 4
mov dword [eax + 4], ecx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x7c], 0xfffff830
jmp 0x480cdd
mov ecx, esi
call fcn.0042ac80
call fcn.0041e290
push 0
mov ecx, edi
mov edx, ebx
mov esi, eax
call fcn.0046e950
push esi
push 3
push edi
push 0x68
push ebp
call fcn.00432e70
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 eax, dword [eax + 4]
push ecx
call fcn.0042d470
add esp, 0x1c
jmp 0x480cdd
mov edx, dword [esp + 0x18]
mov ebx, dword [edx + 4]
test esi, esi
jne 0x47eecf
test ebx, ebx
je 0x47eec8
mov eax, dword [ebx + 4]
mov eax, dword [eax + 0x20]
jmp 0x480cd0
xor eax, eax
jmp 0x480cd0
mov ecx, esi
call fcn.0042ac80
push 0
push 0xffffffffffffffff
mov dword [edi + 0x54], eax
push eax
mov eax, ebx
call fcn.0046def0
add esp, 0xc
cmp eax, 7
jne 0x480cdd
mov eax, edi
call fcn.0041d210
jmp 0x480cdd
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 4]
mov dword [esp + 0x54], edx
mov dword [esp + 0x7c], 0xffffffff
test esi, esi
je 0x47ef48
push str.fast
push esi
call fcn.0042a9e0
add esp, 8
test eax, eax
jne 0x47ef30
mov dword [esp + 0x7c], 2
jmp 0x47ef48
push 0
push 1
push esi
call fcn.004305d0
xor ecx, ecx
add esp, 0xc
test al, al
setne cl
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0x84]
cmp dword [edx + 4], 0
jne 0x47ef82
cmp dword [esp + 0x7c], 0
jl 0x47ef82
xor esi, esi
cmp dword [edi + 0x14], esi
jle 0x47ef82
xor ebx, ebx
mov eax, dword [esp + 0x7c]
mov ecx, dword [edi + 0x10]
push eax
mov eax, dword [ebx + ecx + 4]
call fcn.0042d5f0
inc esi
add esp, 4
add ebx, 0x10
cmp esi, dword [edi + 0x14]
jl 0x47ef65
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x54]
push edx
call fcn.0042d5f0
cdq
push edx
push eax
mov esi, ebp
call fcn.00435930
add esp, 0xc
jmp 0x480cdd
mov edi, dword [esp + 0x14]
mov ecx, edi
mov edx, ebx
call fcn.0046e8b0
inc dword [ebx + 0x2c]
mov eax, dword [esp + 0x28]
movzx ecx, byte [eax]
cmp byte [ecx + 0x4b7760], 0x70
mov ebx, dword [ebx + 0x2c]
jne 0x47efd0
push 0
push ebx
push edi
push 0xa1
jmp 0x47efe4
mov ecx, esi
call fcn.0042ac80
call fcn.0041e290
push eax
push ebx
push edi
push 0xa2
push ebp
call fcn.00432e70
add esp, 0x14
push 0
push 1
push ebx
push 0x4e
push ebp
call fcn.00432e70
add esp, 0x14
jmp 0x480cdd
mov esi, dword [esp + 0x24]
mov dword [esp + 0x7c], str.normal
call fcn.00427170
mov edx, eax
mov eax, dword [esp + 0x84]
mov eax, dword [eax + 4]
test eax, eax
jne 0x47f06d
cmp edx, 0xffffffff
jne 0x47f032
mov ecx, dword [esp + 0x10]
movzx eax, byte [ecx + 0x4b]
jmp 0x47f07e
test eax, eax
jne 0x47f06d
mov ebx, dword [esp + 0x10]
mov esi, 2
cmp dword [ebx + 0x14], esi
jle 0x47f06a
mov edi, 0x20
lea esp, [esp]
mov eax, dword [ebx + 0x10]
mov ecx, dword [edi + eax + 4]
mov eax, dword [ecx + 4]
mov eax, dword [eax]
call fcn.0042c8c0
inc esi
add edi, 0x10
cmp esi, dword [ebx + 0x14]
jl 0x47f050
mov byte [ebx + 0x4b], dl
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 4]
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
call fcn.0042c8c0
cmp eax, 1
jne 0x47f08b
mov dword [esp + 0x7c], str.exclusive
mov eax, dword [esp + 0x7c]
mov ecx, ebp
call fcn.00439890
jmp 0x480cdd
test esi, esi
jne 0x47f0a9
mov dword [esp + 0x7c], 0xffffffff
jmp 0x47f0e5
mov eax, esi
call fcn.0041d4f0
mov dword [esp + 0x54], eax
xor ebx, ebx
cmp ebx, 6
je 0x47f09f
mov eax, dword [ebx*4 + 0x4b8acc]
test eax, eax
je 0x47f09f
mov edx, dword [esp + 0x54]
push edx
push eax
push esi
call fcn.0041d610
add esp, 0xc
test eax, eax
je 0x47f0dc
inc ebx
jmp 0x47f0b6
mov dword [esp + 0x7c], ebx
cmp ebx, 0xffffffff
jne 0x47f101
mov eax, dword [esp + 0x84]
cmp dword [eax + 4], 0
jne 0x47f101
mov dword [esp + 0x14], 0
mov dword [eax + 4], 1
mov esi, dword [edi + 0x14]
sub esi, 1
js 0x47f151
mov ebx, esi
shl ebx, 4
mov edi, edi
mov eax, dword [edi + 0x10]
cmp dword [ebx + eax + 4], 0
je 0x47f149
cmp esi, dword [esp + 0x14]
je 0x47f12d
mov ecx, dword [esp + 0x84]
cmp dword [ecx + 4], 0
jne 0x47f149
mov ecx, esi
mov eax, ebp
call fcn.00422f70
mov edx, dword [esp + 0x7c]
push edx
push 1
push esi
push 9
push ebp
call fcn.00432e70
add esp, 0x14
dec esi
sub ebx, 0x10
test esi, esi
jge 0x47f110
push 0
push 1
push 1
push 0x4e
push ebp
call fcn.00432e70
add esp, 0x14
jmp 0x480cdd
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 4]
mov ebx, dword [edx]
or ecx, 0xffffffff
mov eax, 0xfffffffe
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ecx
test esi, esi
je 0x47f1b5
lea eax, [esp + 0x5c]
push eax
mov edi, esi
call fcn.0042aa00
mov ecx, dword [esp + 0x64]
add esp, 4
cmp ecx, 0xffffffff
jg 0x47f1b1
jl 0x47f1aa
mov eax, dword [esp + 0x5c]
cmp eax, 0xffffffff
jae 0x47f1b5
or eax, 0xffffffff
or ecx, eax
jmp 0x47f1b5
mov eax, dword [esp + 0x5c]
push ecx
push eax
mov ecx, ebx
call fcn.0042c8f0
push edx
push eax
mov esi, ebp
call fcn.00435930
add esp, 0x10
jmp 0x480cdd
mov ecx, dword [esp + 0x18]
mov edi, dword [ecx + 4]
test esi, esi
jne 0x47f1e6
mov eax, edi
call fcn.0042d6e0
jmp 0x480cd0
mov esi, dword [esp + 0x24]
call fcn.00430690
mov edx, dword [esp + 0x10]
mov ebx, eax
push ebx
mov eax, edi
mov byte [edx + 0x4c], bl
call fcn.0042d660
add esp, 4
test eax, eax
jne 0x480cdd
cmp ebx, 1
je 0x47f219
cmp ebx, 2
jne 0x480cdd
mov esi, dword [ebp + 0x88]
push 5
mov eax, 0x4b8b10
mov edi, ebp
call fcn.00433100
mov ecx, dword [esp + 0x18]
add esi, 4
dec ebx
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
add esp, 4
mov eax, ebp
call fcn.00422f70
jmp 0x480cdd
test esi, esi
je 0x47f271
lea eax, [esp + 0x7c]
push eax
push esi
call fcn.0042ab00
add esp, 8
test eax, eax
je 0x47f271
mov edi, dword [esp + 0x7c]
test edi, edi
jg 0x47f276
mov edi, SysReAllocString
mov esi, dword [esp + 0x14]
push 0
mov ecx, esi
mov edx, ebx
call fcn.0046e950
push 0
push 1
push edi
push 0x43
push ebp
call fcn.00432e70
push 0
push 0
push esi
push 0x3c
push ebp
call fcn.00432e70
push 0
push 0
push 1
push 0x4e
push ebp
mov esi, eax
call fcn.00432e70
add esp, 0x40
push 0
push 0xffffffffffffffff
push 1
push 0x50
push ebp
call fcn.00432e70
push 0
push esi
push 1
push 0x30
push ebp
call fcn.00432e70
add esp, 0x28
mov eax, esi
mov edx, ebp
call fcn.0042db20
jmp 0x480cdd
test esi, esi
jne 0x47f2f1
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0x50]
jmp 0x480cd0
mov ecx, esi
call fcn.0042ac80
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 eax, dword [ecx + 4]
push edx
call fcn.0042d470
add esp, 4
jmp 0x480cdd
test esi, esi
jne 0x47f33c
test byte [edi + 0x1c], 0x20
je 0x47eec8
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 4]
push esi
call fcn.0042d4c0
add esp, 4
jmp 0x480cd0
lea ecx, [esp + 0x7c]
push ecx
push esi
mov dword [esp + 0x84], 1
call fcn.0042ab00
mov ebx, dword [esp + 0x84]
add esp, 8
test eax, eax
je 0x47f370
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 4]
push ebx
call fcn.0042d4c0
add esp, 4
test ebx, ebx
setne al
mov ecx, esi
call fcn.00430670
test al, al
je 0x47f392
or dword [edi + 0x1c], 0x20
push edi
call fcn.00430700
add esp, 4
jmp 0x480cdd
and dword [edi + 0x1c], 0xffffffdf
push edi
call fcn.00430700
add esp, 4
jmp 0x480cdd
test esi, esi
je 0x47f44c
lea eax, [esp + 0x5c]
push eax
mov edi, esi
call fcn.0042aa00
mov ecx, dword [esp + 0x64]
add esp, 4
test ecx, ecx
jg 0x47f3e0
jl 0x47f3cc
cmp dword [esp + 0x5c], 0
jae 0x47f3e0
mov ecx, dword [0x4c9168]
mov dword [esp + 0x5c], ecx
mov ecx, dword [0x4c916c]
mov dword [esp + 0x60], ecx
mov edx, dword [esp + 0x84]
cmp dword [edx + 4], 0
mov eax, dword [esp + 0x10]
jne 0x47f3fb
mov edx, dword [esp + 0x5c]
mov dword [eax + 0x28], edx
mov dword [eax + 0x2c], ecx
mov esi, dword [eax + 0x14]
sub esi, 1
js 0x47f44c
mov edi, esi
shl edi, 4
jmp 0x47f410
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + edx + 4]
test eax, eax
je 0x47f444
cmp esi, dword [esp + 0x14]
je 0x47f432
mov edx, dword [esp + 0x84]
cmp dword [edx + 4], 0
jne 0x47f444
push ecx
mov ecx, dword [esp + 0x60]
push ecx
call fcn.0046dea0
mov ecx, dword [esp + 0x68]
add esp, 8
dec esi
sub edi, 0x10
test esi, esi
jge 0x47f410
mov ecx, dword [esp + 0x10]
or eax, 0xffffffff
lea edx, [esp + 0x5c]
push edx
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x20]
push 0x12
push eax
push ecx
call fcn.00437ce0
add esp, 0x10
test eax, eax
jne 0x47f481
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x5c]
jmp 0x480cd1
cmp eax, 0xc
je 0x480cdd
inc dword [ebx + 0x24]
mov dword [ebx + 0xc], eax
jmp 0x480cdd
test esi, esi
jne 0x47f4a6
mov ecx, dword [esp + 0x10]
movzx eax, byte [ecx + 0x48]
jmp 0x480cd0
mov eax, esi
mov edi, ebx
call fcn.0046f3b0
jmp 0x480cdd
test esi, esi
jne 0x47f4c9
mov eax, dword [0x4d3de8]
mov ecx, ebp
call fcn.00439890
jmp 0x480cdd
cmp byte [esi], 0
je 0x47f4ff
mov eax, dword [edi]
lea edx, [esp + 0x7c]
push edx
push 1
push esi
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x47f4eb
cmp dword [esp + 0x7c], eax
jne 0x47f4ff
push str.not_a_writable_directory
mov esi, ebx
call fcn.0043e2f0
add esp, 4
jmp 0x480cdd
cmp byte [edi + 0x48], 1
ja 0x47f50c
mov eax, ebx
call fcn.0046f360
mov ecx, dword [0x4d3de8]
push ecx
call fcn.0041d0e0
add esp, 4
cmp byte [esi], 0
je 0x47f535
push esi
push 0x4b5b98
call fcn.0043e090
mov dword [0x4d3de8], eax
jmp 0x480cda
mov dword [0x4d3de8], 0
jmp 0x480cdd
test esi, esi
jne 0x47f559
mov eax, dword [0x4d3dec]
mov ecx, ebp
call fcn.00439890
jmp 0x480cdd
cmp byte [esi], 0
je 0x47f583
mov edi, dword [edi]
mov eax, dword [edi + 0x20]
lea edx, [esp + 0x7c]
push edx
push 1
push esi
push edi
call eax
add esp, 0x10
test eax, eax
jne 0x47f4eb
cmp dword [esp + 0x7c], eax
je 0x47f4eb
mov ecx, dword [0x4d3dec]
push ecx
call fcn.0041d0e0
add esp, 4
cmp byte [esi], 0
je 0x47f5ac
push esi
push 0x4b5b98
call fcn.0043e090
mov dword [0x4d3dec], eax
jmp 0x480cda
mov dword [0x4d3dec], 0
jmp 0x480cdd
test esi, esi
jne 0x47f5cd
mov edx, dword [esp + 0x18]
movzx eax, byte [edx + 8]
dec eax
jmp 0x480cd0
cmp byte [edi + 0x47], 0
jne 0x47f5e7
push str.Safety_level_may_not_be_changed_inside_a_transaction
mov esi, ebx
call fcn.0043e2f0
add esp, 4
jmp 0x480cdd
cmp dword [esp + 0x14], 1
je 0x480cdd
push 1
push 0
push esi
call fcn.004305d0
add esp, 0xc
inc eax
and eax, 7
jne 0x47f60a
mov eax, 1
mov ecx, dword [esp + 0x18]
push edi
mov byte [ecx + 8], al
mov byte [ecx + 9], 1
call fcn.00430700
add esp, 4
jmp 0x480cdd
test esi, esi
jne 0x47f655
mov esi, dword [esp + 0x20]
push ebp
mov eax, esi
call fcn.0043c440
mov eax, dword [esi + 8]
mov ecx, dword [esp + 0x14]
and eax, dword [ecx + 0x1c]
mov esi, ebp
neg eax
sbb eax, eax
neg eax
cdq
push edx
push eax
call fcn.00435930
add esp, 0xc
jmp 0x480cdd
cmp byte [edi + 0x47], 0
mov ebx, dword [ecx + 8]
jne 0x47f664
and ebx, 0xffffbfff
push 0
push 1
push esi
call fcn.004305d0
add esp, 0xc
test al, al
je 0x47f67a
or dword [edi + 0x1c], ebx
jmp 0x47f697
mov edx, ebx
not edx
and dword [edi + 0x1c], edx
cmp ebx, 0x80000
jne 0x47f697
xor eax, eax
mov dword [edi + 0x1d0], eax
mov dword [edi + 0x1d4], eax
push 0
push 0
push 0
push 0x99
push ebp
call fcn.00432e70
push edi
call fcn.00430700
add esp, 0x18
jmp 0x480cdd
test esi, esi
je 0x480cdd
mov eax, dword [esp + 0x1c]
push eax
push esi
push 2
push ebx
call fcn.00453fd0
mov edi, eax
add esp, 0x10
test edi, edi
je 0x480cdd
mov dword [esp + 0x7c], 0
call fcn.00426100
mov ecx, dword [esp + 0x14]
mov edx, ebx
mov dword [esp + 0x54], eax
mov dword [ebx + 0x2c], 6
call fcn.0046e8b0
push edi
mov eax, ebx
call fcn.004697b0
movsx ecx, word [edi + 0x2a]
mov esi, dword [edi + 4]
xor ebx, ebx
add esp, 4
mov dword [esp + 0x34], ebx
test ecx, ecx
jle 0x480cdd
lea esp, [esp]
mov al, byte [esi + 0xf]
test al, 2
je 0x47f72d
inc dword [esp + 0x7c]
jmp 0x47f7ac
test al, 1
jne 0x47f735
xor eax, eax
jmp 0x47f761
mov edx, dword [esp + 0x54]
mov eax, 1
test edx, edx
je 0x47f761
cmp ecx, eax
jl 0x47f761
mov edx, dword [edx + 4]
lea esp, [esp]
movsx ebx, word [edx]
cmp ebx, dword [esp + 0x34]
je 0x47f761
inc eax
add edx, 2
cmp eax, ecx
jle 0x47f750
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x47f76d
mov ecx, dword [ecx + 8]
jmp 0x47f76f
xor ecx, ecx
push eax
push ecx
xor ecx, ecx
cmp byte [esi + 0xc], cl
mov eax, esi
setne cl
push ecx
push 0x4b4b39
call fcn.0041d510
mov ebx, dword [esp + 0x44]
mov edx, dword [esi]
add esp, 4
push eax
push edx
mov eax, ebx
sub eax, dword [esp + 0x90]
push eax
push str.issisi
push 1
mov eax, ebp
call fcn.00438530
add esp, 0x20
movsx ecx, word [edi + 0x2a]
inc ebx
add esi, 0x10
cmp ebx, ecx
mov dword [esp + 0x34], ebx
jl 0x47f720
jmp 0x480cdd
test esi, esi
je 0x480cdd
mov ecx, dword [esp + 0x1c]
push ecx
push esi
push edi
call fcn.00425f30
mov edi, eax
add esp, 0xc
test edi, edi
je 0x480cdd
mov edx, dword [esp + 0x20]
cmp dword [edx + 8], 0
je 0x47f801
movzx eax, word [edi + 0x34]
mov dword [esp + 0x7c], eax
mov dword [ebx + 0x2c], 6
jmp 0x47f810
movzx ecx, word [edi + 0x32]
mov dword [esp + 0x7c], ecx
mov dword [ebx + 0x2c], 3
mov edx, dword [edi + 0xc]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x54], edx
mov edx, ebx
call fcn.0046e8b0
xor esi, esi
cmp dword [esp + 0x7c], esi
jle 0x480cdd
mov edi, edi
mov eax, dword [edi + 4]
movzx eax, word [eax + esi*2]
test ax, ax
jge 0x47f840
xor ecx, ecx
jmp 0x47f850
mov edx, dword [esp + 0x54]
mov edx, dword [edx + 4]
movsx ecx, ax
shl ecx, 4
mov ecx, dword [ecx + edx]
push ecx
cwde
push eax
push esi
push str.iisX
push 1
mov eax, ebp
call fcn.00438530
mov ecx, dword [esp + 0x34]
add esp, 0x14
cmp dword [ecx + 8], 0
je 0x47f89b
movzx edx, word [edi + 0x32]
mov ecx, dword [edi + 0x20]
xor eax, eax
cmp esi, edx
mov edx, dword [ecx + esi*4]
setl al
push eax
mov eax, dword [edi + 0x1c]
movzx ecx, byte [eax + esi]
push edx
push ecx
push str.isiX
push 4
mov eax, ebp
call fcn.00438530
add esp, 0x14
mov edx, dword [ebx + 0x2c]
push 0
push edx
push 1
push 0x4e
push ebp
call fcn.00432e70
inc esi
add esp, 0x14
cmp esi, dword [esp + 0x7c]
jl 0x47f830
jmp 0x480cdd
test esi, esi
je 0x480cdd
mov eax, dword [esp + 0x1c]
push eax
push esi
push edi
call fcn.0042f9b0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x480cdd
mov ecx, dword [esp + 0x14]
mov edx, ebx
mov dword [ebx + 0x2c], 5
call fcn.0046e8b0
mov esi, dword [esi + 8]
xor edi, edi
test esi, esi
je 0x480cdd
mov dword [esp + 0x5c], 0x4be560
mov dword [esp + 0x60], 0x4be55c
mov dword [esp + 0x64], 0x4b67d8
mov edx, dword [esi + 0x38]
xor ecx, ecx
cmp dword [esi + 0x24], ecx
setne cl
and edx, 3
mov eax, dword [esp + edx*4 + 0x5c]
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.00438530
mov esi, dword [esi + 0x14]
add esp, 0x1c
inc edi
test esi, esi
jne 0x47f916
jmp 0x480cdd
xor esi, esi
mov dword [ebx + 0x2c], 3
cmp dword [edi + 0x14], esi
jle 0x480cdd
xor ebx, ebx
lea esp, [esp]
mov eax, dword [edi + 0x10]
lea edx, [ebx + eax]
mov eax, dword [edx + 4]
test eax, eax
je 0x47f998
call fcn.00422460
mov ecx, dword [edx]
push eax
push ecx
push esi
push 0x4be550
push 1
mov eax, ebp
call fcn.00438530
add esp, 0x14
inc esi
add ebx, 0x10
cmp esi, dword [edi + 0x14]
jl 0x47f970
jmp 0x480cdd
mov dword [ebx + 0x2c], 2
mov edi, dword [edi + 0x17c]
xor esi, esi
test edi, edi
je 0x480cdd
lea ecx, [ecx]
mov edx, dword [edi + 8]
mov eax, dword [edx]
push eax
push esi
push 0x4be54c
push 1
mov eax, ebp
call fcn.00438530
mov edi, dword [edi]
add esp, 0x10
inc esi
test edi, edi
jne 0x47f9c0
jmp 0x480cdd
test esi, esi
je 0x480cdd
mov ecx, dword [esp + 0x1c]
push ecx
push esi
push edi
call fcn.0042f9b0
add esp, 0xc
mov dword [esp + 0x40], eax
test eax, eax
je 0x480cdd
mov edx, eax
mov edi, dword [edx + 0x10]
test edi, edi
je 0x480cdd
mov ecx, dword [esp + 0x14]
mov edx, ebx
mov dword [esp + 0x7c], 0
mov dword [ebx + 0x2c], 8
call fcn.0046e8b0
mov edi, edi
xor ebx, ebx
cmp dword [edi + 0x14], ebx
jle 0x47fa92
lea esi, [edi + 0x24]
lea ebx, [ebx]
mov al, byte [edi + 0x19]
push str.NONE
call fcn.004271a0
push eax
mov al, byte [edi + 0x1a]
call fcn.004271a0
mov ecx, dword [esi]
mov edx, dword [esp + 0x48]
push eax
mov eax, dword [esi + 4]
push eax
mov eax, dword [edx + 4]
mov edx, dword [edi + 8]
shl ecx, 4
mov ecx, dword [ecx + eax]
mov eax, dword [esp + 0x8c]
push ecx
push edx
push ebx
push eax
push str.iissssss
push 1
mov eax, ebp
call fcn.00438530
inc ebx
add esp, 0x28
add esi, 8
cmp ebx, dword [edi + 0x14]
jl 0x47fa40
mov edi, dword [edi + 4]
inc dword [esp + 0x7c]
test edi, edi
jne 0x47fa30
jmp 0x480cdd
mov eax, dword [ebx + 0x2c]
lea ecx, [eax + 1]
add eax, 5
mov dword [esp + 0x2c], eax
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x14]
inc eax
mov edx, ebx
mov dword [ebx + 0x2c], eax
call fcn.0046e8b0
mov eax, dword [esp + 0x54]
mov edx, dword [edi + 0x10]
mov ecx, dword [eax + edx + 0xc]
mov eax, dword [ecx + 0x10]
test eax, eax
je 0x480cdd
test esi, esi
je 0x47faf3
mov edx, dword [esp + 0x1c]
push edx
push esi
push 0
push ebx
call fcn.00453fd0
add esp, 0x10
mov edi, eax
xor eax, eax
jmp 0x47faf8
mov edi, dword [eax + 8]
mov eax, dword [eax]
mov dword [esp + 0x44], eax
mov dword [esp + 0x30], edi
test edi, edi
je 0x47fe16
cmp dword [edi + 0x10], 0
je 0x47fe16
mov eax, dword [edi]
mov ecx, dword [edi + 0x1c]
mov edx, dword [esp + 0x14]
push eax
push 0
push ecx
push edx
mov eax, ebx
call fcn.00434ac0
movsx ecx, word [edi + 0x2a]
mov eax, dword [esp + 0x3c]
inc eax
add eax, ecx
add esp, 0x10
cmp eax, dword [ebx + 0x2c]
jle 0x47fb3d
mov dword [ebx + 0x2c], eax
mov edx, dword [esp + 0x14]
push 0x6a
push edx
push 0
mov eax, edi
mov ecx, ebx
call fcn.0045c060
mov eax, dword [edi]
push eax
mov eax, dword [esp + 0x4c]
mov esi, ebp
call fcn.004384d0
mov esi, dword [edi + 0x10]
add esp, 0x10
mov dword [esp + 0x18], 1
test esi, esi
je 0x47fc18
mov ecx, dword [esp + 0x1c]
mov edx, dword [esi + 8]
mov eax, dword [esp + 0x10]
push ecx
push edx
push eax
call fcn.0042f9b0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x47fc09
mov ecx, dword [edi]
mov edx, dword [edi + 0x1c]
mov eax, dword [esp + 0x14]
push ecx
push 0
push edx
push eax
mov eax, ebx
mov dword [esp + 0x30], 0
call fcn.00434ac0
push 0
lea ecx, [esp + 0x34]
push ecx
push esi
push edi
push ebx
call fcn.00445790
add esp, 0x24
test eax, eax
jne 0x480cdd
cmp dword [esp + 0x20], 0
mov eax, dword [esp + 0x18]
jne 0x47fbe7
mov edx, dword [esp + 0x14]
push 0x6a
push edx
push eax
mov eax, edi
mov ecx, ebx
call fcn.0045c060
add esp, 0xc
jmp 0x47fc09
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x20]
mov edx, dword [edi + 0x2c]
push ecx
push edx
push eax
push 0x6a
push ebp
call fcn.00432e70
add esp, 0x14
mov ecx, edi
mov eax, ebx
call fcn.0045afc0
mov esi, dword [esi + 4]
inc dword [esp + 0x18]
test esi, esi
jne 0x47fb73
mov eax, dword [esp + 0x18]
cmp dword [ebx + 0x28], eax
jge 0x47fc24
mov dword [ebx + 0x28], eax
push 0
push 0
push 0
push 0x25
push ebp
call fcn.00432e70
mov ecx, dword [esp + 0x44]
mov ebx, dword [ecx + 0x10]
add esp, 0x14
mov dword [esp + 0x50], eax
mov dword [esp + 0x18], 1
test ebx, ebx
je 0x47fdea
mov edx, dword [esp + 0x1c]
mov eax, dword [ebx + 8]
mov ecx, dword [esp + 0x10]
push edx
push eax
push ecx
call fcn.0042f9b0
xor esi, esi
add esp, 0xc
mov dword [esp + 0x54], eax
mov dword [esp + 0x20], esi
mov dword [esp + 0x40], esi
cmp eax, esi
je 0x47fc94
lea edx, [esp + 0x40]
push edx
mov edx, dword [esp + 0x80]
lea ecx, [esp + 0x24]
push ecx
push ebx
push eax
push edx
call fcn.00445790
add esp, 0x14
mov eax, ebp
call fcn.004330b0
cmp dword [ebx + 0x14], esi
mov dword [esp + 0x34], eax
jle 0x47fcef
mov edi, dword [esp + 0x2c]
lea eax, [ebx + 0x24]
inc edi
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x40]
test eax, eax
je 0x47fcbd
mov eax, dword [eax + esi*4]
jmp 0x47fcc3
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx]
mov ecx, dword [esp + 0x30]
push edi
push 0
push ebp
call fcn.00453450
mov edx, dword [esp + 0x40]
push 0
push edx
push edi
push 0x32
push ebp
call fcn.00432e70
add dword [esp + 0x58], 8
inc esi
add esp, 0x20
inc edi
cmp esi, dword [ebx + 0x14]
jl 0x47fcb0
cmp dword [esp + 0x20], 0
je 0x47fd39
mov eax, dword [ebx + 0x14]
mov esi, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x14]
call fcn.004356c0
push eax
mov eax, dword [esp + 0x34]
lea ecx, [eax + 1]
push ecx
mov ecx, dword [ebx + 0x14]
push 0x65
mov edi, ebp
call fcn.00432f00
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x3c]
push 0
push ecx
mov ecx, dword [esp + 0x4c]
push 0x1e
mov esi, ebp
call fcn.00433040
add esp, 0x1c
jmp 0x47fd71
cmp dword [esp + 0x54], 0
je 0x47fd71
mov eax, dword [esp + 0x2c]
mov edx, dword [ebp + 0x88]
inc eax
push eax
mov eax, dword [esp + 0x1c]
add edx, 2
push edx
push eax
push 0x1f
push ebp
call fcn.00432e70
mov ecx, dword [esp + 0x48]
push 0
push ecx
push 0
push 0xd
push ebp
call fcn.00432e70
add esp, 0x28
mov esi, dword [esp + 0x3c]
mov edx, dword [esp + 0x30]
test byte [edx + 0x24], 0x20
push 0
lea eax, [esi + 1]
push eax
push 0
jne 0x47fd8b
push 0x7d
jmp 0x47fd8d
push 0x46
push ebp
call fcn.00432e70
mov edi, dword [esp + 0x2c]
mov ecx, dword [ebx + 8]
add esp, 0x14
lea eax, [edi - 1]
push eax
push ecx
lea eax, [esi + 2]
push 0x4be534
push eax
mov eax, ebp
call fcn.00438530
push 0
push 4
push esi
push 0x4e
push ebp
call fcn.00432e70
mov edx, dword [esp + 0x58]
add esp, 0x24
mov ecx, ebp
call fcn.00422da0
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x10]
call fcn.0041d1d0
mov ebx, dword [ebx + 4]
inc edi
mov dword [esp + 0x18], edi
test ebx, ebx
jne 0x47fc50
mov esi, dword [esp + 0x50]
push 0
lea edx, [esi + 1]
push edx
push 0
push 7
push ebp
call fcn.00432e70
add esp, 0x14
mov eax, esi
mov edx, ebp
call fcn.0042db20
mov eax, dword [esp + 0x44]
mov ebx, dword [esp + 0x7c]
mov esi, dword [esp + 0x24]
test eax, eax
jne 0x47fad8
jmp 0x480cdd
test esi, esi
je 0x480cdd
mov eax, dword [esp + 0x24]
push 0
push 1
push eax
call fcn.004305d0
mov esi, dword [esp + 0x1c]
xor ecx, ecx
test al, al
setne cl
push ecx
call fcn.0045bfa0
add esp, 0x10
jmp 0x480cdd
mov edx, dword [esp + 0x28]
movzx eax, byte [edx]
mov edx, dword [esp + 0x84]
xor ecx, ecx
cmp byte [eax + 0x4b7760], 0x71
sete cl
cmp dword [edx], 0
mov dword [esp + 0x50], ecx
jne 0x47fe7d
mov dword [esp + 0x14], 0xffffffff
mov dword [ebx + 0x2c], 6
mov ebx, 0x64
mov dword [esp + 0x1c], ebx
test esi, esi
je 0x47feaa
lea eax, [esp + 0x1c]
push eax
push esi
call fcn.0042ab00
add esp, 8
cmp dword [esp + 0x1c], 0
jg 0x47feaa
mov dword [esp + 0x1c], ebx
mov ecx, dword [esp + 0x1c]
push 0
push 1
dec ecx
push ecx
push 0x43
push ebp
call fcn.00432e70
xor esi, esi
add esp, 0x14
cmp dword [edi + 0x14], esi
mov dword [esp + 0x18], esi
jle 0x4807c7
mov edi, edi
mov eax, dword [esp + 0x14]
xor ebx, ebx
test eax, eax
jl 0x47fee2
cmp esi, eax
jne 0x4807b5
mov edx, dword [esp + 0x7c]
mov ecx, esi
call fcn.0046e8b0
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x10]
shl esi, 4
mov dword [esp + 0x4c], esi
mov esi, dword [eax + esi + 0xc]
mov edi, dword [esi + 0x10]
add esi, 8
xor edx, edx
mov dword [esp + 0x48], esi
test edi, edi
je 0x47ff38
nop
mov eax, dword [edi + 8]
test byte [eax + 0x24], 0x20
jne 0x47ff1a
inc edx
mov eax, dword [eax + 8]
xor ecx, ecx
test eax, eax
je 0x47ff2c
mov eax, dword [eax + 0x14]
inc edx
inc ecx
test eax, eax
jne 0x47ff23
cmp ecx, ebx
jle 0x47ff32
mov ebx, ecx
mov edi, dword [edi]
test edi, edi
jne 0x47ff10
mov eax, dword [esp + 0x10]
lea ecx, [edx*4 + 4]
push 0
push ecx
call fcn.0042a500
add esp, 8
test eax, eax
je 0x4807c7
mov edi, dword [esi + 8]
xor ecx, ecx
test edi, edi
je 0x47ff8b
nop
mov edx, dword [edi + 8]
test byte [edx + 0x24], 0x20
jne 0x47ff70
mov esi, dword [edx + 0x1c]
inc ecx
mov dword [eax + ecx*4], esi
mov edx, dword [edx + 8]
test edx, edx
je 0x47ff85
mov esi, dword [edx + 0x2c]
inc ecx
mov dword [eax + ecx*4], esi
mov edx, dword [edx + 0x14]
test edx, edx
jne 0x47ff77
mov edi, dword [edi]
test edi, edi
jne 0x47ff60
mov edx, dword [esp + 0x7c]
mov dword [eax], ecx
mov edi, dword [edx + 0x2c]
add ebx, 8
cmp edi, ebx
jg 0x47ff9d
mov edi, ebx
push 0xfffffffffffffff1
push eax
mov dword [edx + 0x2c], edi
push 2
push 0x90
mov eax, 1
mov edi, ebp
mov byte [edx + 0x13], 0
mov dword [edx + 0x1c], 0
call fcn.00432f00
movzx dx, byte [esp + 0x28]
mov ecx, ebp
call fcn.00422dc0
push 0
push 0
push 2
push 0x32
push ebp
call fcn.00432e70
mov edi, dword [esp + 0x34]
mov edx, dword [edi + 0x10]
add esp, 0x24
mov ebx, eax
mov eax, dword [esp + 0x4c]
mov ecx, dword [edx + eax]
push 0xfffffffffffffff9
push ecx
push str._in_database__s__n
call fcn.0043dfc0
add esp, 8
push eax
xor eax, eax
push 0
push 0x63
lea ecx, [eax + 3]
mov edi, ebp
call fcn.00432f00
push 3
push 3
push 2
push 0x5e
push ebp
call fcn.00432e70
add esp, 0x24
mov esi, ebp
call fcn.004359f0
mov eax, ebx
mov edx, ebp
call fcn.0042db20
mov edx, dword [esp + 0x48]
mov eax, dword [edx + 8]
mov dword [esp + 0x38], eax
test eax, eax
je 0x4807b1
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 8]
cmp dword [eax + 0x1c], 1
mov dword [esp + 0x2c], eax
mov dword [esp + 0x4c], 0
mov dword [esp + 0x30], 0xffffffff
jl 0x48079f
mov ebx, eax
test byte [ebx + 0x24], 0x20
jne 0x48007b
mov dword [esp + 0x3c], 0
jmp 0x480086
mov eax, ebx
call fcn.00426100
mov dword [esp + 0x3c], eax
mov edi, dword [esp + 0x7c]
mov eax, edi
call fcn.00425a70
lea ecx, [esp + 0x54]
push ecx
lea edx, [esp + 0x24]
push edx
push 0
push 1
push 0
push 0x6a
push ebx
push edi
call fcn.0045c420
push 0
push 7
push 0
push 0x43
push ebp
call fcn.00432e70
mov esi, dword [ebx + 8]
add esp, 0x34
test esi, esi
je 0x4800ef
mov dword [esp + 0x40], 8
lea ebx, [ebx]
mov eax, dword [esp + 0x40]
push 0
push eax
push 0
push 0x43
push ebp
call fcn.00432e70
mov esi, dword [esi + 0x14]
inc dword [esp + 0x54]
add esp, 0x14
test esi, esi
jne 0x4800d0
mov ecx, dword [esp + 0x20]
push 0
push 0
push ecx
push 0x25
push ebp
call fcn.00432e70
push 0
push 1
push 7
push 0x50
push ebp
call fcn.00432e70
mov dword [esp + 0x84], eax
xor eax, eax
xor edx, edx
add esp, 0x28
cmp dx, word [ebx + 0x2a]
mov dword [esp + 0x40], eax
jge 0x4801dd
mov dword [esp + 0x34], edx
mov edi, edi
movsx ecx, word [ebx + 0x28]
cmp eax, ecx
je 0x4801c7
mov edx, dword [ebx + 4]
mov ecx, dword [esp + 0x34]
cmp byte [ecx + edx + 0xc], 0
je 0x4801c7
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x40]
push 3
push edx
push ebp
mov ecx, ebx
call fcn.00453450
mov edx, 0x80
mov ecx, ebp
call fcn.00422dc0
push 0
push 0
push 3
push 0x33
push ebp
call fcn.00432e70
mov ecx, dword [esp + 0x54]
mov edi, dword [esp + 0x30]
mov dword [esp + 0x68], eax
mov eax, dword [ebx + 4]
mov edx, dword [ecx + eax]
mov eax, dword [ebx]
push edx
push eax
push str.NULL_value_in__s._s
call fcn.0043dfc0
push 0xfffffffffffffff9
push eax
xor eax, eax
push 0
push 0x63
lea ecx, [eax + 3]
mov edi, ebp
call fcn.00432f00
add esp, 0x3c
mov esi, ebp
call fcn.004359f0
mov eax, dword [esp + 0x48]
mov edx, ebp
call fcn.0042db20
mov edi, dword [esp + 0x7c]
mov eax, dword [esp + 0x40]
movsx ecx, word [ebx + 0x2a]
add dword [esp + 0x34], 0x10
inc eax
cmp eax, ecx
mov dword [esp + 0x40], eax
jl 0x480130
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x48033b
mov esi, dword [esp + 0x10]
test dword [esi + 0x1c], 0x200
jne 0x48033b
push 0
push eax
push esi
call fcn.00434330
add esp, 0xc
cmp byte [esi + 0x49], 0
mov dword [esp + 0x34], eax
jne 0x480329
mov eax, ebp
call fcn.004330b0
mov dword [esp + 0x44], eax
mov eax, ebp
call fcn.004330b0
mov edx, dword [esp + 0x20]
inc dword [edi + 0x3c]
inc edx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x34]
mov dword [edi + 0x38], edx
mov esi, dword [eax]
dec esi
test esi, esi
jle 0x480271
lea ecx, [esi + esi*2]
mov edx, eax
lea eax, [edx + ecx*8 + 4]
mov dword [esp + 0x40], eax
lea esp, [esp]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
mov eax, dword [edx]
push 0
push ecx
push eax
push edi
call fcn.0047e890
sub dword [esp + 0x50], 0x18
dec esi
add esp, 0x10
test esi, esi
jg 0x480250
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 4]
push 0x10
push ecx
push eax
push edi
call fcn.0047e550
mov edx, dword [esp + 0x54]
mov ecx, ebp
call fcn.00422da0
mov dword [edi + 0x38], 0
mov ecx, dword [ebx]
mov edi, dword [esp + 0x20]
push ecx
push str.CHECK_constraint_failed_in__s
call fcn.0043dfc0
push 0
push 3
push 0
push 0x63
push ebp
mov esi, eax
call fcn.00432e70
mov ecx, dword [ebp]
add esp, 0x2c
cmp byte [ecx + 0x49], 0
je 0x4802d3
push 0xfffffffffffffff9
mov eax, esi
call fcn.0042db50
add esp, 4
jmp 0x48030a
test eax, eax
jge 0x4802de
mov eax, dword [ebp + 0x88]
dec eax
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0x58]
cmp byte [eax + edx*4 + 1], 0
lea ecx, [eax + edx*4]
je 0x4802ff
push esi
push ebp
mov eax, 0xfffffff9
call fcn.0042dcb0
add esp, 8
jmp 0x48030a
test esi, esi
je 0x48030a
mov dword [ecx + 0x10], esi
mov byte [ecx + 1], 0xf9
mov esi, ebp
call fcn.004359f0
mov edx, dword [esp + 0x48]
mov ecx, ebp
call fcn.00422da0
mov esi, dword [esp + 0x7c]
call fcn.00425a30
mov eax, dword [esp + 0x34]
test eax, eax
je 0x48033b
mov ecx, dword [esp + 0x10]
push eax
push ecx
call fcn.0042f4d0
add esp, 8
cmp dword [esp + 0x50], 0
jne 0x48064a
mov edx, dword [esp + 0x2c]
movsx eax, word [edx + 0x2a]
mov ecx, dword [esp + 0x20]
push 3
dec eax
push eax
push ecx
push 0x62
push ebp
call fcn.00432e70
mov eax, dword [ebp + 0x88]
add esp, 0x14
test eax, eax
jle 0x48037c
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0x58]
mov ecx, 0x80
mov word [eax + edx*4 - 0x12], cx
mov edx, dword [esp + 0x2c]
mov ebx, dword [edx + 8]
test ebx, ebx
je 0x48064a
mov esi, dword [esp + 0x54]
mov eax, 8
sub eax, esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x48], eax
mov edi, edi
mov eax, ebp
call fcn.004330b0
mov dword [esp + 0x44], eax
cmp dword [esp + 0x3c], ebx
je 0x480636
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x4c]
mov edi, dword [esp + 0x7c]
push eax
mov eax, dword [esp + 0x24]
push ecx
lea edx, [esp + 0x60]
push edx
push 0
push 0
push eax
push ebx
call fcn.0045bc60
mov ecx, dword [esp + 0x64]
push 0
push 1
add ecx, esi
push ecx
mov edi, eax
push 0x50
push ebp
mov dword [esp + 0x60], edi
mov dword [esp + 0x7c], ebx
call fcn.00432e70
mov eax, dword [esp + 0x74]
movzx edx, word [ebx + 0x34]
push edi
push eax
push esi
push 0x1e
push ebp
mov dword [esp + 0x84], edx
call fcn.00432e70
mov ecx, dword [ebp]
add esp, 0x44
cmp byte [ecx + 0x49], 0
mov edi, eax
jne 0x480430
mov eax, dword [ebp + 0x58]
mov ecx, dword [esp + 0x40]
lea edx, [edi + edi*4]
lea eax, [eax + edx*4]
mov byte [eax + 1], 0xfd
mov dword [eax + 0x10], ecx
push str.row
mov eax, 3
mov esi, ebp
call fcn.004384d0
push 3
push 3
push 7
push 0x5e
push ebp
call fcn.00432e70
push str._missing_from_index
mov eax, 4
call fcn.004384d0
push 3
push 3
push 4
push 0x5e
push ebp
call fcn.00432e70
mov edx, dword [ebx]
push edx
mov eax, 4
call fcn.004384d0
push 3
push 3
push 4
push 0x5e
push ebp
mov dword [esp + 0x8c], eax
call fcn.00432e70
add esp, 0x48
call fcn.004359f0
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 0x88]
test edi, edi
jge 0x4804a7
lea edi, [eax - 1]
mov ecx, dword [ebp]
cmp byte [ecx + 0x49], 0
je 0x4804b7
mov ecx, 0x4d3a28
jmp 0x4804c0
mov ecx, dword [ebp + 0x58]
lea edx, [edi + edi*4]
lea ecx, [ecx + edx*4]
mov dword [ecx + 8], eax
cmp byte [ebx + 0x36], 0
je 0x4805da
mov eax, ebp
call fcn.004330b0
xor edx, edx
xor esi, esi
mov edi, eax
cmp dx, word [ebx + 0x32]
jae 0x48051b
mov eax, dword [ebx + 4]
movsx eax, word [eax + esi*2]
test eax, eax
jl 0x4804fc
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx + 4]
shl eax, 4
cmp byte [eax + edx + 0xc], 0
jne 0x480512
mov eax, dword [esp + 0x30]
push 0
push edi
lea ecx, [esi + eax]
push ecx
push 0x32
push ebp
call fcn.00432e70
add esp, 0x14
movzx edx, word [ebx + 0x32]
inc esi
cmp esi, edx
jl 0x4804e0
mov eax, dword [esp + 0x34]
push 0
push 0
push eax
push 7
push ebp
call fcn.00432e70
push 0
push edi
push 0
push 0xd
push ebp
mov esi, eax
call fcn.00432e70
mov eax, dword [ebp + 0x88]
add esp, 0x28
test esi, esi
jge 0x48054b
lea esi, [eax - 1]
mov ecx, dword [ebp]
cmp byte [ecx + 0x49], 0
je 0x48055b
mov ecx, 0x4d3a28
jmp 0x480564
mov ecx, dword [ebp + 0x58]
lea edx, [esi + esi*4]
lea ecx, [ecx + edx*4]
mov edx, dword [esp + 0x30]
push edx
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x38]
movzx esi, word [ebx + 0x32]
push edi
push eax
push 0x27
push ebp
call fcn.00432e70
mov ecx, dword [ebp]
add esp, 0x14
cmp byte [ecx + 0x49], 0
jne 0x48059a
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0x58]
lea eax, [eax + edx*4]
mov byte [eax + 1], 0xfd
mov dword [eax + 0x10], esi
push str.non_unique_entry_in_index
mov eax, 3
mov esi, ebp
call fcn.004384d0
mov ecx, dword [esp + 0x48]
push 0
push ecx
push 0
push 0xd
push ebp
call fcn.00432e70
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x48]
add esp, 0x18
test eax, eax
je 0x4805da
mov ecx, dword [ebp + 0x88]
lea edx, [edi*4 + 4]
sub eax, edx
mov dword [eax], ecx
mov eax, dword [esp + 0x40]
mov ecx, dword [ebp + 0x88]
test eax, eax
jge 0x4805eb
lea eax, [ecx - 1]
mov edx, dword [ebp]
cmp byte [edx + 0x49], 0
je 0x4805fb
mov eax, 0x4d3a28
jmp 0x480604
mov edx, dword [ebp + 0x58]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x58]
mov dword [eax + 8], ecx
test edx, edx
je 0x480636
mov esi, dword [esp + 0x7c]
mov ecx, dword [esi + 8]
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + 0x48]
test eax, eax
je 0x480631
mov ecx, dword [ecx + 0x88]
lea edx, [edx*4 + 4]
sub eax, edx
mov dword [eax], ecx
call fcn.00425a30
mov esi, dword [esp + 0x34]
mov ebx, dword [ebx + 0x14]
inc esi
mov dword [esp + 0x34], esi
test ebx, ebx
jne 0x4803a0
mov esi, dword [esp + 0x5c]
mov edx, dword [esp + 0x20]
push 0
push esi
push edx
push 7
push ebp
call fcn.00432e70
mov ecx, dword [ebp + 0x88]
lea eax, [esi - 1]
add esp, 0x14
test eax, eax
jge 0x480671
lea eax, [ecx - 1]
mov edx, dword [ebp]
cmp byte [edx + 0x49], 0
je 0x480681
mov eax, 0x4d3a28
jmp 0x48068a
mov edx, dword [ebp + 0x58]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
cmp dword [esp + 0x50], 0
mov dword [eax + 8], ecx
jne 0x48079f
push str.wrong__of_entries_in_index
mov eax, 2
mov esi, ebp
call fcn.004384d0
mov eax, dword [esp + 0x30]
mov ebx, dword [eax + 8]
add esp, 4
test ebx, ebx
je 0x48079f
mov dword [esp + 0x40], 8
cmp dword [esp + 0x3c], ebx
je 0x480790
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0x40]
push 0
push 3
lea edx, [ecx + esi - 8]
push edx
push 0x66
push ebp
call fcn.00432e70
push 3
push 0
push esi
push 0x35
push ebp
call fcn.00432e70
mov edi, eax
mov eax, dword [ebp + 0x88]
add esp, 0x28
test eax, eax
jle 0x480712
mov ecx, dword [ebp + 0x58]
lea eax, [eax + eax*4]
mov edx, 0x90
mov word [ecx + eax*4 - 0x12], dx
mov eax, dword [ebx]
push eax
mov eax, 4
mov esi, ebp
call fcn.004384d0
push 3
push 2
push 4
push 0x5e
push ebp
call fcn.00432e70
push 0
push 1
push 3
push 0x4e
push ebp
call fcn.00432e70
mov ecx, dword [ebp + 0x88]
push 1
add ecx, 2
push ecx
push 1
push 0x30
push ebp
call fcn.00432e70
add esp, 0x40
push 0
push 0
push 0
push 0x42
push ebp
call fcn.00432e70
mov eax, dword [ebp + 0x88]
add esp, 0x14
test edi, edi
jge 0x480774
lea edi, [eax - 1]
mov edx, dword [ebp]
cmp byte [edx + 0x49], 0
je 0x480784
mov ecx, 0x4d3a28
jmp 0x48078d
mov edx, dword [ebp + 0x58]
lea ecx, [edi + edi*4]
lea ecx, [edx + ecx*4]
mov dword [ecx + 8], eax
mov ebx, dword [ebx + 0x14]
inc dword [esp + 0x40]
test ebx, ebx
jne 0x4806c3
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
mov dword [esp + 0x38], eax
test eax, eax
jne 0x480044
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
inc esi
cmp esi, dword [ecx + 0x14]
mov dword [esp + 0x18], esi
jl 0x47fed0
push 7
mov eax, 0x4b8b28
mov edi, ebp
call fcn.00433100
add esp, 4
test eax, eax
je 0x48080b
mov edx, 1
sub edx, dword [esp + 0x1c]
mov byte [eax + 0x29], 0xff
mov dword [eax + 8], edx
mov dword [eax + 0x38], 0x4be488
mov byte [eax + 0x65], 0xff
mov edx, dword [str.database_disk_image_is_malformed]
mov ecx, str.unknown_error
test edx, edx
je 0x480808
mov ecx, edx
mov dword [eax + 0x74], ecx
mov ecx, dword [ebp]
cmp byte [ecx + 0x49], 0
mov eax, dword [ebp + 0x88]
je 0x48082a
mov ebp, 0x4d3a28
add eax, 0xfffffffe
mov dword [ebp + 0xc], eax
jmp 0x480cdd
mov ebp, dword [ebp + 0x58]
add eax, 0xfffffffe
mov dword [ebp + 0xc], eax
jmp 0x480cdd
test esi, esi
jne 0x480864
mov edi, ebx
call fcn.004272e0
test eax, eax
jne 0x480cdd
mov edx, dword [ebx]
movzx eax, byte [edx + 0x46]
mov eax, dword [eax*8 + 0x4b8b50]
mov ecx, ebp
call fcn.00439890
jmp 0x480cdd
mov eax, dword [edi + 0x10]
mov ecx, dword [eax + 0xc]
movzx eax, word [ecx + 0x4e]
test al, 1
je 0x48087a
test al, 4
je 0x480cdd
mov eax, dword [str.UTF8]
mov ebp, 0x4b8b50
test eax, eax
je 0x4808c4
mov ecx, esi
call fcn.0041d5c0
test eax, eax
je 0x48089f
mov eax, dword [ebp + 8]
add ebp, 8
test eax, eax
jne 0x480888
jmp 0x4808c4
mov al, byte [ebp + 4]
test al, al
movzx eax, al
jne 0x4808ae
mov eax, 2
mov edx, dword [edi + 0x10]
mov byte [edi + 0x46], al
mov ecx, dword [edx + 0xc]
mov byte [ecx + 0x4d], al
cmp dword [ebp], 0
jne 0x480cdd
mov edx, dword [esp + 0x24]
push edx
push str.unsupported_encoding:__s
mov esi, ebx
call fcn.0043e2f0
jmp 0x480cda
mov edi, dword [esp + 0x20]
mov eax, dword [edi + 8]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x7c], eax
mov ecx, ebx
mov eax, ebp
call fcn.00422f70
test esi, esi
je 0x48092e
test byte [edi + 5], 8
jne 0x48092e
push 2
mov eax, 0x4b8b98
mov edi, ebp
call fcn.00433100
mov ecx, dword [esp + 0x80]
mov edi, eax
mov dword [edi + 0x1c], ecx
add esp, 4
mov ecx, esi
mov dword [edi + 4], ebx
mov dword [edi + 0x18], ebx
call fcn.0042ac80
mov dword [edi + 0x20], eax
jmp 0x480cdd
push 3
mov eax, 0x4b8b44
mov edi, ebp
call fcn.00433100
mov edx, dword [esp + 0x80]
add esp, 4
mov dword [eax + 4], ebx
mov dword [eax + 0x18], ebx
mov dword [eax + 0x20], edx
and dword [ebp + 0x94], 0xffffffdf
jmp 0x480cdd
xor edi, edi
push edi
mov dword [ebx + 0x2c], 1
call fcn.00429f80
add esp, 4
test eax, eax
je 0x48099a
push eax
mov eax, 1
mov esi, ebp
inc edi
call fcn.004384d0
push 0
push 1
push 1
push 0x4e
push ebp
call fcn.00432e70
push edi
call fcn.00429f80
add esp, 0x1c
test eax, eax
jne 0x480971
and dword [ebp + 0x94], 0xffffffdf
jmp 0x480cdd
mov eax, dword [esp + 0x84]
cmp dword [eax], 0
je 0x4809bc
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x7c], ecx
jmp 0x4809c4
mov dword [esp + 0x7c], 0xa
xor edi, edi
test esi, esi
je 0x480a09
mov eax, str.full
mov ecx, esi
call fcn.0041d5c0
test eax, eax
jne 0x4809df
lea edi, [eax + 1]
jmp 0x480a09
mov eax, str.restart
mov ecx, esi
call fcn.0041d5c0
test eax, eax
jne 0x4809f4
lea edi, [eax + 2]
jmp 0x480a09
mov eax, str.truncate
mov ecx, esi
call fcn.0041d5c0
test eax, eax
jne 0x480a09
mov edi, 3
mov edx, dword [esp + 0x7c]
push 1
push edi
push edx
push 8
push ebp
mov dword [ebx + 0x2c], 3
call fcn.00432e70
push 0
push 3
push 1
push 0x4e
push ebp
call fcn.00432e70
add esp, 0x28
jmp 0x480cdd
test esi, esi
je 0x480a4b
mov ecx, esi
call fcn.0042ac80
push eax
push edi
call fcn.0046cc90
add esp, 8
cmp dword [edi + 0xe8], 0x46cc50
jne 0x47eec8
mov eax, dword [edi + 0xec]
jmp 0x480cd0
push edi
call fcn.00431970
add esp, 4
jmp 0x480cdd
test esi, esi
je 0x480a8d
mov ecx, esi
call fcn.0042ac80
mov dword [esp + 0x40], eax
test al, 2
je 0x480cdd
jmp 0x480a95
mov dword [esp + 0x40], 0xfffe
mov eax, dword [ebx + 0x28]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x50], eax
inc eax
cmp dword [esp + 0x1c], 0
mov dword [ebx + 0x28], eax
je 0x480ab1
mov dword [esp + 0x4c], esi
jmp 0x480ac1
mov eax, dword [edi + 0x14]
dec eax
cmp esi, eax
mov dword [esp + 0x4c], eax
jg 0x480c0a
mov eax, dword [esp + 0x54]
mov dword [esp + 0x7c], eax
lea esp, [esp]
cmp esi, 1
je 0x480bf6
mov ecx, esi
mov edx, ebx
call fcn.0046e8b0
mov ecx, dword [edi + 0x10]
mov edx, dword [esp + 0x7c]
mov eax, dword [edx + ecx + 0xc]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x3c], eax
test eax, eax
je 0x480bf6
lea esp, [esp]
mov edi, dword [eax + 8]
test dword [edi + 0x24], 0x100
je 0x480be0
mov cx, word [edi + 0x2c]
mov eax, dword [edi + 8]
add cx, 0x2e
movzx esi, cx
test eax, eax
je 0x480b2f
test byte [eax + 0x38], 0x80
je 0x480b6f
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x480b22
test si, si
je 0x480b6f
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x50]
push 0x6a
push edx
push eax
mov eax, edi
mov ecx, ebx
call fcn.0045c060
mov edx, dword [esp + 0x4c]
mov eax, dword [ebp + 0x88]
movsx ecx, si
push ecx
and edx, 1
lea ecx, [edx + eax + 2]
mov edx, dword [esp + 0x60]
push ecx
push edx
push 0x22
push ebp
call fcn.00432e70
add esp, 0x20
mov eax, dword [edi]
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x10]
mov edx, dword [esp + 0x7c]
push eax
mov eax, dword [edx + ecx]
push eax
push str.ANALYZE___w_.__w_
call fcn.0043dfc0
add esp, 0xc
test byte [esp + 0x40], 1
mov edx, eax
je 0x480bc4
mov eax, ebx
call fcn.00425d10
push 0xfffffffffffffff9
push edx
mov esi, eax
push 0
push 0x63
xor eax, eax
mov ecx, esi
mov edi, ebp
call fcn.00432f00
push 0
push 1
push esi
push 0x4e
push ebp
call fcn.00432e70
add esp, 0x24
jmp 0x480bdc
push 0xfffffffffffffff9
push edx
push 0
push 0x8a
xor eax, eax
xor ecx, ecx
mov edi, ebp
call fcn.00432f00
add esp, 0x10
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
mov dword [esp + 0x3c], eax
test eax, eax
jne 0x480b00
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
add dword [esp + 0x7c], 0x10
inc esi
cmp esi, dword [esp + 0x4c]
mov dword [esp + 0x14], esi
jle 0x480ad0
push 0
push 0
push 0
push 0x99
push ebp
call fcn.00432e70
add esp, 0x14
jmp 0x480cdd
test esi, esi
je 0x480c4c
lea ecx, [esp + 0x5c]
push ecx
mov edi, esi
call fcn.0042aa00
add esp, 4
test eax, eax
jne 0x480c4c
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x5c]
push edx
push eax
call fcn.00460690
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.00460690
push edx
push eax
mov esi, ebp
call fcn.00435930
add esp, 0x10
jmp 0x480cdd
test esi, esi
je 0x480ca5
lea ecx, [esp + 0x5c]
push ecx
mov edi, esi
call fcn.0042aa00
add esp, 4
test eax, eax
jne 0x480ca5
cmp dword [esp + 0x60], eax
jl 0x480ca5
mov eax, dword [esp + 0x5c]
jg 0x480c8a
test eax, eax
jb 0x480ca5
and eax, 0x7fffffff
jl 0x480ca5
cmp eax, 8
jle 0x480c9b
mov eax, 8
mov edx, dword [esp + 0x10]
mov dword [edx + 0x90], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x90]
jmp 0x480cd0
test esi, esi
je 0x480cc6
mov ecx, esi
call fcn.0042ac80
push eax
push edi
call fcn.00429a00
add esp, 8
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x1b8]
cdq
push edx
push eax
mov esi, ebp
call fcn.00435930
add esp, 8
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
mov ecx, esi
call fcn.0041d1d0
mov eax, dword [esp + 0x24]
mov ecx, esi
call fcn.0041d1d0
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x68
ret